दस्तावेज़
Amazon EC2: मौजूदा रूट वॉल्यूम के आकार का विस्तार कैसे करें
नोट्स:
- 2019 के रूप में, यह अनुशंसा की गई पथ है यदि आप अपनी जड़ की मात्रा के आकार को बढ़ाना चाहते हैं। सर्वश्रेष्ठ अभ्यास प्रारंभिक स्नैपशॉट के लिए अपने सर्वर को रोकना है, लेकिन सख्ती से यह बात करना आवश्यक नहीं है।
- वैकल्पिक रूप से, कृपया देखें विरासत प्रलेखन डेटा को एक नए उदाहरण (एक बड़ी मात्रा के साथ) में स्थानांतरित करने पर। यह अभी भी प्रासंगिक होना चाहिए।
- यह पृष्ठ केवल EBS समर्थित AWS EC2 उदाहरणों के लिए प्रासंगिक है। यदि आपके उदाहरण में "संस्था भंडारण" है, तो यह सुझाव दिया जाता है कि आप इसके बजाय विचार करते हैं अपने उदाहरण भंडारण के लिए फ़ाइलों को स्थानांतरित करना.
* - "इंस्टेंस स्टोरेज" केवल पुराने AWS उदाहरण आकार पर उपलब्ध है। I.e. TurnKey और / या पुराने AWS उदाहरण आकार के पुराने संस्करणों। यदि आपके पास v14.2+ TurnKey सर्वर है तो यह लगभग निश्चित रूप से EBS समर्थित होगा। V13.0 के रूप में वापस संस्करण की संभावना EBS समर्थित भी होगी, लेकिन AWS कंसोल के भीतर डबल चेक सुनिश्चित करने के लिए, या कृपया पोस्ट करने के लिए पोस्ट करें मंच TurnKey संस्करण और AWS इंस्टेंस आकार / प्रकार को चिह्नित करना।
समस्या: रूट फ़ाइलसिस्टम अंतरिक्ष से बाहर चल रहा है
यहाँ समस्या को स्पष्ट करने का एक उदाहरण है। Alon TurnKey Hub के माध्यम से एक माइक्रो सर्वर शुरू करता है। कुछ महीनों के बाद, Alon ने अपने 10GB रूट फाइल सिस्टम पर स्पेस को लगभग रन आउट किया है।
# df -h Filesystem Size Used Avail Use% Mounted on udev 486M 0 486M 0% /dev tmpfs 100M 4.1M 96M 5% /run /dev/xvda2 9.8G 9.8G 19M 100% / tmpfs 498M 0 498M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 498M 0 498M 0% /sys/fs/cgroup
समस्या यह है कि सर्वर की जड़ फ़ाइल सिस्टम में केवल 10GB है।
तो Alon कैसे भंडारण आकार में वृद्धि करता है?
AWS कंसोल का उपयोग करके रूट वॉल्यूम आकार बढ़ाएं
समय समाप्त करने के लिए: 40 मिनट से एक घंटे तक।
ये निर्देश मानते हैं कि आपका सर्वर से चल रहा है TurnKey Hubलेकिन उन्हें भी उपयोग की आवश्यकता होती है AWS कंसोलयदि आप हब (या TurnKey) का उपयोग नहीं कर रहे हैं तो उन्हें अभी भी प्रासंगिक होना चाहिए, हालांकि आप परामर्श करना चाहते हैं। AWS docs AWS कंसोल से कड़ाई से संबंधित अधिक विस्तार के लिए।
जब तक आप सर्वर डाउनटाइम की एक छोटी राशि को बर्दाश्त कर सकते हैं, तब यकीनन इसे हल करने का सबसे अच्छा तरीका है, तो AWS कंसोल के माध्यम से रूट वॉल्यूम को बड़ा करना है। यदि आप किसी भी डाउनटाइम को बर्दाश्त नहीं कर सकते हैं तो यह लाइव हो सकता है, लेकिन मैं तर्क दूँगा कि डाउनटाइम के कुछ मिनट मन के टुकड़े के लायक हैं।
तैयार हो रही है
पहली बात यह है कि बैकअप बनाना है। आप उस उद्देश्य के लिए TKLBAM का उपयोग कर सकते हैं, हालांकि इस मामले में, मैं "snapshot" (साथ ही?) लेने की सलाह दूंगा। यदि आप अंतरिक्ष पर बहुत कम हैं, तो TKLBAM एक विकल्प नहीं हो सकता है। एक स्नैपशॉट आपको वास्तव में वापस पाने की अनुमति देगा जहां आप अभी जल्दी हैं और कम परेशानी के साथ (कोई नया सर्वर शुरू करने की आवश्यकता नहीं है, आदि)।
जबकि आप बैकअप के प्रयोजनों के लिए, चल सर्वरों के स्नैपशॉट ले सकते हैं, अमेज़ॅन अनुशंसा करता है कि आप स्टॉप सर्वरों के स्नैपशॉट ले जाएं। ऐसा इसलिए है क्योंकि एक चल सर्वर का स्नैपशॉट लेते समय डेटा भ्रष्टाचार का एक (बहुत पतला) मौका है। इसलिए जब तक डाउनटाइम कुछ मिनट एक समस्या नहीं हो रही है (और फिर भी), यह उस सलाह का पालन करने के लिए कोई दिमागी नहीं लगता है।
यदि आप सर्वर को रोक रहे हैं, तो हब से सर्वर पेज, अपने सर्वर का चयन करें ताकि पूर्ण जानकारी नीचे उतर जाए और स्टॉप पर क्लिक करें।
एक बार जब आप एक स्नैपशॉट लेने के लिए तैयार हैं, फिर भी हब सर्वर पृष्ठ पर, टेक्स्ट लिंक की तलाश करें जो "x स्नैपशॉट" (जहां 'x') कहलाता है, आपने पहले से ही लिया है स्नैपशॉट की संख्या - यदि आपने पहले कोई नहीं लिया है तो '0' होगा। उस पर क्लिक करें और खुलने वाले पृष्ठ पर "क्रिएट स्नैपशॉट" बटन पर क्लिक करें। प्रारंभ में यह "0%" प्रदर्शित करेगा और एक मिनट या 2 लगेगा। यदि आप कोई प्रगति नहीं देखते हैं, तो पृष्ठ को ताज़ा करने का प्रयास करें। एक बार जब यह पूरा हो गया है, तो आपको एक हरे रंग का सर्कल देखना चाहिए।
TurnKey सर्वर AWS कंसोल में खोजना
हब के सर्वर पृष्ठ पर वापस जाएं (यदि आवश्यक हो तो फिर से अपनी सर्वर जानकारी को नीचे गिरें) देखें कि यह क्षेत्र कहां कहता है और यह ध्यान दें कि क्या है? अब, एक नए ब्राउज़र टैब / विंडो में अपने अमेज़ॅन कंसोल को खोलने के लिए अपना अमेज़न कंसोल खोले EC2 - Instances pageA. AWS कंसोल में, शीर्ष बार पर, शीर्ष दाईं ओर (जहां यह आपका उपयोगकर्ता नाम दिखाता है, और "सपोर्ट") ड्रॉप डाउन पर क्लिक करें और यह सुनिश्चित करें कि क्षेत्र उस से मेल खाता है जो उस क्षेत्र से मेल खाता है जो उस क्षेत्र से मेल खाता है जो उस क्षेत्र से मेल खाता है जो उस क्षेत्र से मेल खाता है जो उस क्षेत्र से मेल खाता है। आपका हब सर्वर (यदि यह पहले से ही करता है, तो उस कदम को छोड़ दें)।
यदि आपके पास केवल एक बंद सर्वर/इंस्टेंस है (या अन्यथा यह सुनिश्चित किया जाता है कि आपको किस सर्वर के साथ काम करने की आवश्यकता है) तो आप इस अगले कदम को छोड़ सकते हैं। हालांकि, यदि आपके पास 2 या अधिक उदाहरण हैं, तो पूरी तरह से सुनिश्चित करें कि आप सही पर काम कर रहे हैं, मैं "खोज" करने की सलाह देता हूं।
ऐसा करने के लिए, हब के सर्वर पेज पर वापस जाएं और EC2 उदाहरण ID (मेरे मामले में यह "i-0c04e369a3d987199" है) की प्रतिलिपि बनाएँ। उसमे AWS कंसोल टैब/पेज के शीर्ष पर खोज बार में पेस्ट करें (डिफ़ॉल्ट करके खोज बार में "टेग और विशेषताओं से फ़िल्टर करें" टेक्स्ट होगा। वहाँ अपने सर्वर/संस्था आईडी पेस्ट करें और प्रवेश करें।
वॉल्यूम आकार में वृद्धि
केवल एक उदाहरण के लिए अब अपने AWS कंसोल में दिखाई देना चाहिए। यदि आपको कोई परिणाम नहीं मिला है, तो डबल चेक करें कि आपने सही क्षेत्र का चयन किया है और यदि आप एकाधिक खातों का उपयोग करते हैं तो आपको सही AWS खाते में हस्ताक्षर किए गए हैं। इसके अलावा, आपके सर्वर के बारे में जानकारी अब निचले फलक में व्यवहार्य हो सकती है। इसके माध्यम से स्क्रॉल करें जब तक आप "रूट डिवाइस" नहीं देखते हैं, यह संभावना "/dev/xvda" होगी।
डिवाइस पर क्लिक करें (जैसे /dev/xvda मेरे मामले में) और छोटे काले पॉप-ओवर को EBS वॉल्यूम के बारे में कुछ जानकारी के साथ दिखाई देना चाहिए। EBS ID (मेरे मामले में "vol-02110c92a873ad915") पर क्लिक करें और आपको AWS कंसोल - वॉल्यूम पेज पर पुनर्निर्देशित किया जाना चाहिए, केवल वांछित वॉल्यूम दिखा रहा है।
अपने वॉल्यूम पर राइट क्लिक करें और "मॉडिफिक वॉल्यूम" का चयन करें। एक पॉप-ओवर खुला होना चाहिए। जहां "आकार" कह रहा है, इसके लिए देखो। वर्तमान में मेरा "10" (GB) है। उस नंबर को वांछित वॉल्यूम आकार (GB में) में बढ़ाएं। मैं अपना 20GB बनाने जा रहा हूं। फिर "Modify" बटन पर क्लिक करें। अगली स्क्रीन पर "Yes" क्लिक करें। आपको एक हरे संदेश के साथ बधाई दी जानी चाहिए: "मॉड्यूलिफिकेशन वॉल्यूम अनुरोध Succeed"। यह लगभग तुरंत होना चाहिए, लेकिन आपको वांछित आकार (जैसे कि मेरे मामले में 20 गिब) के साथ अपनी वॉल्यूम डिस्प्ले देखने के लिए AWS कंसोल को रीफ्रेश करने की आवश्यकता हो सकती है। यदि यह नहीं करता है तो फिर से ताज़ा करने का प्रयास करें।
हब पर वापस: अपने सर्वर को पुनः आरंभ करें (यदि बंद हो गया है) और बड़ी मात्रा की पुष्टि करें
यही कारण है कि हमें AWS कंसोल की आवश्यकता है, इसलिए अब आप लॉग आउट कर सकते हैं और इसे बंद कर सकते हैं। यदि आप अपने सर्वर को बंद कर देते हैं, तो हब के सर्वर पेज पर लौटें। अपने सर्वर पर इसे वापस लाने के लिए "स्टार्ट" पर क्लिक करें। सामान्य रूप से, उपलब्ध होने के दौरान थोड़ी देर लग जाएगी। अधिकांश सर्वरों के लिए, यह केवल कुछ मिनट (5 सबसे अधिक) लेना चाहिए।
एक बार जब आपका सर्वर चल रहा है (या सीधे दूर अगर यह बंद नहीं हुआ था), तो SSH के माध्यम से लॉग इन करें। यदि आप फिर से df कमांड चलाने के लिए थे, तो आप देखेंगे कि कुछ भी नहीं बदल गया है। इसलिए क्योंकि हमने केवल वॉल्यूम आकार में वृद्धि की है। यदि आप चाहें तो आप यह जांच सकते हैं कि वास्तव में वॉल्यूम बड़ा है, gdisk के साथ:
# gdisk -l /dev/xvda GPT fdisk (gdisk) version 1.0.1 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Disk /dev/xvda: 41943040 sectors, 20.0 GiB Logical sector size: 512 bytes Disk identifier (GUID): 8A333A04-DB02-4249-870C-EC5665D405BF Partition table holds up to 128 entries First usable sector is 34, last usable sector is 20971486 Partitions will be aligned on 2048-sector boundaries Total free space is 4029 sectors (2.0 MiB) Number Start (sector) End (sector) Size Code Name 1 2048 6143 2.0 MiB EF02 grub 2 6144 20969471 10.0 GiB 8300 rootfs
"Disk /dev/xvda: 41943040 सेक्टर्स, 20.0 GiB" नोट करें।
विभाजन तालिका को ठीक करें और विभाजन का आकार बदलें
इसके बाद हमें विभाजन तालिका (GPT) को ठीक करने की आवश्यकता है, फिर हम विभाजन को नए मुक्त स्थान का उपयोग करने के लिए बढ़ा सकते हैं। फ़ाइल सिस्टम को विस्तारित करने के लिए (और GPT को ठीक करें) हम आंशिक रूप से उपयोग करेंगे (सभी v15.x सर्वरों पर डिफ़ॉल्ट रूप से स्थापित किया जाना चाहिए)। इसे 'भागा हुआ" कमांड के साथ शुरू करें।
# parted GNU Parted 3.2 Using /dev/xvda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
पहले, "प्रिंट" कमांड का उपयोग करके मौजूदा जानकारी (अतिरिक्त) की जांच करें। यह एक चेतावनी देनी चाहिए कि सभी स्थान का उपयोग नहीं किया जा रहा है, इसके लिए एक विकल्प है।
(parted) print
Warning: Not all of the space available to /dev/xvda appears to be used, you can fix the GPT to use all of the
space (an extra 20971520 blocks) or continue with the current setting?
Fix/Ignore?
इसे ठीक करने की अनुमति दें (टाइपिंग 'एफ' के बाद प्रवेश करके)। अब इसे पहले चलाए गए df चेक के समान जानकारी प्रदर्शित करनी चाहिए। हालांकि ध्यान दें कि यह गिगाबाइट्स (1Byte x 1000 x 1000) को गिगिबाइट्स (1Byte x 1024 x 1024) के विपरीत प्रदर्शित करता है ताकि यदि संख्या काफी मिलान नहीं हो तो यह खतरनाक नहीं हो। मेरे मामले में, यह 21.5GB (जो 20GiB है) प्रदर्शित कर रहा है।
Fix/Ignore? f Model: Xen Virtual Block Device (xvd) Disk /dev/xvda: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 3146kB 2097kB grub bios_grub 2 3146kB 10.7GB 10.7GB ext4 rootfs (parted)
विभाजन को आकार देने के लिए, 'रिज़ाइज़पार्ट' कमांड का उपयोग करें। डिफ़ॉल्ट सेट अप पर, आप विभाजन 2 का आकार बदलना चाहते हैं, लेकिन यह सुनिश्चित करने के लिए कि आपका मैच सुनिश्चित करने के लिए अपने आउटपुट (प्रिंटिंग से) की डबल जांच करें। ध्यान दें कि मैंने उपयोग में विभाजन को संशोधित करने की चेतावनी को अनदेखा कर दिया। इसके अलावा, ध्यान दें कि मैंने सभी मुफ्त स्पेस का इस्तेमाल किया (यानी डिस्क के अंतिम आकार में गया: 21.5GB)
(parted) resizepart Partition number? 2 Warning: Partition /dev/xvda2 is being used. Are you sure you want to continue? Yes/No? y End? [10.7GB]? 21.5GB (parted)
डबल चेक कि यह सब 'प्रिंट' के साथ उम्मीद के रूप में काम किया है। यदि कुछ सही नहीं दिखता है, तो आप फिर से 'रिसाइज़पार्ट' कमांड को फिर से चला सकते हैं। लेकिन मेरा ठीक दिखता है।
(parted) print Model: Xen Virtual Block Device (xvd) Disk /dev/xvda: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 3146kB 2097kB grub bios_grub 2 3146kB 21.5GB 21.5GB ext4 rootfs (parted)
लगभग किया गया; फ़ाइल सिस्टम को विस्तारित और समाप्त करना
अब भी, अगर आप आंशिक रूप से बाहर निकलते थे और df के उत्पादन की पुनः जांच करते थे, तो आप अभी भी अतिरिक्त नई जगह नहीं देख सकते। यही कारण है कि अंतिम चरण विभाजन को भरने के लिए फ़ाइल सिस्टम को विस्तारित करना है। भागित के कुछ संस्करण भी कर सकते हैं कि (IIRC कमांड 'reizefs' है), लेकिन मैं ऐसा नहीं लगता कि क्षमता नहीं है, इसलिए पार्ट ('quit') से बाहर निकलें। आप /etc/fstab के बारे में जानकारी को सुरक्षित रूप से अनदेखा कर सकते हैं
(parted) quit Information: You may need to update /etc/fstab.
फिर विभाजन पर 'reize2fs' चलाएं:
# resize2fs /dev/xvda2
यदि हम अभी df की जाँच करते हैं, तो हम देखेंगे कि मुफ्त स्पेस अब उपलब्ध है।
# df -h Filesystem Size Used Avail Use% Mounted on udev 486M 0 486M 0% /dev tmpfs 100M 4.1M 96M 5% /run /dev/xvda2 20G 9.8G 10.2G 48% / tmpfs 498M 0 498M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 498M 0 498M 0% /sys/fs/cgroup
YAY! All done! :)
अंतिम सफाई
व्यक्तिगत रूप से, मैं कुछ दिनों के लिए कुछ दिनों के लिए यह देना चाहता हूं कि मैं स्नैपशॉट को हटा दूं। यह सिर्फ मामले में है कि कुछ सही नहीं है, लेकिन तुरंत नहीं दिखाती है। मैंने कभी सोचा कि मैंने कभी पहले इसकी आवश्यकता नहीं की है। फिर भी, मैं AWS को कुछ और सेंट देने के बजाय मन के टुकड़े के लिए दे रहा हूं। जब आप आत्मविश्वास महसूस कर रहे हैं, तो आप चाहें तो स्नैपशॉट को हटा सकते हैं। ऐसा करें कि पहले भाग के अनुसार स्नैपशॉट्स ढूंढकर और इस बार बनाने, हटाने के बजाय।