Çalışma zamanında bir temel kök bölümünü nasıl yeniden boyutlandırabilirim?

194

Çalışma zamanında bir sistemin kök bölümünün boyutunu nasıl artırabilirim?

Kök bölümlemeden sonra ayrılmamış bir bölümüm var (bu da ext4'tür), bu ayrılmamış alanı, sunucuyu kapatmak zorunda kalmadan kök bölüme ayrılan alana nasıl ekleyebilirim?

    
sordu BonboBingo 30.01.2011 18:23

9 cevap

169

GUI (Ubuntu 14.04 ve üstü) : GParted v0.17 ve daha sonra bunun için güzel bir GUI sağlar. (Eski sürümler, takılı bir bölümü yeniden boyutlandırmayı reddeder.)

Komut satırı (herhangi bir Ubuntu sürümü): Bunun için üç adım var.

1. Adım. Bölüm ilk olarak yeniden boyutlandırılmalıdır. LVM kullanıyorsanız, bu kolay ve muhtemelen nasıl devam edeceğinizi biliyorsunuzdur. Klasik bölümler kullanıyorsanız, biraz daha karmaşıktır ve belki de yeniden başlatılmasını gerektirir (ancak başka bir sistemi veya canlı CD'yi yüklemeniz gerekmez).

Bunu nasıl yaparım: İlk bölümü silmek için fdisk kullanın (buradaki fikir, diskteki verilerin korunacağıdır), daha sonra aynı konumda daha büyük boyutta dikkatlice yeniden oluşturun.

Örnek:

$ sudo fdisk /dev/sda

Command (m for help): p

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     9437183     4717568   83  Linux

Command (m for help): d
Selected partition 1

Command (m for help): p

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4, default 1): 1
First sector (2048-10485759, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759):
Using default value 10485759

Command (m for help): p

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    10485759     5241856   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Yine, yeni bölümün eski ile aynı blokta başlaması çok önemlidir. Kimlik aynı zamanda eşleşmelidir (Linux sistemleri için 83). Tüm verilerinizi en ufak bir yazım hatasıyla kaybetmeye hazır olun.

Güvenli tarafta olmak için, önyükleme bayrağını (Wikipedia’ya göre yine de geri yükleyebilirsiniz. bazı bilgisayarlarda) a . basarak.

Takas bölümünüz yolunda ise ne yapılacağını öğrenmek için yorum bölümüne bakın.

Şimdilik, insanların neden canlı bir CD kullanmasını tavsiye ettiği anlaşılmalıdır. ; -)

2. Adım. % Co_de% yardımcı olarak size hatırlattığı gibi, devam etmeden önce bölüm tablosunu yeniden yüklemeniz gerekir. En güvenli yol sadece yeniden başlatılmasıdır; ancak fdisk veya partprobe (daha fazla bilgi) de kullanabilirsiniz.

3. Adım. Bölüm yeniden boyutlandırıldıktan ve bölüm tablosu yeniden yüklendikten sonra, dosya sisteminde kpartx çalıştırması basit bir işlemdir ve bunu kök bölümü olarak takılı olsa bile yapabilirsiniz.

Örnek:

$ sudo resize2fs /dev/sda1
    
verilen cevap Søren Løvborg 06.04.2012 16:23
110

Kök bölümünüz olsa bile, ext4 dosya sisteminin bir on-line yeniden boyutlandırması mümkündür. % Co_de% komutunu kullanın.

sudo resize2fs /dev/sda1

DÜZENLEME: Çevrimiçi küçülmeye izin verilmez:

[email protected]:/home# resize2fs /dev/sda5 2654693
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/sda5 is mounted on /; on-line resizing required
resize2fs: On-line shrinking not supported
    
verilen cevap CodeAddict 02.03.2012 11:50
21

Daha kolay bir çözüm - growpart <device> <partition> kullanın:

growpart /dev/xvda 1  # Grows the partition; note the space
resize2fs /dev/xvda1  # Grows the filesystem

Her zaman olduğu gibi, her durumda bölüm bölümünüzü ( sfdisk -d /dev/xvda > partition_bak.dmp ) yedekleyin.

    
verilen cevap STRML 18.07.2017 15:26
8

Ayrıca, yeniden boyutlandırdığınız bölüm, önyükleme yaptığınız bölüm olmadıkça GParted 'den faydalanabilirsiniz. Canlı CD seçeneğini öneririm. yeni başlayanlar için biraz daha kolay.

GParted temel olarak tüm adımları uygular - yalnızca bir GUI'ye göre.

    
verilen cevap leatherjacket 30.09.2012 13:34
8

Evet, çevrimiçi bir kök bölümünü küçültebilir / taşıyabilir / büyütebilirsiniz , yeniden başlatma (ya livecd ya da usbkey) olmadan: bu cevaba danışın . Oldukça uzun ve biraz riskli olmasına rağmen, çok iyi yazılmış ve takip edilmesi kolaydır. Yani sadece ext4 bölümünüzü büyütmek istiyorsanız, geleneksel çalışma resize2fs çözümlerine sadık kalabilirsiniz.

Ben, genel çözüm, örneğin herhangi bir adanmış veya VPS çözümü üzerinde çalışacaktır.

TLDR; Bu çözüm, pivot_root - tmpfs değerini ifade eder, bu yüzden% root_ad'ınızı güvenli bir şekilde% co_de yapabilir ve bununla birlikte çalışabilirsiniz. İşiniz bittiğinde, yeni kök bölümünüzde umount geri dönersiniz.

Bu, kök dosya sistemi üzerinde herhangi bir değişiklik yapılmasına izin verir (dosyayı taşıyın, dosya sistemini değiştirin, fiziksel aygıtını değiştirin ...).

İşlemde yeniden başlatma gerekmez ve bu , pivot_root 'nın% <%> co_de% bölümleri küçültememesinin sınırını aşmasına izin verir.

Bunu kişisel olarak kullandım ve debian sistemde de çok iyi çalışıyor, bu yüzden Ubuntu üzerinde çalışmalı. Ben aynı sorunu ile uğraşan stackexchange web sitelerinde birçok soru ile bu derinlemesine çözüm görmek için çok şaşırdım.

Not: Tabii ki bölümünüzü büyütmek istiyorsanız, çok sayıda yerde ve diğer cevaplarda belirtildiği gibi, resize2fs 'si yeterli olacaktır.

    
verilen cevap vaab 01.02.2016 03:08
5

Kökün bağlandığı sırada canlı bir sistemde ext4 kök bölümünü yeniden boyutlandırmayı bitirdiniz.

[[email protected] i686]# resize2fs /dev/vg_habib/lv_root
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/vg_habib/lv_root is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 10
Performing an on-line resize of /dev/vg_habib/lv_root to 38427648 (4k) blocks.
The filesystem on /dev/vg_habib/lv_root is now 38427648 blocks long.

[[email protected] i686]# 
    
verilen cevap CDR 04.12.2012 23:40
1

Bunu sadece umount , pivot_root veya Ubuntu 16.04, 4.4.0 kernel'de birleştirilmiş 3.2 kullanarak ana bölümün geçici olarak kaldırılması olmadan başarılı bir şekilde yaptım. Dikkatli olmak için, ağ devre dışı bırakılmış bir sanal konsoldan her şeyi yaptım ve sadece bir vakada önceden bir fotoğraf çektirdim, ancak enstantane gerekli değildi, bu yüzden bunu SSH üzerinden ve çalışma seviyelerini değiştirmeden yapabildim.

Bölüm boyutunu belirle: parted /dev/sda1 print | egrep "Disk.*GB"

İsteğe bağlı olarak, ağ kullanmadan çoklu kullanıcı moduna geçin (SSH değil, bir konsoldan yapılmalıdır):

runlevel     # remember the original runlevel
init 2

İsteğe bağlı olarak bir VM anlık görüntüsünü dikkatli olun.

Bölümü yeniden boyutlandır:

parted
p
resizepart NUMBER SIZE
# answer "Yes" when asked about resizing a live partition.
q

Dosya sistemini yeniden boyutlandır: resize2fs /dev/sda1

Bir şey ters giderse, anlık görüntüsünü buradan geri yükleyebilirsiniz. Her şey yolunda giderse, normal çalışma seviyesine (yukarıda elde edilen) geri dönün - normalde 5: init 5 . Her şeyin düzgün bir şekilde geri geldiğinden emin olmak için bu noktada tam bir yeniden başlatma yapmak daha iyi olabilir (daha sonra bir tarih / ntp sorunu yaşadım).

    
verilen cevap Roger Dueck 14.07.2017 02:09
0

Daha önce belirtildiği gibi:

  • bir kök sistemden canlı olarak genişletmek mümkündür. (önyükleme bölümü hareket ettirilmediğinden zorluk çekmez)

  • canlı bir kök bölümünün küçültülmesi, harici bir önyükleme aygıtından (canlı sistem CD / USB-Stick'ten önyükleme) yapılması gerektiği gibi, herhangi bir hata, yanlış eşleşme varmış gibi .. ne olursa olsun ... sisteminiz askıda kalıyor. yeniden başlatıldı ve sonunda düzgün bir şekilde önyükleme yapamayacak.

Her türlü "ama yaptım ve işe yarıyor" saf şanstır.

    
verilen cevap ascervera 10.01.2014 22:58
0

Aşağıdaki adımları izleyin.

  1. süper kullanıcı su olarak terminali aç
  2. parted çalıştır
  3. Kullanılabilir bölümleri görmek için p yazın
  4. kök bölüm numaranızı (örn: 'sda 3', sayı 3) belirleyin ve boş alan oluşturmak için rm PARTITION NUMBER 'yi kullanarak bitişik bir bölümü silin.
  5. artık resizepart ROOT NUMBER yazarak ve gerekiyorsa sistemi yeniden başlatarak kök boyutunu artırın
  6. parted yazıp exit terminal türüne girip enter tuşuna basıp partprobe çıkışından çıkın (bu yeniden başlatmadan sonra bile yapılabilir)
  7. sonunda resize2fs /dev/sda PARTITION NUMBER çalıştırın ve geniş kök bölümünün tadını çıkarın.
verilen cevap Gurunadha Reddy 13.09.2017 22:22

Etiketlerdeki diğer soruları oku