Bir LVM bölümünü nasıl yeniden boyutlandırabilirim? (yani: fiziksel hacim)


89

Yeni serbest kalan alanda yeni bir bölüm oluşturmak için ikinci (LVM) bölümümü küçültmek istiyorum. Bunu yapmak için Canlı CD kullanıyorum, çünkü bu bölümü kullanımdayken yeniden boyutlandıramayacağımı / taşıyamayacağımı biliyorum. GParted'i Canlı CD'de açtığımda, bölümü yeniden boyutlandıramadığımı fark ettim çünkü sağ tıkladığımda "resize / move" seçeneği devre dışı bırakılıyor.

Çıkarmaya çalıştım, "tembel" diye çıkarmaya çalıştım ( umount -l /dev/sda2) ( ama işe yaramadı).

GParted'in ekran görüntüsü:

GParted ekran görüntüsü

Yanıtlar:


49

Google’da insanların benzer sorunları yaşadığı çok sayıda sonuç var gibi görünüyor. Bir örnek:

Bunu denemeden önce tüm önemli verilerinizi yedekleyin. Bölümleri yeniden boyutlandırırken her zaman tüm verilerinizi kaybedebileceğinizi varsayalım.

Veri kaybı olmadan LVM'yi küçültün

Bu forum başlığı aşağıdaki prosedürü önerir, bu örnekte bir bölümü 10G'den 9G'ye küçültüyoruz:

İlk önce, biz sökünüz.

sudo umount /dev/vg_blah/lv_blah

Dosya sistemini kontrol et.

sudo e2fsck -f /dev/vg_blah/lv_blah

Dosya sistemini ve mantıksal birimi yeniden boyutlandırın. Bunu bir adımda yapmak, veri kaybına neden olan hataları önleyebilir. (Not lvreduce parametresi -Lyorumlar G2 ^ 30 bayt ve g9 ^ 10 olarak bayt.)

sudo lvreduce --resizefs -L 9G /dev/vg_blah/lv_blah

(isteğe bağlı) İstediğiniz takdirde fiziksel bir sürücüyü ses grubundan çıkarın (şimdi kullanılmamış bir sürücünüz varsa).

sudo vgreduce vg_blah /dev/sdxy

Bütün kredi Briancgee'ye gidiyor .

Not: Diskin sonunda başka bir lv varsa vgreduce, başarısız cannot resize to xxxxx extents as later ones are allocatedolacağım - sildiğim bir takas lv vardı. Bkz Nasıl Ubuntu LVM mantıksal ve fiziksel hacimleri küçülmeye? bu konuda yardım için.


1
e2fsck -f /dev/vg_blah/lv_blahdöndürür: "e2fsck: Yalnızca / dev / sda2 Dosya sistemini açmaya çalışırken veya başka bir program tarafından özel olarak açılmış dosya sistemi açılmaya çalışırken meşgul mü?", resize2fs ile aynı ...
Idan Yadgar

12
Cevap fiziksel hacminin nasıl yeniden boyutlandırılacağı konusunda eksik. Ayrıca, iki yeniden boyutlandırma adımını bir ile birleştirmenizi önemle tavsiye ederim lvreduce -r.
Flimm

4
Ayrıca, gerçekleştirmek gerekir 1Getmek lvreduceiçin ise, 1000000000 bayt resize2fsbir gibibyte olduğunu. 1 gibibite geçmek istiyorsanız lvreduce, 1gyerine kullanın.
Flimm

1
Kullanmıyorsun vgreduce; bu, bir pv'yi bir hacim grubundan çıkarmak içindir .
psusi

2
lvreduceDiferansiyel modda G = gibibit kullandığından şüpheliyim . Kesinlikle mutlak modda yapar. Adamın sayfaları kötü yazılmış ve birimlerinin ne anlama geldiğini açıklamıyor, bu da suç ihmali ile sınırda olduğunu düşünüyorum.
Urhixidur

45

Sen / küçültmek bir GUI aracı ile çok kolay bir mantıksal hacim genişletebilirsiniz: system-config-lvm. Çünkü system-config-lvmbir kere, önceden yüklenmiş bir canlı cd boot gelmiyor, bunu yüklemek zorunda:

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install system-config-lvm

Kurulduktan sonra programı çalıştırın, sol panelde değiştirmek istediğiniz mantıksal hacmi seçin, 'Özellikleri Düzenle'yi tıklayın.

Ana Mantıksal Birim Yönetimi programı GUI

Şimdi parametreleri istediğiniz gibi değiştirin!

Mantıksal Birimi Düzenle penceresi

system-config-lvmYeni bir bölüm boyutu varolan tüm verilerinizden daha küçükse, devam etmenize izin vermeyecek iyi bir şey var (bunu denedim ve kendim için gördüm).

Referanslar:

  1. Nasıl Yapılır Geek öğreticisi (bu görüntülerin kökeni).
  2. Red Hat'in program için eksiksiz bir rehberi .

2
GUI kesinlikle gitmenin yolu, ancak muhtemelen canlı bir CD'den çalıştırmanız gerekecek.
Mike

10
neden daha system-config-lvmriskli lvresizeveya lvresize -r?
Thufir

1
LVM sürücülerini yöneten yeni nesil bölüm yöneticisi blivet-gui'yi ( github , Ubuntu PPA ) deneyebilirsiniz .
bain

5
System-config-lvm 'nin (yanlış)' gigabayt 'ifadeleri kullanmasına rağmen, 1024 birim güç kullandığını unutmayın. Gerçekten palimpsest(aka Disk Utility) gibi yapmalı ve anlamsız baytlarda anlamını belirtmelidir.
Urhixidur

4
17.10 ve 18.04'te @Suncatcher, Xenial deposunu eklemelisiniz. sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu xenial universe"
m93a

24

Not : Aşağıdaki komutların hemen hepsini bir Live CD kullanarak çalıştırmalısınız. Bazen, zaten kurulu olan bölümü sökmenizi istiyor (bu durumda, bağlantısını kesemezsiniz).

LVM veya LVM2 bölümünü yeniden boyutlandırmak için gerekli tüm adımlar şunlardır:

sudo lvresize --verbose --resizefs -L -150G /dev/mapper/ubuntu

sudo pvresize --setphysicalvolumesize {some-space} /dev/sda5

İkinci komut şöyle bir şey üretiyorsa:

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

Ardından, LVM'nin sonunda ayrılmamış alanı yeniden düzenlemek zorundasınız. Bu root ve swap_1 bölümünden sonra demektir. Bu nedenle, başlangıçta, aşağıdaki komutu kullanarak fiziksel hacimlerin bilgilerini kontrol etmeniz gerekir:

sudo pvs -v --segments /dev/sda5

Bu çıktı gibi gösterecektir:

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx sss 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g zzz ttt swap 0 linear /dev/sda5:yyy-www

Not yyy-www . Dış parçalanmayı kaldırmak için aşağıdaki komutu kullanın:

sudo pvmove --alloc anywhere /dev/sda5:yyy-www

Şimdi, nasıl gittiğini görelim:

sudo pvs -v --segments /dev/sda5

Bu çıktıyı şöyle gösterecektir (değişikliklere dikkat edin):

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx ttt swap 0 linear /dev/sda5:xxx-sss
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy www 0 free

Ondan sonra, GParted'i kullanın ve LVM'yi maksimum kullanılan alana yeniden boyutlandırın ve dinlenme ayrılmamış alanda olacaktır. Keyfini çıkarın...


16

Başka bir GUI aracı tavsiye ederim - KVPM . GParted ve system-config-lvm işlevselliğini birleştirir. Ayrıca, system-config-lvm'nin izin vermediği bazı canlı (monte edilmiş) bölümlerde bazı işlemlere izin verir .

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

Ubuntu 12.04’ten bu yana evren depolarında. sudo apt-get install kvpm

Not: root haklarıyla başla sudo kvpm


evren deposunda değil:E: Unable to locate package kvpm
Jeff Puckett


Bu, "system-config-lvm" nin bağlı aygıtları / sürücüleri / dosya sistemlerini yüklemediği benim için çalıştı. Ubuntu makinemde indirmeye ve ekstra depolamaya gerek kalmadan ve önceden yapılandırılmış olmanın getirdiği ikramiye ile. Ayrıca, Gparted üzerinde çalıştı çünkü dosya sistemi çok fazla azaltıyordu. (Bir RetroOrangepi SD Kartını, yedekleme amacıyla 32 GB'den 8 GB'ye
düşürüyorum

İyi görünüyor, zaten KDE kullanmıyorsanız, diğer tüm K bağımlılıkları için fazladan ~ 100M isteyebileceğini düşündüm
20.06

12

Yalnızca Gparted'in (0.14) en yeni sürümü LVM fiziksel hacimlerinin yeniden boyutlandırılmasını desteklemektedir. Ubuntu 12.10 veya 13.04 ile birlikte verilen sürüm bunu desteklemiyor.

LVM fiziksel biriminin nasıl yeniden boyutlandırılacağı aşağıda açıklanmaktadır:

  1. LVM fiziksel birimi ile ilişkili birim grubu yeterli ayrılmamış alana sahip değilse, bir kısmını mantıksal bir birimi küçülterek yapmanız gerekir. Bunun nasıl yapılacağına dair talimatlar için bigbadonk420'nin cevabına bakınız . Bir GUI tercih ediyorsanız, GNOME Diskleri (Ubuntu ile birlikte verilir) bazı adımlarda da kullanabilirsiniz.

  2. GParted'in web sitesinden en yeni .iso imajını yazın ve bir CD'ye yazın veya bir USB belleğe koyun. CD'den veya USB çubuğundan önyükleyin. Alternatif olarak, GParted'ın son sürümünü kaynaktan derleyebilirsiniz.

  3. LVM fiziksel birimini yeniden boyutlandırmak için GParted kullanın. GParted, LVM fiziksel hacmini, ayrılmamış alanın izin verdiğinden daha küçük bir boyuta küçültmenize izin vermez.


Teşekkürler Flimm. 12.10'un yeterince yeni bir gparted sürümüne sahip olmasını bekliyordum. Cevabınız beni doğru yöne gösterdi.
Martijn Heemels

1
En son gparted'i aldım, ancak bölüm boyutlarını değiştirmeme izin vermiyor ... ext2 türünde / dev / sda2 ve bunun altında lvm2 türünde / dev / sda5 var. Ancak gparted, hem min hem de maksimum boyutların aynı olduğunu ve bu yüzden onu değiştirmeme izin vermediğini söylüyor ... :-(
Paul,

Veya pvresizeLVM2 takımının kullanımı, değil mi?
203967

@ Paul çözdün mü? Ben de tamamen aynı problemi
yaşıyorum

@Castiblanco Çözmedim, her şeyi silip LVM'siz yeniden kurdum. Benim için bir ders öğrenildi: Standart masaüstü kurulumları için LVM kullanmayın.
Paul

9

Bu cevabı kazara buldum ama bu en azından benim için işe yaradı. Benim durumumda, kökten sonra zaten ayrılmış ayrılmamış bir disk alanım vardı, bu yüzden daha fazla alan elde ettiğiniz kısmı atlıyorum ve sadece önyüklemeden kök üzerinde nasıl kullandığımı açıklıyorum.

NOT: Kullanmak yerine gparted, muhtemelen kullanmaktan daha iyi olursunuz system-config-lvm. Bir dahaki sefere onun yerine bir tane kullanırdım ... Gparted versiyonum 0.18 idi.

  1. İlk önce gpartedkök bölümünü mümkün olduğu kadar uzattım. Sürprizime göre sadece fiziksel boyutları genişletti ve mantıksal bölüme hiçbir şey yapmadı. Yani df -kkomut diski hala dolu olduğunu söyledi.
  2. lvresize -l +100%FREE /dev/ubuntu-vg/rootmantıksal bölümü mümkün olduğu kadar uzatır. Çeşitli yöntemlerle GB'ları veya blokları kontrol etmeye ve hesaplamaya gerek yoktur.
  3. resize2fs /dev/ubuntu-vg/root Daha sonra yaptığım üçüncü adım: dosya sistemini mantıksal bölümün boyutuna genişletir.

Son adım ikinciyle birleştirilebilir:

lvresize -l +100%FREE --resizefs /dev/ubuntu-vg/root


Bu, mantıksal bir birimi küçültmenizi sağlar, ancak OP'nin sorusu fiziksel birimin küçültülmesiyle ilgilidir.
Stefan,

hayatımı kurtardın
Quang Hà

1

Ek olarak @ bigbadonk420 'ın cevabı , yerine aşağıdaki yapmanın:

resize2fs -p /dev/vg_blah/lv_blah 9G
lvreduce -L -1G /dev/vg_blah/lv_blah

Yap:

lvreduce -r -L 9G /dev/vg_blah/lv_blah

Not -reşzamanlı dosya sistemini azaltır ve güvenli olan.


Ancak bu fiziksel hacmi küçültmez .
Stefan,

0

Şu anda en olarak yaklaşık Uyarı cevap : To DEĞİL LVM seçeneğiyle (14.04 Trusty Tahr) ile taze varsayılan yüklemesi yok, 1) tüm sayfayı okumak, 2) takas 3 silme) ve muhtemelen mantıklı boyutunu" komutunu değiştirmek "böyle bir hacim:

lvreduce -L -1g /dev/vg_blah/lv_blah

Şiddetle tavsiye ederim system-config-lvm.


Yine, OP fiziksel bir hacmini azaltmak istiyor .
Stefan,

0

GParted kullanarak bunu yapmak için dev / sda2 (sağa çekmek istediğiniz) üzerine sağ tıklayın. 'Devre dışı bırak' seçeneğini seçin. Şimdi lvm bölümünüzü yeniden boyutlandırabilirsiniz.

Güncelleme: @Cao Min Tu çözümü çok daha iyi. Yeniden boyutlandırdıktan sonra GParted ile ilgili birkaç sorunum var

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.