Ext4 bölümü ve dosya sistemi nasıl genişletilir?


44

320GB ext4 bölmeli 400 GB diskim var. Sol alanı kullanmak için ext4 bölümünü büyütmek istiyorum (80GB boş alan).

+--------------------------------+--------+
|             ext4               |  Free  |
+--------------------------------+--------+

Bunu nasıl yapabilirim?

İnsanları kullanırken gördüm resize2fsama bölümü yeniden boyutlandırdı mı anlamıyorum.

Başka bir çözüm kullanmak olacaktır, fdiskancak bölümümü ve gevşek verilerimi silmek istemiyorum. Herhangi bir dosyayı kaybetmeden bölümü nasıl basitçe büyütebilirim?

Not: LVM'siz bağlanmamış bir veri bölümünden bahsediyorum ve yedeklerim var, ancak kurtarma için biraz zaman harcamaktan kaçınmak istiyorum.


Bu tür bir soru soruldu ve bildiğim birkaç kez cevaplandı. Buradaki arşivlere baktın mı?
mdpc

Yanıtlar:


45

Ayrılmamış bölüm ile başlamalısınız. Çıkarmayı başaramıyorsanız (örneğin, bu sizin kök bölümünüzdür veya sistemin çalışması gereken başka bir şey), bunun yerine Sistem Kurtarma CD'si gibi bir şey kullanın.

  1. Çalıştırın partedveya gpartedbir GUI tercih ederseniz ve fazladan alanı kullanmak için bölümü yeniden boyutlandırın. Size gparted, sorunuza çizdiğinize çok benzeyen güzel bir grafik gösterimi sağlamasını tercih ederim .

  2. resize2fs /dev/whatever

  3. e2fsck /dev/whatever (sadece güvenli tarafta olup olmadığınızı öğrenmek için)

  4. Bölümünüzü yeniden yerleştirin.

Bu hatayı hiç görmedim, ilk önce verilerinizi yedekleyin!


5
resize2fsAdam sayfanın mesajı: Dosya sistemi monte edilirse, çekirdek destekleri on-line yeniden boyutlandırma varsayarak dosya sistemini monte boyutunu genişletmek için kullanılabilir. (Bu yazı itibariyle, Linux 2.6 çekirdeği, ext3 ve ext4 kullanılarak kurulan dosya sistemlerinde çevrimiçi yeniden boyutlandırmayı destekler.) Ancak, takılı bir dosya sisteminin yeniden boyutlandırılması daha tehlikeli bir işlemdir, çünkü çekirdek, nadiren kullanılan kodu çalıştırırken kolayca donabilir veya çökebilir ve dosya sisteminizi kötü durumda bırakır.
200_success

1
Doğru - ancak dosya sistemi takılıyken bölme tablonuzla uğraşmak istemezsiniz. Bu yüzden fs unmounted ile başladım.
Flup

1
Ext4 resize4fsiçin RHEL 5 yerine olabilir .
Zac Thompson

1
Kök dosya sisteminizle bölümü büyütmeniz yeterli olacaktır: sürece 1.başlangıç ​​sektör numarasını değiştirmeyin. 2.Bir sonraki adıma geçmeden önce bölüm tablosunu değiştirdikten sonra yeniden başlatıyorsunuz.
kasperd

, CentOS 6’da bir ext4 bölümünü yeniden boyutlandırmayı reddetti.
reinierpost

21

Evet, daha önceden sıralanmış bir bölüme sahipseniz EXT4 fs'yi çevrimiçi olarak büyütebilirsiniz. Bölümlemenizi sıraladınız mı? LVM'niz var mı?

sudo resize2fs /dev/drive_to_grow

fdiskbölümünüzü yeniden boyutlandıracak, doğru, ancak eğer bu bir kök bölüm ise (ya da varsa herhangi bir bölüm varsa) önce çıkarılması gerekir. Bu yüzden büyük olasılıkla çevrimdışı!

Disk / fs işlemleri ile ilgili herhangi bir şey olduğu gibi, yedekleme ve test edilmiş, iyi anlaşılmış bir kurtarma işlemine sahip olmanızı şiddetle tavsiye ederim.


Eğer kullanırsanız fdiskolmak emin (örneğin hibrid MBR ile) MBR ve GPT kullanabilirsiniz kontrol etmek.
stek29

2
Benim Debian XEN sunucusunda ben ile benim mantıksal hacim resized lvextend +40G /dev/vg0/volumeNamesonra vm içinde kök olarak giriş yaptıktan girdi çalışan kök dosya sistemini büyüdükçe yeni maks. Bunun gerekli olup olmadığından emin değilim, ancak bu işlemden sonra vm'yi yeniden başlattım. Her şey yolunda görünüyor. resize2fs /dev/xvda2
rubo77

1
@ rubo77 Hayır, yeniden başlatmaya gerek yok,
Chris

5

Bazı VDS sunucularında, birincil olmayan bir kök bölüme sahip olabileceğinizi ve önce Genişletilmiş bölüm kapsayıcısını yeniden boyutlandırmanız gerekebileceğini unutmayın.

Örneğin, planınızı yeni yükselttiniz ve şöyle bir şeye sahip oldunuz:

Disk /dev/vda: 83886080s
Number  Start    End        Size       Type      File system  Flags
1      2048s    194559s    192512s    primary   ext2         boot
2      196606s  51197951s  51001346s  extended
5      196608s  51197951s  51001344s  logical   ext4

İşte / dev / vda2 - sizin Genişletilmiş konteyneriniz. Ve / dev / vda5 - kullanılabilir alanın tamamını yeniden boyutlandırmamız gereken ana bölüm.

En basit yol:

apt-get -y install parted
parted /dev/vda unit s print all # print current data for a case
parted /dev/vda resizepart 2 yes -- -1s # resize /dev/vda2 first
parted /dev/vda resizepart 5 yes -- -1s # resize /dev/vda5
partprobe /dev/vda # re-read partition table
resize2fs /dev/vda5 # get your space

Bana gerçekten yardımcı olan, ENDnegatif sayıya ayarlayabileceğinizi görmekti . Genellikle yeniden boyutlandırılmış bir bölümün tam linux boyutunu bilmiyorsunuz - ENDargümanını nasıl ayarlayacağınızı bilmiyorsunuz resizepart. Bunu ayarlamak -1s, bölümünüzü maks.
srigi

Hata: Geçersiz belirteç -1s
starbeamrainbowlabs

3

Parted, Centos'ta ext4 üzerinde çalışmaz. Veri kaybına uğramadan (doğruladım) çalışan bölümü silmek ve yeniden oluşturmak için fdisk kullanmak zorunda kaldım. Http://geekpeek.net/resize-filesystem-fdisk-resize2fs/ adresindeki adımları takip ettim . İşte, özet olarak:

$ sudo fdisk /dev/sdx 
> c
> u
> p
> d
> p
> w
$ sudo fdisk /dev/sdx 
> c
> u
> p
> n
> p
> 1
> (default)
> (default)
> p
> w

1
Sunucu Arızasına Hoşgeldiniz! Bağlantı çürümesine karşı korunmak için lütfen cevabın içindeki adımları özetleyiniz.
200_success

Bu işlemi kullandık, ancak bölümü oluşturmak için gdisk kullandım. Bu, veriyi kaydetmeme ve> 2TB
pcnate

2

partedkutu resizebölümleri ve bunların dosya sistemleri.


Teşekkürler, grafiksel bir tane kullanıyordum ve bölümlemenin yeniden boyutlandırılmasını desteklemiyor. Opsiyonu cli programında gördüm, fakat veriyi kaybetmeden nasıl kullanabileceğimi söyleyebilir misiniz? In resize NUMBER START ENDvardır başlangıç ve bitiş sektör numaraları? Bunu nasıl bilebilirdim?
mimipc

Bir bölümü yeniden boyutlandırma gibi riskli bir işlem yapmadan önce verilerinizi daima yedeklemeniz önerilir. partedBirim seçimini destekler - örneğin, sson eki sektörler için Bveya GBbaytlar %için, cihaz boyutunun yüzdesi cyliçin ve silindirler için kullanın.
200_success

2

Sen kullanabilirsiniz fdiskveya cfdiskbölümünü değiştirmek için (veya yeniden oluşturma) (sadece emin başlangıç sınırını değişmeyecek olması), sonra yeniden başlatılır ve resize2fs. Ancak genel olarak MBR / GPT yerine LVM-2 kullanılması tercih edilir, çünkü çekirdek yeniden başlatılmadan bu değişiklikleri getirmenize izin verir.


1

Sadece bu konuyu hala okuyan herkes için nasıl yaptığımı netleştirmek için.
Yeniden boyutlandırmak istediğiniz önyükleme bölümü ise, o zaman sadece bir Linux olan bir bootcd veya bootusb "kurtarma" sürücüsünden önyüklemelisiniz. Bu, Linux'ta makinede değişiklik yapmak istediğiniz sürücünün dışında çalışmanıza olanak sağlar.

Bu durumda en iyi "kurtarma" cd veya usb'inin
bir kurtarma görüntüsüne ihtiyaç duyduğunuz, önyüklenebilir gparted USB veya CD Kutuları
olacağını düşünüyorum.
sda1 = önyükleme (veya takas)
sda2 = takas (veya önyükleme)
sda3 = /
Kullanılmayan alan

  1. Genişletilecek bölüm son bölüm DEĞİL ise, bölümleri taşımak veya yeniden boyutlandırmak için gparted önyükleme görüntüsü kullanmanız gerekir.
    sda1 = boot
    sda2 = / (genişletilecek bölüm son değil)
    sda3 =
    kullanılmayan alanı değiştir

Farklı bir bölüm olan / home gibi "root" bölümü (/) olmayan, monte edilmiş bir bölümü değiştirmek istiyorsanız, kurtarma görüntüsü kullanmanıza gerek yoktur. Bu, özellikle son bölüm ise geçerlidir.
sda1 = önyükleme
sda2 = /
sda3 = / ev
kullanılmayan alanı
-veya-
sda1 = /
sda2 = / ev
kullanılmayan alanı

Bu, daha küçük bir sürücüden veya SSD'den bir görüntü çekip daha büyük bir SSD'ye taşıdığımda yaşadığım durum.

Bu durumda, uzatırken sadece evden sökmeniz / çıkarmanız gerekir. Ancak / home'u kaldırmak için, içinde ana dizini bulunan herhangi bir kullanıcı hesabına giriş yapmadığınızdan emin olmanız gerekir. "Root" kullanıcısının giriş dizini doğrudan sistem kökünün altında / as / in in / root olarak olduğundan, root olarak giriş yapabiliyorsanız, / home'un bağlantısını kaldırabilirsiniz.

Bir GUI oturumunu kapattım (KDE / Gnome / etc) oturumunu kapattım ve bir kabuk oturumu açmak için [CTRL] + [ALT] + [F1] tuşlarını kullanın.
Bir kullanıcı oturum açma oturumunu yeni kapattıysanız, herhangi bir dosyayı kapatmayı bitirmek 20-30 saniye sürebilir, bu yüzden / home'ları doldurmaya çalışırken hatalar alabilirsiniz.
1. umount / home (30 saniyeye kadar başarısız olursa bu komutu tekrar denerim, sonra bir yere "cd / home / xxx" olup olmadığımı görmek için diğer oturumlara bakın.)
2. / dev / sda
a. resize x (x = yeniden boyutlandırmak istediğiniz bölüm, bölümlerin listesini almak için "p" kullanın)
b. Resize'ın son bölümünü girin = "-1" (eksi 1, diskin sonundan 1 sektör anlamına gelir)
c. q (ayrılır)
3 resize2fs / dev / sda "x" (x = yeniden boyutlandırılacak bölüm. Bu, dosya sistemini de yeniden düzenler)
4. df -m (Yeniden boyutlandırıldığını doğrulamak için kontrol ediyorum / ana sayfa)
Bu yöntemi kullanarak dosyaları hiç kaybetmedim veya sürücüyü bozmadım.

İyi şanslar


Ve yine de, hiçbir yedekleme yapmıyorsunuz.
Deer Hunter,
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.