गैर-LVM ext4 विभाजन का आकार बदलने / बढ़ाने / कैसे करें


20

मैंने पहले ही मंचों को खोज लिया है, लेकिन एक अच्छा उपयुक्त उत्तर नहीं पा सका:

मेरे पास उबंटू सर्वर 10.04 केवीएम होस्ट और एक अतिथि प्रणाली के रूप में है, जो 10.04 भी चलता है। होस्ट सिस्टम LVM का उपयोग करता है और तीन तार्किक वॉल्यूम हैं, जो अतिथि को वर्चुअल ब्लॉक डिवाइस के रूप में प्रदान किए जाते हैं - एक के लिए /, एक / घर के लिए और एक स्वैप के लिए। अतिथि का विभाजन LVM के बिना किया गया था।

मैंने पहले से ही होस्ट सिस्टम में तार्किक मात्रा बढ़ाई है - अतिथि सफलतापूर्वक बड़ी वर्चुअल डिस्क को देखता है। हालांकि, इस वर्चुअल डिस्क में एक "अच्छा पुराना" विभाजन है, जिसमें अभी भी पुराने छोटे आकार हैं।

Fdisk -l का आउटपुट है

me@produktion:/$ LC_ALL=en_US sudo fdisk -l

Disk /dev/vda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c8ce7

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *           1        3917    31455232   83  Linux

Disk /dev/vdb: 2147 MB, 2147483648 bytes
244 heads, 47 sectors/track, 365 cylinders
Units = cylinders of 11468 * 512 = 5871616 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000f2bf7

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1               1         366     2095104   82  Linux swap / Solaris
Partition 1 has different physical/logical beginnings (non-Linux?):
     phys=(0, 32, 33) logical=(0, 43, 28)
Partition 1 has different physical/logical endings:
     phys=(260, 243, 47) logical=(365, 136, 44)

Disk /dev/vdc: 225.5 GB, 225485783040 bytes
255 heads, 63 sectors/track, 27413 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00027f25

   Device Boot      Start         End      Blocks   Id  System
/dev/vdc1               1        9138    73398272   83  Linux

सभी पार्टेड प्रिंट का आउटपुट है

Model: Virtio Block Device (virtblk)
Disk /dev/vda: 32.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  32.2GB  32.2GB  primary  ext4         boot


Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      1049kB  2146MB  2145MB  primary  linux-swap(v1)


Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 225GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  75.2GB  75.2GB  primary  ext4

मुझे जो हासिल करना है, वह बस विभाजन / dev / vdc1 को बढ़ाना या आकार देना है, ताकि यह वर्चुअल ब्लॉक डिवाइस / देव / vdc द्वारा प्रदान की गई पूरी जगह का उपयोग करे। समस्या यह है, कि जब मैं भाग के साथ ऐसा करने की कोशिश करता हूं, तो यह शिकायत करता है:

(parted) select /dev/vdc                                                  
Using /dev/vdc
(parted) print                                                            
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 225GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  75.2GB  75.2GB  primary  ext4

(parted) resize 1                                                         
WARNING: you are attempting to use parted to operate on (resize) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs.  We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
Start?  [1049kB]?                                                         
End?  [75.2GB]? 224GB                                                     
Error: File system has an incompatible feature enabled.  Compatible features are has_journal, dir_index, filetype, sparse_super and large_file.  Use tune2fs
or debugfs to remove features.

तो मै क्या कर सकता हूँ? यह एक हेडलेस उत्पादन प्रणाली है। इस विभाजन को बढ़ने का एक सुरक्षित तरीका क्या है? मैं इसे अनमाउंट कर सकता हूं, हालांकि - इसलिए यह समस्या नहीं है।

संपादित करें: Cfdisk ने एक छोटा सा खाली स्थान दिखाया गया था, तब विभाजन ("बूट" और लिनक्स / एक्सट 3 के रूप में चिह्नित किया गया था) और उसके बाद शेष बिना विभाजन वाला स्थान। विभाजन को हटाने और cfdisk का उपयोग करके इसे फिर से बनाने के बाद - cfdisk एक बड़ा विभाजन वाला क्षेत्र दिखाता है (जो मेरे साथ ठीक होगा) और फाइल सिस्टम केवल "लिनक्स" के रूप में टाइप करता है

Resize2fs इस त्रुटि को लौटाता है resize2fs 1.41.11 (14-Mar-2010) resize2fs: Bad magic number in super-block while trying to open /dev/vdc1 Couldn't find valid filesystem superblock

जवाबों:


18

यह पृष्ठ वांछित तरीके से विभाजन को हटाने, हटाने, फिर से बनाने, और विभाजन का विस्तार करने के लिए resize2fs का उपयोग करने के तरीके को इंगित करता है। Resize2fs मैन पेज सहमत हैं।

मुझे पता है कि 'विभाजन को हटाएं' डरावना लगता है, लेकिन यह डेटा को बिल्कुल भी नहीं बदलता है। यह सिर्फ कंटेनर को संदर्भित करने वाली चीज़ को बदलता है। जब तक mkfs.ext4आप ठीक नहीं हो जाते।

आपका विभाजन प्रारंभ बिंदु वैसा ही होना चाहिए जैसा कि यह था या OS को नहीं पता होगा कि इसकी व्याख्या कैसे की जाए। अंतिम बिंदु फिर एक बड़ा विभाजन बनाने के लिए आगे हो सकता है।

मुझे लगता है कि टिप्पणी में त्रुटि स्टार्ट पॉइंट को स्थानांतरित करने से संबंधित है। आपको इसे ठीक उसी बिंदु पर शुरू करने की आवश्यकता है जैसा कि इसे शुरू किया गया था। अंतिम बिंदु चारों ओर घूम सकता है।

क्रेडिट करने के लिए psusi cfdisk के बजाय fdisk सुझाव और प्रारंभ बिंदु मुद्दे की पुष्टि के लिए।


ठीक है, मैंने cfdisk के साथ विभाजन को हटा दिया और एक नया बनाया। लेकिन मैं इसे फिर भी resize2fs नहीं कर सका और मैं इसे अब माउंट नहीं कर सकता।
मिशा

resize2fs 1.41.11 (14-Mar-2010) resize2fs: सुपर-ब्लॉक में खराब मैजिक नंबर को खोलने के लिए प्रयास करते समय / dev / vdc1 को मान्य फाइलसिस्टम सुपरब्लॉक नहीं मिल सका।
मिशा

1
वास्तव में, cfdisk ने एक छोटे से खाली स्थान को बिना विभाजन वाला स्थान दिखाया, फिर विभाजन ("बूट" और लिनक्स / एक्सट 3 के रूप में चिह्नित किया गया) और फिर बाकी बिना भाग के अंतरिक्ष में। विभाजन को हटाने और cfdisk का उपयोग करके इसे फिर से बनाने के बाद - cfdisk एक बड़ा विभाजन क्षेत्र दिखाता है (जो मेरे साथ ठीक होगा) और जैसा कि फाइल सिस्टम केवल "लिनक्स" टाइप करता है।
मिशा

8
आपको विभाजन को फिर से बनाने की आवश्यकता है ताकि यह ठीक उसी क्षेत्र में शुरू हो जाए जो उसने मूल रूप से किया था। आप cfdisk के साथ ऐसा नहीं कर सकते। Fdisk या parted का उपयोग करें और उन्हें सेक्टर मोड में रखें।
Psusi

1
वहाँ किसी भी तरह से ext4 विभाजन का आकार बदलने के लिए है ताकि विभाजन की शुरुआत स्थानांतरित हो जाए? क्योंकि मेरे पास वर्तमान ext4 विभाजन के सामने खाली स्थान है , पीछे नहीं ... सौभाग्य से मेरे पास विभाजन से अधिक खाली स्थान है, इसलिए मुझे लगता है कि मैं निम्नलिखित कार्य कर सकता हूं: पूरे विभाजन को सामने की ओर कॉपी करें, पीछे के एक को हटा दें, और फिर एक आकार को पूरे आकार में बदल दें? लेकिन उस समय मेरे लिए एक भयानक हैक की तरह लगता है ...
कोडिंग

6

एक उदाहरण:

/ dev / sdb2 / boot विभाजन है। यह 100 एमबी का है, जो छोटा है। रनिंग सिस्टम पर इस ext4 विभाजन को बढ़ाने के लिए (मूल, या sudo के रूप में) करें:

umount / बूट

जुदा / देव / sdb

(parted) प्रिंट करें

आदर्श: ATA पैट्रियट Torqx 2 (scsi)
डिस्क / देव / sdb: 32.0GB
सेक्टर का आकार (तार्किक / भौतिक): 512B / 512B
विभाजन तालिका: msdos

नंबर स्टार्ट एंड साइज टाइप फाइल सिस्टम फ्लैग्स
1 1049kB 12.9GB 12.9GB प्राइमरी टाइप = 83
2 12.9GB 13.0GB 107MB प्राइमरी ext4 टाइप = 83

(parted) rm 2

(parted) mkpart

विभाजन प्रकार? प्राथमिक / विस्तारित? प्राथमिक
फ़ाइल सिस्टम प्रकार? [ext2]?
शुरू? 12.9GB
अंत? 13.4GB

(parted) छोड़ दिया

resize2fs / dev / sdb2

resize2fs 1.42.6 (21-Sep-2012) फाइल
सिस्टम पर / dev / sdb2 / boot पर आरूढ़ है; ऑन लाइन आवश्यक
पुराने_डेस्क_ब्लॉक = 1, न्यू_डेस्क_ब्लॉक = 2 ​​का आकार
परिवर्तन / 2 / devd / sdb2 पर फाइल सिस्टम अब 498688 लंबा है।

किया हुआ!

सारा डेटा यथावत रहता है। / बूट उपयोग के लिए तैयार है और 472MB बड़ा (आकार के साथ सुरक्षित नहीं है, यह जानने के लिए मैनुअल पढ़ें)

पहले सभी डेटा का बैकअप लिया गया था, लेकिन केवल एहतियात के तौर पर। मैं ऐसा ही करने की सलाह देता हूं।

यदि यह विफल हो जाता है, तो अनमाउंटिंग / बूट रोकने वाली प्रक्रिया को खोजने के लिए निम्न कमांड का उपयोग करें:

lsof / बूट

सौभाग्य!


2
आपको क्षेत्रों की इकाइयों का उपयोग करने की आवश्यकता है, जीबी की नहीं, यह सुनिश्चित करने के लिए कि आप इसे उसी स्थान पर प्राप्त करें।
Psusi

0

यदि आप किसी विभाजन को हटाने और पुनः बनाने का प्रयास करते हैं, जब आपका विभाजन 2048 से नीचे शुरू हुआ तो आप कुछ परेशानी के लिए हो सकते हैं जैसे मैं था resize2fs

Couldn't find valid filesystem superblock.

से fdisk संस्करण 2.17.2 , fdisk IIUC बलों आप अपनी हार्ड ड्राइव सुनिश्चित करने के लिए 2048 से शुरू करने के लिए "सही ढंग से गठबंधन" है। इसलिए यदि आपका मूल विभाजन 2048 से पहले शुरू हुआ है, तो आप विभाजन को फिर से बनाने की कोशिश कर रहे एक ऊबड़ सवारी के लिए हैं।

डिस्क पर क्लोनिंग करते समय rsync का सबसे अच्छा तरीका है ।

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