LVM olmayan bir ext4 bölümünü yeniden boyutlandırma / büyütme / büyütme


20

Forumları aradım, ancak uygun bir cevap bulamadım:

KVM Host olarak bir Ubuntu Sunucusu 10.04 ve ayrıca 10.04'ü çalıştıran bir misafir sistemim var. Ev sahibi sistem LVM kullanır ve misafir için sanal blok aygıtı olarak sağlanan üç mantıksal birim vardır - biri / biri / biri diğeri ev, diğeri değiş tokuş etmek için. Konuk LVM'siz bölümlendi.

Ana sistemdeki mantıksal birimi zaten genişlettim - konuk daha büyük sanal diski başarıyla görüyor. Ancak, bu sanal disk, hala eski küçük boyuta sahip bir "iyi eski" bölüm içerir.

Fdisk -l çıktısı

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

Bölünmüş baskı çıktısının tümü

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

Ulaşmak istediğim, / dev / vdc1 bölümünü basitçe büyütmek veya yeniden boyutlandırmak, böylece sanal blok aygıtı / dev / vdc tarafından sağlanan tüm alanı kullanması. Sorun şu ki, bunu ayrılmaya çalıştığımda, şikayet ediyor:

(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.

Öyleyse ne yapabilirim? Bu başsız bir üretim sistemidir. Bu bölümü büyütmenin güvenli bir yolu nedir? Yine de çıkaramıyorum - bu yüzden sorun bu değil.

Düzenleme: Cfdisk bölümlenmemiş küçük bir boş alan, ardından bölüm ("önyükleme" ve Linux / ext3 olarak işaretlendi) ve ardından bölümlenmemiş alanın geri kalanını gösterdi. Bölümü silip tekrar cfdisk kullanarak oluşturduktan sonra - cfdisk büyük bir bölümlenmiş alanı (benim için iyi olacak) ve dosya sistemi sadece "Linux" olarak gösterir.

Resize2fs bu hatayı döndürür 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

Yanıtlar:


18

Bu sayfa, unmount, silmek, bölümü istediğiniz boyutta yeniden oluşturmak ve bölümü genişletmek için resize2fs komutunu kullanmanın yolunu gösterir. Resize2fs kılavuz sayfası kabul eder.

Biliyorum 'bölümü sil' kulağa korkutucu geliyor, ancak verileri hiç değiştirmiyor. Sadece kabı referans alan şeyi değiştirir. Yapmadığın sürece, mkfs.ext4iyi olmalısın.

Bölüm başlangıç ​​noktanızın olduğu gibi olması gerekir veya işletim sistemi arkasındakileri nasıl yorumlayacağını bilemez. Son nokta daha büyük bir bölüm oluşturmak için daha ileride olabilir.

Yorumdaki hatanın başlangıç ​​noktasını taşımakla ilgili olduğunu düşünüyorum. Başlatıldığı gibi tam olarak başlamanız gerekir. Bitiş noktası hareket edebilir.

Psusi'ye cfdisk yerine fdisk önerdiği ve başlangıç ​​noktası sorununu onayladığı için teşekkür ederiz.


Tamam, bölümü cfdisk ile sildim ve yeni bir tane oluşturdum. Ama o zaman resfs2fs edemedim ve ayrıca artık monte edemiyorum.
Mischa

resize2fs 1.41.11 (14-Mar-2010) resize2fs: / dev / vdc1 açmaya çalışırken süper blokta kötü bir sihir numarası. Geçerli dosya sistemi süper bloğu bulunamadı.
Mischa

1
Aslında, cfdisk bölümlenmemiş küçük bir boş alan, ardından bölüm ("önyükleme" ve Linux / ext3 olarak işaretlendi) ve ardından bölümlenmemiş alanın geri kalanını gösterdi. Bölümü silip tekrar cfdisk kullanarak oluşturduktan sonra - cfdisk büyük bir bölümlenmiş alanı (bana göre iyi olacak) ve dosya sistemi sadece "Linux" olarak gösterir.
Mischa

8
Bölmeyi, orijinal olarak aynı sektörde başlayacak şekilde yeniden oluşturmanız gerekir. Bunu cfdisk ile yapamazsınız. Fdisk veya parted kullanın ve bunları sektör kipine geçirin.
psusi

1
ext4 bölümünü, bölümün başlangıcını hareket ettirecek şekilde yeniden boyutlandırmanın bir yolu var mı? Çünkü şu andaki ext4 bölümünün önünde boş alanım var , arkada değil ... neyse ki bölümün büyüklüğünden daha fazla boş alanım var, bu yüzden sanırım aşağıdakileri yapabilirim: tüm bölümü cepheye kopyala, arkadaki birini çıkarın ve sonra taşınanı tam boyuta getirin mi? ama o anda bana korkunç hack ... gibi görünüyor
codeling

6

Bir örnek:

/ dev / sdb2, / boot bölümüdür. 100 MB, oldukça küçük. Çalışan bir sistemde bu ext4 bölümünü artırmak için (root veya sudo) yapın:

umount / önyükleme

ayrıldı / dev / sdb

(bölümlenmiş) yazdır

Model: ATA Patriot Torqx 2 (scsi)
Disk / dev / sdb: 32.0GB
Sektör boyutu (mantıksal / fiziksel): 512B / 512B
Bölme Tablosu: msdos

Sayı Başlangıç ​​Bitiş Boyutu Tür Dosya sistemi Bayraklar
1 1049kB 12.9 GB 12.9 GB birincil tür = 83
2 12.9 GB 13.0 GB 107 MB birincil ext4 türü = 83

(bölümlenmiş) rm 2

(bölümlenmiş) mkpart

Bölüm tipi? Birincil / genişletilmiş? birincil
dosya sistemi türü? [ext2]?
Başla? 12.9GB
Son mu? 13.4GB

(ayrıldı) çık

resize2fs / dev / sdb2

resize2fs 1.42.6 (21-Sep-2012)
/ dev / sdb2'deki dosya sistemi / boot'a monte edilir; on-line yeniden boyutlandırma gerekli
old_desc_blocks = 1, new_desc_blocks = 2
/ dev / sdb2 dosya sistemi şimdi 498688 blok uzunluğunda.

bitmiş!

Tüm veriler yerinde kalır. / boot kullanıma hazır ve 472 MB büyük (bölümler boyutları ile o kadar güvenli değil, nedenini öğrenmek için kılavuzu okuyun)

Tüm veriler daha önce yedeklendi, ancak yalnızca bir önlem olarak yedeklendi. Ben de aynısını yapmanı tavsiye ederim.

Başarısız olursa / boot işleminin kaldırılmasını durduran süreci bulmak için aşağıdaki komutu kullanın:

lsof / boot

İyi şanslar!


2
Tam olarak aynı yere sahip olduğunuzdan emin olmak için GB değil, sektör birimleri kullanmanız gerekir.
psusi

0

Bir bölümü silmeyi ve yeniden oluşturmayı denerseniz, bölümünüz 2048'in altında başladığında, benim gibi bir sorunla karşılaşabilirsiniz resize2fs.

Couldn't find valid filesystem superblock.

Gönderen fdisk sürümü 2.17.2 , fdisk IIUC güçleri siz "doğru hizalanmış" sabit diskte sağlamak amacıyla 2048 den başlamak üzere. Orijinal bölümünüz 2048'den önce başlamışsa, bölümü yeniden oluşturmaya çalışırken engebeli bir yolculuğa çıkacaksınız.

Bir diski klonlarken en iyi yaklaşım rsync'dir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.