Sunucuda GUI kullanmadan komut satırını kullanarak bölümleri nasıl yeniden boyutlandırırım?


44

Sunucuya yalnızca bir terminal aracılığıyla erişebiliyorum ve GParted! Gibi grafik araçlarını kullanamıyorum.
Takas için kökün bir kısmından (yaklaşık 768mb) yeni bir bölüm oluşturmak istiyorum.

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda         20G  1.3G   18G   7% /
udev             10M     0   10M   0% /dev
tmpfs           199M  4.9M  194M   3% /run
tmpfs           100M   12K  100M   1% /run/user
tmpfs           5.0M  4.0K  5.0M   1% /run/lock

Yanıtlar:


36

Depolama aygıtındaki bölümlerden biri takılıysa, bölümü küçültemez / düzenleyemezsiniz. Bu nedenle, kök dosya sistemini kaldırmak ve düzenlemek için işletim sisteminin kapatılması gerekir. Ardından canlı bir sisteme önyükleme yapın ve bölümü diğer yanıtlarda açıklandığı şekilde düzenleyin.

Alternatif çözüm: takas dosyası

Tüm bir bölüm oluşturmaya alternatif olarak, bir takas dosyası anında boyutunu değiştirebilme özelliği sunar ve tamamen daha kolay kaldırılır. Takas dosyası çalışırken takılabilir olabilir . yani OS'yi çıkarmadan / kapatmadan eklenebilir ve çıkarılabilir.

  1. Adı verilen 512 MB'lık bir dosya oluşturun /swapfile. Bu bizim takas dosyamız olacak.

    fallocate -l 512M /swapfile  
    

    VEYA

    dd if=/dev/zero of=/swapfile bs=1M count=512
    
  2. Doğru izinleri ayarlayın (çünkü dünyaca okunabilir bir takas dosyası büyük bir yerel güvenlik açığıdır):

    chmod 600 /swapfile
    
  3. Doğru boyutlu dosyayı oluşturduktan sonra takas için biçimlendirin:

    mkswap /swapfile
    
  4. Takas dosyasını etkinleştirin:

    swapon /swapfile
    
  5. Düzen /etc/fstabve takas dosyası için bir girdi ekleyin:

    /swapfile none swap defaults 0 0
    

Arch linux wiki'de daha fazla ayrıntı .


Bence bu en kolay ve etkili cevap =)! Yine de, bir bölüm yerine bir dosya kullanmanın etkileri var mı?
Alaa Ali,

2
Dosya parçalanmışsa biraz Düşük Performans. Bitişik bir takas dosyası veya bir bölüm için performans avantajı yoktur, her ikisi de aynı şekilde ele alınır.
totti

1
Bence bu en iyi çözüm. Bölümü (tabloları) biçimlendirme, daraltma veya başka şekilde değiştirmediğiniz için veri kaybı riski yoktur.
R110,

27

Her şeyden önce, kullanıyorsanız kök bölümünüzü küçültmek için yeniden boyutlandırmayacağınızı bilmek önemlidir (Buna çevrimiçi küçültme denir). Sadece çevrimiçi olarak büyütebilirsiniz. Bu resize2fskomut tarafından desteklenir . Aşağıdakileri varsayacağım:

  • Kök bölümündeki bilgilerinizi kaybetmek istemezsiniz.
  • LiveCD kullanmak için sabit sürücüye fiziksel erişiminiz yok. Bu sanal bir ortam veya uzak bir ortam için geçerli olabilir. Sanal bir durumda, VM'yi bir LiveCD'den önyüklemeye ayarladıysanız, bir LiveCD'den önyüklemeyi yönetebilirsiniz. Bu, VM'nin kolayca yeniden boyutlandırmak için Gparted uygulamasını çalıştıracağınız yerden Masaüstü GUI'sini çıkarmayı desteklediğini varsayıyor. Fakat bu daha az muhtemel olduğu için yapamayacağınızı varsayıyorum.

Yeniden boyutlandırabileceğiniz 2 tür bölüm, galaksinin yaratılmasından bu yana Çevrimiçi yeniden boyutlandırmayı (Küçülme / Büyüme) destekleyen Mantıksal Cilt Yöneticisi bölümleri ve çoğumuzun kullandığı standart bölümler vardır. Şu anda tam çevrimiçi yeniden boyutlandırma (% Shrink / Grow) neredeyse% 100 desteğine sahip tek btrfs dosya sistemi (hala geliştirilme aşamasındadır). Ext4 dosya sisteminde çoğumuzun kullandığı normal bölümlerin nasıl yapıldığını açıklayacağım.

Bölümü Yeniden Boyutlandırma (Büyüme)

Bölümünüzü büyütmek için bunu kök monteli yapabilirsiniz. Bunu yapmak için basitçe yapın:

sudo resize2fs /dev/sda1

Zaten birleştirilmeye hazır boş alana sahip olmanız şartıyla. Daha sonra değişikliklerin doğru şekilde gerçekleşmesi için yeniden başlatmanızı öneririm. Yukarıdaki komut izin verilen maksimum değere yeniden boyutlandırılır. Belirli bir boyuta yeniden boyutlandırmak istiyorsanız, boyutu sadece sonuna ekleyin:

sudo resize2fs /dev/sda1 25G

25,4 GB belirtmek istiyorsanız, "." Kullanamayacağınızı unutmayın. bir ölçü biriminden aşağı inmeniz gerekir. Bu durumda GB’dan MB’ye, şöyle görünecektir:

sudo resize2fs /dev/sda1 25400M

Bu şekilde 25.4G'lik bir bölüme sahip olacaksınız.

Bölümü Yeniden Boyutlandırma (Küçültme)

Bölünmeyi küçültmek, aşağıdakileri içeren iki aşamalı bir işlemdir:

  • Dosya sisteminin boyutunu gerekli miktar ile azaltmak.
  • Temel blok aygıtının boyutunu, dosya sistemininkiyle aynı olacak şekilde küçültme.

Bir dosya sisteminin kapasitesini azaltmadan önce blok aygıtının boyutunu azaltmanız gerekir (Bu, bir bölüm ya da mantıksal bir birim olabilir). Bu, ext * dosya sistemlerinden hiçbiri için uygun olmadığından, 500 MB takas olanını oluşturmak için 20 GB’dan 19.5 GB’a kadar küçültemezsiniz.

Ext4 bile çevrimiçi küçülmeyi desteklemiyor. Bunu yapmaya çalışırsanız aşağıdakileri alırsınız:

görüntü tanımını buraya girin

Bildiğim kadarıyla tek bahsiniz ya:

  • Orijinal Ubuntu Sunucusunun kök bölümünü küçültmek için kullanılabilecek aynı sunucuya başka bir Ubuntu sürümü kurun (başka bir bölüme).

  • Ubuntu sunucusunu tamamen istediğiniz boyutta sıfırdan yükleyin

  • Bölümü yeniden boyutlandırmak için Ubuntu Server Live Image kullanın. Bu durumda, bu ekrana gitmeniz gerekir:

    görüntü tanımını buraya girin

    Ve yukarıdaki resimde gösterildiği gibi Yeniden Boyutlandır seçeneğini seçin. Buradan, yeni boyutun ne olacağını seçeceksiniz, buradan üniteyi söküp isterseniz küçültebilirsiniz.

Burada ek bir yardım olarak, gparted filesystem suppor http://gparted.org/features.php olan, desteklenenlerin çok ayrıntılı bir listesini verir ve tam çevrimiçi yeniden boyutlandırmaya sahip olup olmadıklarını içerir. Btrfs aralarında.


Merak ediyorum, çevrimiçi küçültmeyi destekleyen başka dosya sistemleri var mı? belki zfs veya btrfs?
Seth

En altta bir link ekledim. Dosya sistemi çevrimiçi olarak yeniden boyutlandırılacaksa çekirdeğin de bunu desteklemesi gerekir.
Luis Alvarado

Vmware makinede ubuntu sunucum var ve disk boyutu 120G. Ancak ilk çözümü kullandıktan sonra şu hatayı alıyorum: Dosya sistemi zaten 27262720 blok uzunluğunda. Yapacak bir şey yok!
Dr.Jacky

1
Teşekkürler @ Mr.Hyde. Workstation 10 ve hatta 11 ile ilgili birkaç sorun vardı. 12 öneriyorum ve Ubuntu için de en son ya da yeni LTS'ye güncelleme yapacağım çünkü bazı sorunlar da vardı. Benim durumumda VMware iş istasyonu 12.0.1 ve Ubuntu 15.10 64 bit var.
Luis Alvarado,

3
The resize2fs program does not manipulate the size of partitions.
Resize2fs

6

Bu sorunun cevabı, küçülecek bölümün bağlantısını açıp açmamaya bağlıdır. Senin durumunda, muhtemelen bölmenin bağlantısını kesemezsin. Linux'ta (UNIX / MAC OS), bir bölümün montajı , dosya sisteminin kullanılması ve bağlama noktasına bağlanması (sizin durumunuzda /) anlamına gelir. Çıkarma , dosya sistemini kullanmayı bıraktığınız ve eşleme noktasını eşleştirmeyi kaldırdığınız anlamına gelir. Çalışan işletim sisteminizi içeren dosya sistemini çıkaramazsınız.

Bölüm kaldırılabilirse

Üzerine /dev/sda4monte edilmiş bir 200GB ext4 bölümünü küçültmek istediğinizi varsayalım /data. Şu anda müzik, film veya benzeri şeyler içeriyor, böylece geçici olarak bağlantısını kesebilirsiniz. 4GB takas oluşturmak istiyorsunuz.

sudo umount /dev/sda4

bölümü kaldırmak için.

sudo resize2fs /dev/sda4 196G

ext4 dosya sistemini yeniden boyutlandırmak için yeterli alana sahip olduğunu varsayarak 196 GB'a ayarlayın. Şimdi, bölümü küçültmek zorundasın. Şu anda cfdiskmevcut bölümü silmek ve yerine daha küçük bir bölüm oluşturmak için kullanmanız gerektiğine inanıyorum . Daha sonra takas için yeni bir bölüm de oluşturabilirsiniz.

sudo cfdisk /dev/sda 

bölümleme tablonuzu incelemek için metin tabanlı bir GUI verecektir. printBölüm tablosuna bu noktada bir dosyaya veya ekrana gitmenizi ve mevcut yapılandırmayı yedek olarak not almanızı öneririm . Daha sonra /dev/sda4ve deletebölümünü seçebilirsiniz . Onun yerine free spacegörüntülenecektir. newYerinde 196 GB ile yeni bir bölüm oluşturmak için kullanın ve türü ext4 olarak ayarlayın. Ardından izleyen boş alana gidin ve türüyle 4 GB takas bölümünü oluşturun swap. Not: Bu komutları test etmedim, çünkü /şu an oynayamadım .

Bölüm kaldırılamadıysa

Monte edilmiş bir ext3 / 4 bölümünü daraltamazsınız (bakınız sayfa resize2fs). İşletim sisteminizi çalıştırdığınızdan, bağlantısını /kesemezsiniz /. Bu, değişiklikleri yapmak için başka bir işletim sistemini (örneğin USB anahtarından) başlatmanız gerektiği anlamına gelir.

Senin durumunda, uzak bir sunucudur (büyük olasılıkla KVM'de), bu nedenle USB / canlı işletim sistemi görüntüsünden önyükleme yapamayabilirsiniz. Bölümlemeyi vServer sağlayıcınızdan bir yönetici GUI'siyle değiştirmenin başka yolları da olabilir. Bunun şu anda en iyi bahis olduğuna inanıyorum.

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.