EC2 आकार बढ़ाने के बाद वॉल्यूम का आकार नहीं बदल सकता है


95

मैंने EC2 वॉल्यूम का आकार बदलने के लिए चरणों का पालन किया है

  1. उदाहरण को रोक दिया
  2. वर्तमान वॉल्यूम का एक स्नैपशॉट लिया
  3. उसी क्षेत्र में बड़े आकार के साथ पिछले स्नैपशॉट में से एक नया वॉल्यूम बनाया गया
  4. उदाहरण से पुराने वॉल्यूम को हटा दिया गया
  5. एक ही आरोह बिंदु पर उदाहरण के लिए नया वॉल्यूम संलग्न

पुराना वॉल्यूम 5GB था और जो मैंने बनाया वह 100GB नाउ है, जब मैं इंस्टेंस को रीस्टार्ट करता हूं और रन करता हूं फिर df -h Iभी यह देखता हूं

Filesystem            Size  Used Avail Use% Mounted on
/dev/xvde1            4.7G  3.5G 1021M  78% /
tmpfs                 296M     0  296M   0% /dev/shm

यह मुझे दौड़ते समय मिलता है

sudo resize2fs /dev/xvde1

The filesystem is already 1247037 blocks long.  Nothing to do!

मैं दौड़ता cat /proc/partitionsहूँ तो देखता हूँ

 202       64  104857600 xvde
 202       65    4988151 xvde1
 202       66     249007 xvde2

अगर मैंने सही चरणों का पालन किया है तो मुझे क्या समझ में आया है कि xvde1 के समान डेटा होना चाहिए, लेकिन मुझे नहीं पता कि इसका उपयोग कैसे करना है

मैं नए वॉल्यूम या umount xvde1 का उपयोग कैसे कर सकता हूं और इसके बजाय xvde माउंट कर सकता हूं?

मैं समझ नहीं पा रहा हूं कि मैं क्या गलत कर रहा हूं

मैंने भी कोशिश की sudo ifs_growfs /dev/xvde1

xfs_growfs: /dev/xvde1 is not a mounted XFS filesystem

Btw, यह 6.2 x86_64 सेंटोस के साथ एक लिनक्स बॉक्स है

आपकी सहायता के लिये पहले से ही धन्यवाद

जवाबों:


70

धन्यवाद विल्मन आपके आदेशों ने सही तरीके से काम किया, छोटे सुधार पर विचार करने की आवश्यकता है यदि हम बड़े आकार में ईबीएस बढ़ा रहे हैं

  1. उदाहरण रोकें
  2. वॉल्यूम से एक स्नैपशॉट बनाएं
  3. आकार में वृद्धि स्नैपशॉट के आधार पर एक नया वॉल्यूम बनाएं
  4. वर्तमान के वॉल्यूम माउंट बिंदु (यानी /dev/sda1) को जांचें और याद रखें
  5. वर्तमान मात्रा को अलग करें
  6. उदाहरण के लिए हाल ही में बनाई गई मात्रा को संलग्न करें, सटीक माउंट बिंदु सेट करें
  7. उदाहरण को पुनरारंभ करें
  8. उदाहरण के लिए SSH के माध्यम से पहुंचें और चलाएं fdisk /dev/xvde

    चेतावनी: डॉस-संगत मोड को हटा दिया गया है। मोड (कमांड 'c') को स्विच करने और डिस्प्ले यूनिट्स को सेक्टर (कमांड 'u') में बदलने की जोरदार सिफारिश की गई है।

  9. pवर्तमान विभाजन दिखाने के लिए मारो

  10. dवर्तमान विभाजन को हटाने के लिए मारो (यदि एक से अधिक हैं, तो आपको एक समय में एक को हटाना होगा) नोट: चिंता मत करो डेटा खो नहीं है
  11. nएक नया विभाजन बनाने के लिए मारो
  12. pइसे प्राथमिक के रूप में सेट करने के लिए हिट करें
  13. 1पहला सिलेंडर सेट करने के लिए मारो
  14. वांछित नया स्थान सेट करें (यदि पूरा स्थान खाली है)
  15. aइसे बूट करने योग्य बनाने के लिए हिट करें
  16. मारो 1और wबदलाव लिखो
  17. रिबूट उदाहरण या partprobe( partedपैकेज से) कर्नेल को नए विभाजन तालिका के बारे में बताने के लिए उपयोग करें
  18. SSH के माध्यम से लॉग इन करें और resize2fs / dev / xvde1 चलाएं
  19. अंत में डीएफ-एच चलाने वाले नए स्थान की जांच करें

1
"चेतावनी: डॉस-संगत मोड को हटा दिया गया है। यह मोड (कमांड 'सी') को स्विच करने और डिस्प्ले यूनिट्स को सेक्टरों (कमांड 'यू') में बदलने की दृढ़ता से सिफारिश की गई है" यह मेरे लिए आवश्यक नहीं था (Ubuntu 13.04)। यह पहले से ही DOS संगतता को बंद कर दिया था और डिफ़ॉल्ट रूप से सेक्टरों का उपयोग किया था। दबाने cऔर uवास्तव में पदावनत मोड में बदल गया।
वारबैंक

6
समाधान ने शानदार काम किया लेकिन उदाहरण एक विस्मय बोधक चिह्न (ReadHat 6.5) के साथ "1/2 चेक पास" पर अटक गया। इसे ठीक करने के लिए मैंने "पहला सिलेंडर" 16 पर सेट किया है (जैसे पहले था)। उसके बाद "2/2 चेक पास" के साथ उदाहरण सामान्य होने लगा। आशा है कि यह किसी की मदद करता है ...
user3586516

1
मुझे भी पहले सिलेंडर को बदलना पड़ा, लेकिन मुझे इसे 2048 में बदलना पड़ा। मैं इसे हटाने से पहले आपकी वर्तमान विभाजन सेटिंग की जाँच करने की सलाह दूंगा।
डोयले

9
अपने उदाहरण को रीबूट करने के बाद, मैं SSH के माध्यम से कनेक्ट करने में असमर्थ हूं। कनेक्शन के समय और अर्स कंसोल से पता चलता है कि यह अपनी स्थिति जाँच शुरू नहीं कर सकता है। मुझे लगता है कि यह मर चुका है। कोई विचार कि क्या करना चाहिए?
रिचर्ड

5
इस जवाब को अब यह बताया गया है कि AWS ईबीएस संस्करणों के लिए ऑनलाइन आकार बदलने का समर्थन करता है।
डेल एंडरसन

303

उदाहरण को रोकने और ईबीएस वॉल्यूम को अलग करने की आवश्यकता नहीं है, इसे अब आकार दें!

13-फरवरी -2017 अमेज़न ने घोषणा की: " अमेज़ॅन ईबीएस अपडेट - नए लोचदार वॉल्यूम सब कुछ बदलें "

प्रक्रिया तब भी काम करती है अगर वॉल्यूम बढ़ाने के लिए रनिंग इंस्टेंस का रूट वॉल्यूम हो!


मान लें कि हम उबंटू के बूट ड्राइव को 8G से बढ़ाकर 16G "ऑन-द-फ्लाई" करना चाहते हैं।

चरण -1) एडब्ल्यूएस वेब कंसोल में लॉगिन करें -> ईबीएस -> सही माउस पर क्लिक करें जिस पर आप आकार चाहते हैं -> "वॉल्यूम संशोधित करें" -> "आकार बदलें" फ़ील्ड और क्लिक करें [संशोधित करें] बटन

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें


चरण -2) उदाहरण में ssh और विभाजन का आकार बदलें:

चलो हमारे बॉक्स से जुड़ी ब्लॉक डिवाइसों को सूचीबद्ध करें:
lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  16G  0 disk
└─xvda1 202:1    0   8G  0 part /

जैसा कि आप देख सकते हैं / dev / xvda1 अभी भी 16 GiB डिवाइस पर 8 GiB विभाजन है और वॉल्यूम पर कोई अन्य विभाजन नहीं हैं। आइए "ग्रोपरपार्ट" का उपयोग 16G तक 8G विभाजन को आकार देने के लिए करें:

# install "cloud-guest-utils" if it is not installed already
apt install cloud-guest-utils

# resize partition
growpart /dev/xvda 1

आइए परिणाम देखें (आप देख सकते हैं / देव / xvda1 अब 16G है):

lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  16G  0 disk
└─xvda1 202:1    0  16G  0 part /

SO के बहुत से उत्तर डिलीट / रीक्रिएट विभाजन के साथ fdisk का उपयोग करने का सुझाव देते हैं, जो कि बुरा है, जोखिम भरा है, त्रुटि-प्रवण प्रक्रिया विशेष रूप से जब हम बूट ड्राइव को बदलते हैं।


चरण -3) पूरी तरह से नए विभाजन स्थान का उपयोग करने के लिए सभी तरह से विकसित करने के लिए फ़ाइल सिस्टम का आकार बदलें
# Check before resizing ("Avail" shows 1.1G):
df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  6.3G  1.1G  86% /

# resize filesystem
resize2fs /dev/xvda1

# Check after resizing ("Avail" now shows 8.7G!-):
df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       16G  6.3G  8.7G  42% /

इसलिए हमारे पास उपयोग करने के लिए शून्य डाउनटाइम और बहुत सारे नए स्थान हैं।
का आनंद लें!

अद्यतन: अद्यतन: जब XFS फाइलसिस्टम resize2fs के बजाय sudo xfs_growfs / dev / xvda1 का उपयोग करें।


विभाजन को बड़ा करने में मदद मिली .... !! सबसे अद्भुत बात यह थी कि रूट वॉल्यूम के लिए भी काम किया गया था।
पियूषमंदोवरा

4
क्या कोई कृपया इसे सही उत्तर के रूप में स्वीकार करेगा? सिर्फ इसलिए ... यह है
eduardohl

ठोस, धन्यवाद एक टन ... मैं उपरोक्त उत्तरों में वर्णित चरणों को पूरा करने में बहुत उलझन में था लेकिन यह बहुत अच्छा था ...
AAgg

4
हुह, आधिकारिक डॉक्स ग्रोपरेटर का उल्लेख नहीं करते हैं, यही वजह है कि मुझे इससे पहले काम करने के लिए नहीं मिला। धन्यवाद!
इब्राहिम

1
@ शिहा, हाँ। यह पूरी बात है। यहां तक ​​कि बूट करने योग्य "रूट" माउंटेड ड्राइव को बिना रिबूट की आवश्यकता के सुरक्षित रूप से बढ़ाया जा सकता है!
दिमित्री शेवकोप्लस

42

ऊपर जेरेपली द्वारा प्रीफेक्ट टिप्पणी।

मुझे आज उसी मुद्दे का सामना करना पड़ा। AWS प्रलेखन में स्पष्ट रूप से उत्पादकों का उल्लेख नहीं है। मुझे कठिन रास्ता सूझा और वास्तव में उबंटू के साथ M4.large & M4.xlarge पर दोनों कमांडों ने पूरी तरह से काम किया

sudo growpart /dev/xvda 1
sudo resize2fs /dev/xvda1

संलग्न करने के लिए दूसरा उत्तर और यह उत्तर आकार बदलने के लिए है
Adiii

गजब का! मेरे t2.small उदाहरण पर काम किया। वाह। सोचा कि यह उससे भी ज्यादा खूनखराबा होगा। धन्यवाद!
publicknowledge

मैं बादल-अतिथि-बर्तन स्थापित करने के लिए प्रतीत नहीं हो सकता है जिसमें ग्रोपरेटर शामिल हैं। लिनक्स संस्करण 3.16.0-4-amd64
नेटी

15

[हल किया]

यही तो करना था

  1. उदाहरण रोकें
  2. वॉल्यूम से एक स्नैपशॉट बनाएं
  3. आकार में वृद्धि स्नैपशॉट के आधार पर एक नया वॉल्यूम बनाएं
  4. वर्तमान वॉल्यूम बिंदु (यानी / dev / sda1) को जांचें और याद रखें
  5. वर्तमान मात्रा को अलग करें
  6. उदाहरण के लिए हाल ही में बनाई गई मात्रा को संलग्न करें, सटीक माउंट बिंदु सेट करें
  7. उदाहरण को पुनरारंभ करें
  8. उदाहरण के लिए SSH के माध्यम से पहुंचें और चलाएं fdisk /dev/xvde
  9. pवर्तमान विभाजन दिखाने के लिए मारो
  10. dवर्तमान विभाजन को हटाने के लिए मारो (यदि एक से अधिक हैं, तो आपको एक समय में एक को हटाना होगा) नोट: चिंता मत करो डेटा खो नहीं है
  11. nएक नया विभाजन बनाने के लिए मारो
  12. pइसे प्राथमिक के रूप में सेट करने के लिए हिट करें
  13. 1पहला सिलेंडर सेट करने के लिए मारो
  14. वांछित नया स्थान सेट करें (यदि पूरा स्थान खाली है)
  15. aइसे बूट करने योग्य बनाने के लिए हिट करें
  16. मारो 1और wबदलाव लिखो
  17. रिबूट उदाहरण
  18. SSH के माध्यम से लॉग इन करें और चलाएं resize2fs /dev/xvde1
  19. अंत में चल रहे नए स्थान की जाँच करें df -h

यह बात है

सौभाग्य!


1
Amazon EBS वॉल्यूम में fdisk के साथ उपयोग के समान resize2fs में एक ही माउंट पॉइंट का उपयोग करना महत्वपूर्ण प्रतीत होता है। df संलग्न ईबीएस वॉल्यूम के रूप में / dev / xvda1 जैसा कुछ दिखाता है, लेकिन resize2fs कमांड ने केवल मेरे लिए काम किया जब मैंने / dev / sdf1 पहचानकर्ता का उपयोग किया, जिसका उपयोग मैंने तब किया था जब मैंने नया विभाजन ffisk में किया था।
गैरेथ मैकडैड

यह AWS डॉक्यूमेंटेशन में है। जो घटिया है उनकी प्रक्रियाएँ 3 साल के बाद भी अधूरी हैं। यदि आपके पास एक छवि है तो आप वापस गिर सकते हैं, निश्चित रूप से। यह हमेशा संभव है कि नई डिस्क को अस्थायी रूप से डेस्कटॉप के रूप में चलाने के साथ ही हैंग किया जाए, लेकिन इसे रिसाइज़ के लिए माउंट किए जाने की आवश्यकता एक समस्या हो सकती है, अगर आप gparted का उपयोग करने के बारे में सोच रहे थे। gcloud मक्खी पर आकार देता है।
मैकेंज़्म

मेरा स्टोरेज डिवाइस (/ dev / xvda1) सेक्टर 16065 से शुरू हुआ, न कि सेक्टर 1. इसलिए 13 कदम (पहला सिलेंडर सेट करने के लिए 1 हिट) को मेरे मामले में 16065 होना चाहिए था।
साइमन पैर्लबर्ग

इन समाधानों के साथ मत जाओ आप अपने डेटा को ढीला कर सकते हैं। वास्तव में, मुझे पता चला है कि विभाजन के विकल्प को नष्ट न करें यदि विभाजन तालिका में विभाजन सूची मान दिखाते हैं, यदि सूची है तो यह शाब्दिक रूप से विभाजन हटाता है, इसलिए उत्तर खो जाने पर भी डेटा खो जाएगा "यह नहीं होगा" हटाएँ "। विभाजन आकार का विस्तार करने का एक तरीका है, नीचे की ओर जांच करें अन्य उपयोगिताओं हैं जो आपके विभाजन आकार को सुचारू रूप से विस्तारित करने में मदद करेंगे।
पियूषमंदोवरा

6
  1. AWS वेब कंसोल में लॉगिन करें -> EBS -> राइट माउस पर क्लिक करें जिसे आप आकार देना चाहते हैं -> "वॉल्यूम संशोधित करें" -> "आकार बदलें" फ़ील्ड और क्लिक करें [संशोधित करें] बटन

  2. growpart /dev/xvda 1

  3. resize2fs /dev/xvda1

यह दिमित्री शेव्कोप्लस के उत्तर का एक कट-टू-चेस संस्करण है। AWS डॉक्यूमेंट growpartकमांड नहीं दिखाता है । यह ubuntu AMI के लिए ठीक काम करता है।


6
  1. सूद उगाने वाला / देव / xvda १
  2. sudo resize2fs / dev / xvda1

उपरोक्त दो आदेशों ने AWS ubuntu ec2 उदाहरणों के लिए मेरा समय बचाया।



4

अगर जीसीपी गूगल क्लाउड प्लेटफॉर्म के लिए यहां कोई भी हो, तो
यह कोशिश करें:

sudo growpart /dev/sdb 1
sudo resize2fs /dev/sdb1

2

क्या आपने इस खंड पर एक विभाजन बनाया? यदि आपने किया है, तो आपको पहले विभाजन को बढ़ाना होगा।


नहीं, मैंने नहीं। मुझे करना चाहिए? मैं कैसे करूँ? याद रखें कि मैंने जो नया वॉल्यूम संलग्न किया है, उसमें पिछले सभी डेटा होने चाहिए क्योंकि यह मूल मात्रा का एक स्नैपशॉट है
विल्मन अरामबिल्ली

नहीं, लेकिन मैं उस त्रुटि को पा चुका हूँ अगर कोई विभाजन जुड़ा हुआ था। गो और डबल चेक करें आपने वॉल्यूम को सही आकार दिया है, और डबल चेक करके आपने नया वॉल्यूम माउंट किया है।
chan:

इसके अलावा, आपको ऐसा करने के लिए उदाहरण को रोकने की आवश्यकता नहीं है। यदि आप उस वॉल्यूम पर लिखते हैं, तो यह सुरक्षित है, लेकिन आप चल रहे उदाहरण से इसे स्नैपशॉट कर सकते हैं।
chan:

1

बूट करने योग्य ध्वज (ए) ने मेरे मामले में काम नहीं किया (EC2, centos6.5), इसलिए मुझे स्नैपशॉट से वॉल्यूम फिर से बनाना पड़ा। सभी चरणों को दोहराने के बाद बूट करने योग्य झंडा - सब कुछ त्रुटिपूर्ण रूप से काम किया ताकि मैं बाद में resize2fs करने में सक्षम हो। धन्यवाद!


1

धन्यवाद, @Dimitry, इसने मेरे फाइल सिस्टम से मेल खाने के लिए एक छोटे से बदलाव के साथ एक आकर्षण की तरह काम किया।

स्रोत: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux

फिर फाइल सिस्टम के आरोह बिंदु को प्रतिस्थापित करते हुए, निम्न कमांड का उपयोग करें (XFS फाइल सिस्टम को उन्हें आकार देने के लिए माउंट किया जाना चाहिए):

[ec2-user ~]$ sudo xfs_growfs -d /mnt
meta-data=/dev/xvdf              isize=256    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 262144 to 26214400

नोट: यदि आप एक xfsctl प्राप्त करते हैं तो विफल हो गया: स्मृति त्रुटि को आवंटित नहीं किया जा सकता है, आपको अपने उदाहरण पर लिनक्स कर्नेल को अद्यतन करने की आवश्यकता हो सकती है। अधिक जानकारी के लिए, अपने विशिष्ट ऑपरेटिंग सिस्टम प्रलेखन का संदर्भ लें। यदि आपको एक द फाइल सिस्टम प्राप्त होता है, तो पहले से ही nnnnnnn ब्लॉक लंबा है। कुछ करने को नहीं है! त्रुटि, एक Linux विभाजन का विस्तार करना देखें।


0

ऊपर टिप्पणी करने के लिए पर्याप्त दोहराव नहीं है; लेकिन यह भी टिप्पणी ऊपर ध्यान दें कि यदि आप 1 से शुरू करते हैं तो आप अपने उदाहरण को भ्रष्ट कर सकते हैं; अगर आप 'p' शुरू करने से पहले 'u' को हिट करते हैं, तो आप 'p' के साथ अपने विभाजनों को सूचीबद्ध करते हैं, इससे आपको सही शुरुआत संख्या मिल जाएगी, ताकि आप अपने वॉल्यूम को दूषित न करें। सेंटोस 6.5 एएमआई के लिए, जैसा कि 2048 से ऊपर उल्लेख किया गया था, मेरे लिए सही था।


0

इसलिए यदि किसी के पास यह मुद्दा था कि वे इस मामले में 100% उपयोग के साथ भाग गए, और यहां तक ​​कि बढ़ने वाले कमांड को चलाने के लिए कोई स्थान नहीं है (क्योंकि यह / tmp में एक फ़ाइल बनाता है)

यहाँ एक कमांड है जो मैंने पाया कि ईबीएस वॉल्यूम का उपयोग करते समय भी बाईपास होता है, और यह भी कि अगर आपके पास अपने ec2 पर कोई जगह नहीं बची है, और आप 100% पर हैं

/sbin/parted ---pretend-input-tty /dev/xvda resizepart 1 yes 100%

इस साइट को यहाँ देखें:

https://www.elastic.co/blog/autoresize-ebs-root-volume-on-aws-amis


इस आदेश sudo resize2fs /dev/xvda1को अद्यतन करने के लिए पालन ​​किया जाना चाहिए /etc/fstab, उसके बाद ही df -hबड़े डिस्क स्थान दिखाई देंगे
कर्मेंद्र

0

नाम और संख्या के बीच स्थान रखें, पूर्व:

sudo growpart /dev/xvda 1

ध्यान दें कि डिवाइस नाम और विभाजन संख्या के बीच एक स्थान है।

प्रत्येक वॉल्यूम पर पार्टीशन को विस्तारित करने के लिए, निम्न ग्रोपर कमांड का उपयोग करें। ध्यान दें कि डिवाइस नाम और विभाजन संख्या के बीच एक स्थान है।

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.