विभाजन का आकार बढ़ाएँ जिस पर उबंटू स्थापित है?


60

मैंने उबंटू को एक ड्राइव पर स्थापित किया है। समस्या यह है कि यह डिस्क स्थान पर कम चल रहा है। यह vmware पर स्थापित है। मैंने वर्चुअल ड्राइव का विस्तार किया और ubuntu में बूट किया। लेकिन जब मैंने gparted (sudo gparted) खोला, तो चाल / आकार विकल्प अनुपलब्ध है। यह विभाजन Ubuntu पर स्थापित है, लेकिन मुझे इसे आकार देने की आवश्यकता है। कोई विचार? मैं कमांड लाइन का उपयोग करके सहज हूं


आप देख सकते हैं कि वे raspi-configरास्पबेरी पाई के लिए कैसे करते हैं , जहां रूट फाइल सिस्टम का विस्तार कुछ ऐसा है जो आप लगभग हर बार करते हैं जब आप एक नया रास्पबेरी पाई सेट करते हैं। github.com/RPi-Distro/raspi-config/blob/…
sshow

जवाबों:


16

आप लगभग वहाँ हैं।
आप नहीं कर सकते विभाजन GParted का उपयोग करते समय उबंटू चल रहा है का आकार बदलें।
आपको GParted ISO को VM मशीन में CD के रूप में संलग्न करना होगा और मशीन को रिबूट करना होगा ताकि Ubuntu के बजाय GParted लोड हो जाएगा (मुझे लगता है कि आप मशीन शुरू होने के तुरंत बाद F12 दबाकर वर्चुअल सीडी से बूट कर सकते हैं)।
एक बार जब आप GParted में जाने के लिए विकल्प को स्थानांतरित करने / आकार बदलने के लिए सक्षम हो जाएगा क्योंकि Ubuntu वर्तमान में नहीं चल रहा है।


139

तथ्य की बात के रूप में, आप उबंटू चालू होने के दौरान रूट फाइल सिस्टम को बड़ा कर सकते हैं (मैंने हाल ही में यहां खुद सीखा है ) - यह अविश्वसनीय लगता है, लेकिन सच है :)

यहां एक सरल परिदृश्य के चरणों की सूची दी गई है, जहां आपके दो विभाजन हैं, /dev/sda1एक ext4 विभाजन है जिसे ओएस से बूट किया जाता है और /dev/sdb2स्वैप किया जाता है। इस अभ्यास के लिए हम स्वैप विभाजन /dev/sda1को पूरी डिस्क पर हटाना चाहते हैं ।

  1. हमेशा की तरह, सुनिश्चित करें कि आपके पास आपके डेटा का बैकअप है - चूंकि हम विभाजन तालिका को संशोधित करने जा रहे हैं, उदाहरण के लिए, यदि आप एक टाइपो बनाते हैं, तो आपके सभी डेटा को खोने का मौका है।

  2. Daud sudo fdisk /dev/sda

    • pविभाजन को सूचीबद्ध करने के लिए उपयोग करें। के स्टार्ट सिलेंडर पर ध्यान दें/dev/sda1
    • पहले स्वैप विभाजन ( ) और फिर विभाजन dको हटाने के लिए उपयोग करें । यह बहुत डरावना है लेकिन वास्तव में हानिरहित है क्योंकि डिस्क में डेटा तब तक नहीं लिखा जाता जब तक आप डिस्क में परिवर्तन नहीं लिखते।2/dev/sda1
    • एक नया प्राथमिक विभाजन बनाने केn लिए उपयोग करें । सुनिश्चित करें कि इसका स्टार्ट सिलेंडर ठीक उसी तरह का है जैसा पुराने समय में होता था। अंत सिलेंडर के लिए डिफ़ॉल्ट विकल्प से सहमत हैं, जो कि पूरे डिस्क को स्पैन करने के लिए विभाजन करना है।/dev/sda1
    • aनए पर बूट करने योग्य ध्वज को टॉगल करने के लिए उपयोग करें/dev/sda1
    • अपने परिवर्तनों की समीक्षा करें, एक गहरी साँस लें और wडिस्क में नया विभाजन तालिका लिखने के लिए उपयोग करें। आपको संदेश मिलेगा कि कर्नेल विभाजन तालिका को फिर से नहीं पढ़ सकता है क्योंकि उपकरण व्यस्त है, लेकिन यह ठीक है।
  3. के साथ रिबूट sudo reboot। जब सिस्टम बूट होता है, तो आपके पास एक बड़ा विभाजन के अंदर रहने वाला एक छोटा फाइल सिस्टम होगा ।

  4. अगले जादू आदेश है resize2fs। रन sudo resize2fs /dev/sda1- यह फ़ॉर्म विभाजन पर सभी उपलब्ध स्थान लेने के लिए फाइल सिस्टम बनाने के लिए डिफ़ॉल्ट होगा।

यही है, हमने सिर्फ एक विभाजन का आकार बदला है जिस पर बाहरी ड्राइव से बूट किए बिना उबंटू स्थापित किया गया है।


@ एलियाकगन: कृपया उत्तर पर एक नज़र डालें (गिल्स से) मैं इससे जुड़ा था। विचार यह है कि विभाजनfdisk को बड़ा करने के लिए उपयोग करना संभव है , जबकि ओएस छोटे फाइल सिस्टम का उपयोग करना जारी रखता है। फिर। रिबूट के बाद, कर्नेल अपडेटेड विभाजन तालिका को फिर से पढ़ने के बाद, हम फाइल सिस्टम का आकार बदल सकते हैं क्योंकि यह अब एक बड़े विभाजन में रहता है।
सर्गेई

1
@ आईसैक: हां, हमें अभी भी विभाजन तालिका को फिर से पढ़ने के लिए कर्नेल बनाने के लिए रिबूट करना होगा। हालांकि, कई परिदृश्यों में एक त्वरित रिबूट बाहरी माध्यम से बूट करने की तुलना में बहुत छोटी समस्या है (दूरस्थ मशीनों, हेडलेस मशीन, वीपीएस आदि के बारे में सोचें)
सर्गी

2
दो त्वरित नोट्स: 1. आप इसके dfबाद "परिणामी" स्थान दिखाने के लिए उपयोग कर सकते हैं (पुष्टि करें कि यह काम किया), और 2. कुछ स्वैप स्थान को फिर से बनाना याद रखें!
ईसाई रोंडेउ

1
बहुत बहुत धन्यवाद। उबंटू ने कभी भी उस स्थान का उपयोग नहीं किया जो मैंने वर्चुअलबॉक्स vdisk दिया था। अब मुझे पता है क्यों। बहुत धन्यवाद!
पेन्डी

1
@ सहायता: यह बहुत महत्वपूर्ण है कि स्टार्ट सिलेंडर बिल्कुल वैसा ही हो। यदि मुक्त स्थान कहीं भी है, लेकिन विभाजन के तुरंत बाद आपको एक अन्य विधि का उपयोग करने की आवश्यकता है (जिसे किसी अन्य ड्राइव से बूट करने की आवश्यकता होगी)
सर्गेई

21

दो तरीके

1. Ubuntu सर्वर 16.04 से 18.10 में परीक्षण किया गया

VMware ESXi (शटडाउन वीएम, बैकअप / एक्सपोर्ट वीएम में वॉल्यूम बढ़ाने के बाद, सभी स्नैपशॉट को हटा दें, फिर डिस्क आकार में संख्या बढ़ा दी, अगले चरणों का पालन करने से पहले फिर से वीएम का स्नैपशॉट लें ताकि आप गलती / त्रुटि वापस कर सकें)।

निम्न उदाहरण सिस्टम पर रूट विभाजन पर वॉल्यूम बढ़ा रहा है जो पहले से ही LVM का उपयोग कर रहा है।

  1. sshसिस्टम में, रूट पर स्विच करें और cfdisk
    # cfdisk चलाएं

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

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

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

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

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

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

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

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

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

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

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

  13. Cfdisk से बाहर निकलने के बाद

     # fdisk -l /dev/sda 
     Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
     Units: sectors of 1 * 512 = 512 bytes
     Sector size (logical/physical): 512 bytes / 512 bytes
     I/O size (minimum/optimal): 512 bytes / 512 bytes
     Disklabel type: dos
     Disk identifier: 0xc8b647ff
    
     Device     Boot    Start      End  Sectors  Size Id Type
     /dev/sda1  *        2048   999423   997376  487M 83 Linux
     /dev/sda2        1001470 16775167 15773698  7.5G  5 Extended
     /dev/sda3       16775168 41943039 25167872   12G 8e Linux LVM (***** See new partition /dev/sda3*****)
     /dev/sda5        1001472 16775167 15773696  7.5G 8e Linux LVM
    
  14. अगले चरण से पहले रिबूट सिस्टम (या आपको मिल सकता है Device /dev/sda3 not found (or ignored by filtering))

     # shutdown now -r
    
  15. नए वॉल्यूम को प्रारंभ करें

     # pvcreate /dev/sda3
       Physical volume "/dev/sda3" successfully created
    
  16. विस्तार करने के लिए वॉल्यूम का नाम प्राप्त करें

     # vgdisplay
       --- Volume group ---
       VG Name               linuxetc1-vg (***** this is vg i'm extending*****)
       System ID             
       Format                lvm2
       Metadata Areas        1
       Metadata Sequence No  3
       VG Access             read/write
       VG Status             resizable
       MAX LV                0
       Cur LV                2
       Open LV               2
       Max PV                0
       Cur PV                1
       Act PV                1
       VG Size               7.52 GiB
       PE Size               4.00 MiB
       Total PE              1925
       Alloc PE / Size       1925 / 7.52 GiB
       Free  PE / Size       0 / 0  
       ...
    
  17. वॉल्यूम समूह बढ़ाएँ

     # vgextend linuxetc1-vg /dev/sda3
       Volume group "linuxetc1-vg" successfully extended
    
  18. जड़ का विस्तार

     # lvextend -l+100%FREE /dev/linuxetc1-vg/root
       Size of logical volume linuxetc1-vg/root changed from 6.52 GiB (1669 extents) to 18.52 GiB (4741 extents).
       Logical volume root successfully resized.
    
    
     Or if you only wanted to give 5 more GB to root
     # lvextend -L +5g /dev/linuxetc1-vg/root
    
  19. अगले चरण के लिए फाइलसिस्टम नाम प्राप्त करें

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root  6.3G  2.5G  3.5G  42% /            (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    
  20. फाइलसिस्टम को बढ़ाएँ

     # resize2fs /dev/mapper/linuxetc1--vg-root
     resize2fs 1.42.13 (17-May-2015)
     Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required
     old_desc_blocks = 1, new_desc_blocks = 2
     The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
    
  21. बढ़ा हुआ आकार देखें

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root   19G  2.5G   15G  15% /         (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    

2. उबंटू सर्वर में परीक्षण किया गया तेज़ तरीका 18.04.3 LTS

यह विधि पहले की तुलना में थोड़ी तेज है। यह "रिसाइज़"cfdisk नामक मेनू में एक नए विकल्प के कारण है जो कुछ चरणों को बचाता है।

VMware ESXi (शटडाउन वीएम, बैकअप / एक्सपोर्ट वीएम में वॉल्यूम बढ़ाने के बाद, सभी स्नैपशॉट को हटा दें, फिर डिस्क आकार में संख्या बढ़ा दी, अगले चरणों का पालन करने से पहले फिर से वीएम का स्नैपशॉट लें ताकि आप गलती / त्रुटि वापस कर सकें)।

निम्न उदाहरण सिस्टम पर रूट विभाजन पर वॉल्यूम बढ़ा रहा है जो पहले से ही LVM का उपयोग कर रहा है।

  1. sshसिस्टम में, रूट और रन पर स्विच करें cfdisk

  2. विस्तार करने के लिए विभाजन चुनें और "आकार बदलें" चुनें। यहाँ छवि विवरण दर्ज करें

  3. "नया आकार" सेट करें। यहाँ छवि विवरण दर्ज करें

  4. एन्टर प्रेस करने के बाद, आपको निम्नलिखित नोट "विभाजन [someNumber] रिसाइज़" के साथ स्क्रीन दिखाई देगी: यहाँ छवि विवरण दर्ज करें

  5. अगला आपको अपने परिवर्तन "लिखने" (बचाने) की आवश्यकता होगी: यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें

  6. छोड़ दिया cfdisk। जब आप बाहर निकलते हैं तो आपको संदेश "सिंकिंग डिस्क" दिखाई दे सकता है। यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें

  7. मैंने इस बिंदु पर अपने सिस्टम को रिबूट किया, लेकिन यह आवश्यक नहीं हो सकता है। अब आप पहली विधि (नीचे बार-बार) से चरण 19 से पिक कर सकते हैं।

  8. (19) अगले चरण के लिए फाइलसिस्टम नाम प्राप्त करें

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root  6.3G  2.5G  3.5G  42% /            (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    
  9. (२०) फाइलसिस्टम बढ़ाएँ

     # resize2fs /dev/mapper/linuxetc1--vg-root
     resize2fs 1.42.13 (17-May-2015)
     Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required
     old_desc_blocks = 1, new_desc_blocks = 2
     The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
    
  10. (२१) बढ़ा हुआ आकार देखें

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root   19G  2.5G   15G  15% /         (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    

लेख:
https://wiki.ubuntu.com/Lvm
http://www.geoffstratton.com/expand-hard-disk-ubuntu-lm


वाह। यह बेहद मददगार था। काश मैं एक से अधिक बार उत्थान कर पाता। धन्यवाद!
मारियो टैक

1
ईएसएक्सआई के तहत चलने वाले 18.10 पर पूरी तरह से काम किया। धन्यवाद!
जॉन विनपाल

बिल्कुल शानदार, बस मुझे लिनक्स नोब के रूप में क्या चाहिए था। ।
बिगबैडम

महान मार्गदर्शक! प्रोक्समॉक्स वीएम के रूप में चल रहे उबंटू पर स्टोरेज का विस्तार करने के लिए इसका अनुसरण किया।
tokenizer_fsj

बहुत खुबस! इसके लिए शुक्रिया। इसने 18.04 ईएसएक्सआई पर काम किया।
वन। जूल

0

सर्गेई का जवाब उत्कृष्ट था। यदि आपके पास अगले डिवाइस में सीधे खाली जगह नहीं है, हालांकि, आपको अन्य उपकरणों को हटाने की आवश्यकता होगी। उदाहरण के लिए:

Device     Boot    Start       End  Sectors Size Id Type
/dev/sda1  *        2048  33556477 33554430  16G 83 Linux
/dev/sda2       33556478  41940991  8384514   4G  5 Extended
/dev/sda3       41940992 125829119 83888128  40G 83 Linux
/dev/sda5       33556480  41940991  8384512   4G 82 Linux swap / Solaris

उपरोक्त मामले में, यदि आप मर्ज करना चाहते हैं /dev/sda3के साथ /dev/sda1, आप को दूर करने की आवश्यकता होगी /dev/sda1, /dev/sda2और /dev/sda3(के साथ dआदेश) को फिर से जोड़ने के लिए, और /dev/sda2और उसके प्रकार (के साथ अद्यतन nऔर tआदेशों)।


0

मैं यहाँ वर्णित पद्धति का उपयोग करके अपने प्राथमिक ext4 विभाजन को बढ़ाने में सफल रहा ।

मेरे व्यक्तिगत अनुभव के कुछ नोट:

  • लिंक उदाहरण सिकुड़ते विभाजन के लिए है, इसलिए ऑर्डर को पहले resize2fs और फिर fdisk है। विभाजन को बढ़ाते समय (जैसा कि मेरे मामले में) आदेश को पहले fdisk होना चाहिए, फिर रिबूट करें और फिर resize2fs करें। इसके अलावा, fdisk का उपयोग करते समय, प्राथमिक और साथ ही विस्तारित विभाजन को हटा दिया जाना चाहिए और फिर से परिभाषित किया जाना चाहिए।
  • मैंने उबंटू को एक और ड्राइव से बूट किया और फिर इस ड्राइव पर काम किया जो वास्तव में पुराने ड्राइव का दर्पण (dd का उपयोग करके) था। GParted का उपयोग करके इसे बूट करने योग्य बनाया गया है
  • Resize2fs का वर्तमान संस्करण (मैं Ubuntu 12.04LTS का उपयोग कर रहा हूं) ext4 का समर्थन करता है - इसे ext2 बदलने के लिंक में वर्णित कार्यों को करने की कोई आवश्यकता नहीं है।

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