मैं LVM और निहित भौतिक आयतन और तार्किक आयतन के साथ एक विभाजन का विस्तार कैसे करूँ?


33

मेरे 240 GB SSD में पहले दो विभाजन थे, एक में लिनक्स टकसाल के साथ लॉजिकल वॉल्यूम और दूसरे में Windows के साथ साझा करने के लिए NTFS विभाजन था। अब मैंने NTFS विभाजन को हटा दिया और जारी डिस्क स्थान का उपयोग करने के लिए अपने तार्किक वॉल्यूम समूह का विस्तार करना चाहता हूं।

मैं वॉल्यूम समूह , मेरा तार्किक आयतन / घर और फ़ाइल सिस्टम (ext4) को / घर पर कैसे बढ़ाऊँ ? क्या यह ऑनलाइन करना संभव है?

पुनश्च: हाँ, मुझे पता है कि मुझे अपने डेटा का बैकअप लेना है :)

/dev/sdb/  (240GB)
    linuxvg  (160GB) should use 100% of the disk space
        swap
        root
        home (ext4, 128GB) should be extended to use the remaining space

का आउटपुट sudo vgdisplay:

  --- Volume group ---
  VG Name               linuxvg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               160,00 GiB
  PE Size               4,00 MiB
  Total PE              40959
  Alloc PE / Size       40959 / 160,00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               ...

  --- Logical volume ---
  LV Path                /dev/linuxvg/swap
  LV Name                swap
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation host, time mint, 2013-08-06 22:48:32 +0200
  LV Status              available
  # open                 2
  LV Size                8,00 GiB
  Current LE             2048
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/linuxvg/root
  LV Name                root
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation host, time mint, 2013-08-06 22:48:43 +0200
  LV Status              available
  # open                 1
  LV Size                24,00 GiB
  Current LE             6144
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

  --- Logical volume ---
  LV Path                /dev/linuxvg/home
  LV Name                home
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation host, time mint, 2013-08-06 22:48:57 +0200
  LV Status              available
  # open                 1
  LV Size                128,00 GiB
  Current LE             32767
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

  --- Physical volumes ---
  PV Name               /dev/sdb1     
  PV UUID               ...
  PV Status             allocatable
  Total PE / Free PE    40959 / 0

का आउटपुट sudo fdisk -l:

Disk /dev/sdb: 240.1 GB, 240057409536 bytes
255 heads, 63 sectors/track, 29185 cylinders, total 468862128 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
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1   468862127   234431063+  ee  GPT

Disk /dev/mapper/linuxvg-swap: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders, total 16777216 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
Disk identifier: 0x00000000


Disk /dev/mapper/linuxvg-root: 25.8 GB, 25769803776 bytes
255 heads, 63 sectors/track, 3133 cylinders, total 50331648 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
Disk identifier: 0x00000000


Disk /dev/mapper/linuxvg-home: 137.4 GB, 137434759168 bytes
255 heads, 63 sectors/track, 16708 cylinders, total 268427264 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
Disk identifier: 0x00000000

2
ठीक है, आसान तरीका सिर्फ NTFS विभाजन और उपयोग vgextendको पूरा करने के बजाय विभाजन को हटाने के लिए उपयोग करना होगा। यदि आप मौजूदा पीवी विभाजन को विकसित करते हैं, तो संभवतः आपको रिबूट करना होगा, क्योंकि लिनक्स डिस्क का उपयोग करते समय विभाजन तालिका को फिर से पढ़ने से इनकार करता है। इस ऑनलाइन के आसपास काम करना अजीब है। - कृपया अपनी वर्तमान विभाजन तालिका दिखाएं।
फ्रॉस्ट्सचुट्ज़

यदि आवश्यक हो तो मैं रिबूट कर सकता हूं।
klingt.net

जवाबों:


44

आप इसे काफी सरलता से कर सकते हैं। किंडा आश्चर्यचकित था कि यहाँ पहले से ही इसके लिए कोई उत्तर नहीं था।

आप इस पूरी प्रक्रिया को उस फाइल सिस्टम पर कर सकते हैं जिसे आप आकार बदलना चाहते हैं (हां, यह सुरक्षित है और पूरी तरह से समर्थित है)। बचाव सीडी या वैकल्पिक ऑपरेटिंग सिस्टम की कोई आवश्यकता नहीं है।

  1. विभाजन का आकार बदलें (फिर से, आप सिस्टम को चलाने के साथ ऐसा कर सकते हैं)। GParted का उपयोग करना आसान है और आकार बदलने का समर्थन करता है।
    आप निम्न स्तर के टूल का भी उपयोग कर सकते हैं जैसे कि fdisk। लेकिन आपको विभाजन को हटाना होगा और इसे फिर से बनाना होगा। बस ऐसा करते समय सुनिश्चित करें कि नया विभाजन ठीक उसी स्थान पर शुरू हो।
  2. रीबूट। चूंकि विभाजन तालिका को रनिंग सिस्टम पर संशोधित किया गया था, इसलिए यह रिबूट तक प्रभावी नहीं होगा।
  3. pvresize /dev/sdXYLVM को नया स्थान लेने के लिए चलाएँ ।
  4. के साथ तार्किक मात्रा का आकार बदलें lvextend। आप पूरी बात का उपयोग करना चाहते हैं, तो lvextend -r -l +100%FREE /dev/VGNAME/LVNAME-rसाथ ही फाइल सिस्टम आकार नहीं बदलेंगे।
    हालांकि मैं हमेशा पूरे वॉल्यूम समूह का उपयोग करने के खिलाफ सलाह देता हूं। आप कभी नहीं जानते कि आपको भविष्य में क्या चाहिए। आप बाद में हमेशा विस्तार कर सकते हैं, आप सिकुड़ नहीं सकते।

3
मैं आपके उत्तर को स्वीकार करना चाहूंगा, लेकिन मैंने आपके सुझाव के अनुसार काम नहीं किया, क्योंकि GParted एक रनिंग सिस्टम पर रूट विभाजन (कम से कम मेरे मामले में) का आकार नहीं बदल सकता है।
klingt.net

@HalosGhost मैंने आपका संपादन वापस कर दिया। partprobe -sजो आप सोचते हैं वह नहीं करता है। कर्नेल विभाजन का आकार नहीं बदलेगा, जो उपयोग में है। partprobe -sयदि केवल आकार परिवर्तन के दौरान विभाजन का उपयोग किया गया था, तो काम करता है (इसलिए जब fdisk ने कर्नेल को विफल कर दिया तो यह अधिसूचित किया गया), लेकिन यह अब नहीं है।
पैट्रिक

@ पैट्रिक, मैंने इसके लिए विचार नहीं जोड़ा; मैंने कमांड को बैकटिक्स में डालकर "सुधार" किया (कोड के लिए युद्ध मजदूरी पर बच जाता है!)।
हेलोसिहॉस्ट

ओह, क्षमा करें, गलत इतिहास की घटना के नाम को पढ़ें। @Qetesh जो तब आपके लिए लागू होता है :-)
पैट्रिक

1
विभाजन 2 को अपडेट करने के लिए कर्नेल को बताने के लिए चरण 2 के लिए "partx -u" का उपयोग करके इसे रिबूट नहीं करना संभव है: सक्रिय विभाजन पर भी काम करता है और इससे पहले /sys/.../sdXY/sive की जाँच करके सत्यापित किया जा सकता है और बाद।
एबी

11

कोई भी उत्तर LVM की शक्ति के साथ न्याय नहीं करता है।

(यह ऊपर दिए गए प्रश्न पर @frostchutz टिप्पणी पर आधारित है।)

आइए तथ्यों को प्राप्त करें:

  • ओपी में दो विभाजन हैं, sdb1 और sdb2 LVM के लिए एक भौतिक आयतन है।
  • sdb1 अभी ntfs है, हमें वॉल्यूम समूह के homeअंदर उस स्थान को लॉजिकल वॉल्यूम देने की आवश्यकता है linuxvg

"व्यावहारिक तरीका" का उपयोग करके LVM कदम:

  • sdb1 पर भौतिक आयतन बनाएँ: pvcreate /dev/sdb1
  • इसमें जोड़ें sdb1 linuxvg:vgextend linuxvg /dev/sdb1
  • homeसभी खाली जगह के साथ तार्किक मात्रा बढ़ाएँ :lvextend -l +100%FREE /dev/linuxvg/home
  • ext4 fs बढ़ाएं: resize2f /dev/linuxvg/home

LVM अप्रत्यक्ष रूप से बड़े स्तर की अनुमति देता है। लॉजिकल वॉल्यूम एक वॉल्यूम ग्रुप के अंदर होता है, जो कई डिस्क का उपयोग कर सकता है।

घर -> linuxvg -> (sdb1, sdb2, sdc1)

http://tldp.org/HOWTO/LVM-HOWTO/createvgs.html


10

इस ब्लॉग पोस्ट को पढ़ने के बाद सवाल हल हो गया । मैं संक्षिप्त रूप में समाधान लिखूंगा:

  • एक लाइव सीडी से बूट करें
  • उपयोग करें gdisk(यदि आप GPT का उपयोग करते हैं) तो आप अच्छे पुराने के साथ जा सकते हैंfdisk
  • मेरे मामले में, अपनी विभाजन सेटिंग पर ध्यान दें gdisk -l /dev/sdb
  • के साथ अपने विभाजन को हटा दें
  • पिछले एक के समान सटीक संरेखण के साथ एक नया विभाजन बनाएं (मेरे उदाहरण में ब्लॉक 2048 से शुरू)
  • अपनी नई विभाजन तालिका लिखें
  • partprobe -sरिबूट के बिना विभाजन तालिका को ताज़ा करने के लिए चलाएं
  • के साथ अपने भौतिक वॉल्यूम का आकार बदलने pvresize /dev/sdb1या जहाँ भी अपने पीवी है (प्रयोग pvsकरता है, तो आप नहीं जानते कि निर्धारित करने के लिए)
  • अब lvextend -l +100%FREE /dev/file/of/your/lvमेरे मामले में, अपनी तार्किक मात्रा का आकार बदलेंsudo lvextend -l +100%FREE /dev/linuxvg/home
  • फ़ाइल सिस्टम का आकार बदलें sudo resize2fs /dev/linuxvg/home
  • पहले संगति की जाँच करें sudo e2fsck -f /dev/linuxvg/home
  • का आनंद लें :)

वास्तव में आप उन आधे चरणों को काट सकते हैं और इसे केवल 1 रिबूट के साथ कर सकते हैं।
पैट्रिक

GParted ने विभाजन का आकार बदलने से इनकार कर दिया, क्योंकि यह बंद था (यह कुंजी प्रतीक)।
klingt.net

4

कुछ बेहतरीन जवाब पहले से।

यदि आप xfs का उपयोग कर रहे हैं, तो आप कमांड का उपयोग करते हैं

xfs_growfs /mountpoint

resize2fs के बजाय। आप यह कर सकते हैं कि उस माउंटपॉइंट सक्रिय है, जैसे कि यदि आपने रूट विभाजन को बड़ा कर लिया है, और आपको बाद में रिबूट करने की आवश्यकता नहीं है।

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