Sanal disk büyümesinden sonra çevrimiçi bir Linux PV bölümünü genişletme


14

VMware, VM çalışırken çevrimiçi bir sanal diskin boyutunu genişletmeye izin verir. Linux sistemi için bir sonraki beklenen adımlar:

  1. bölümü genişletme: silme ve daha büyük bir bölüm oluşturma fdisk
  2. PV boyutunu pvresize
  3. lvresizeişlemler için ücretsiz uzantılar kullanma
  4. ve sonra resize2fsdosya sistemi için

Ama ilk adımda takıldım: fdiskve sfdiskhala disk için eski boyutu görüntülüyorum.

Diskim, sanal LSI Mantık denetleyicisi sayesinde bağlı bir SCSI sanal diskidir.

Yeniden başlatmadan Linux çekirdeğinde bulunan sanal disk boyutu ve bölüm tablosu bilgileri nasıl yenilenir ?

Bildiğim kadarıyla, VMWare araçları sayesinde, çalışan bir Windows için, yeniden başlatmadan ve hatta herhangi bir kullanıcı eylemi olmadan tüm bu adımların mümkün olduğunu bildiğim kadarıyla. Linux'ta da tüm adımları çevrimiçi yapmayı bekliyorum ve adım 2, 3 ve 4'ün çevrimiçi çalıştığını zaten biliyorum. Ancak bölüm tablosunda (yine de) bildirilen ilk değişiklik bölümü boyutunun yeniden başlatılması gerekiyor gibi görünüyor.

Güncelleme: Sistemim 2.6.26 çekirdeği olan bir Debian Lenny ve genişlettiğim disk "root" LV for "/" içeren büyük bir PV'ye sahip ana disk.

Yanıtlar:


9

Bunu yeniden başlatmadan yapabilirsiniz. pvresize, bölüm eklenen alanla güncellenene kadar fiziksel birimi yeniden boyutlandırmaz. İlk önce fazladan alanı görmek için sürücüleri yeniden taradıktan sonra, bölümü bulmanız ve diskin yeni tam boyutuyla yeniden oluşturmanız gerekir.

Daha fazla bilgi: http://theducks.org/2009/11/expanding-lvm-partitions-in-vmware-on-the-fly/


Kabul ediyorum ama SCSI sürücüsünü yeniden taramak için ne yaparsam yapayım, yeni disk boyutunu fdisk'te hiç görmedim, bu yüzden ilk yeniden başlatma işlemine kadar takıldım. Ve "partprobe" benim için yeni bir komut. Kesinlikle bu prosedürü test etmeliyim ... Teşekkürler.
Yves Martin

Bilgi partprobeiçin partedprojeden bir komuttur .
Yves Martin

Yeni disk boyutunu fdiskgörmüyorsanız, sorun LVM'de değildir. Genellikle yeni disk boyutunu aldığımdan beri nasıl taradığınızı sormak zorundayım. Ayrıca, yardımcı olabiliyorsam LVM kullanacağım diskleri bölümlemiyorum. Eğer pvcreateo zaman bölüm tablosunu güncellemek bütün disk yeniden boyutlandırmak için gittiğinizde yapmanız gereken sadece bir az şeydir.
Bratchley

14

Yanıtlanan diğer soru sorunuza cevap vermiyor, zaten bağlı bir diski yeniden taramak için doğru komutu belirledim.

Önceden bağlı olan diskinizi yeniden taramamız gerekir, önce yeniden taramak istediğiniz diski tanımlayın.

ls /sys/class/scsi_disk/

Örneğimde, adlandırılmış bir symlink görüyorum 0:0:0:0, bu yüzden bu scsi-diski yeniden tararız.

echo '1' > /sys/class/scsi_disk/0\:0\:0\:0/device/rescan

VMware diskimi de genişlettim ve doğru komutu bulmak için diğer cevapları bulmak zorunda kaldım. Umarım bu gelecekteki araştırmacıları boşuna denemeden kurtaracaktır.


Mükemmel çalıştı!
Emil Styrke

Diskleri, "/ dev /" adlarına göre de bulabilirsiniz /sys/block/, böylece örn /sys/block/sda/device/rescan.
mwfearnley

4

Kök dosya sistemi /yeniden boyutlandırılan diske bağlandığı sürece , bölüm tablosu ve disk boyutu Linux 2.6.26 ile bir SCSI yeniden taraması tarafından yenilenmez.

Umarım yakında yeni çekirdek sürümleriyle daha iyi olur.

Bu yüzden:

  • yeni disk boyutunu görmek için ilk kez yeniden başlat fdisk
  • eski birincil PV bölümünü sil fdisk
  • aynı numaraya sahip bir bölüm girişi oluşturun ve diskin sonuna kadar sektörü başlatın
  • ikinci kez yeniden VEYA çalıştırmak partprobedan partedyalnızca paketin /monte edilmediği orada
  • Şimdi çalıştırabilirsiniz pvresizeyeni boş alan elde etmek, lvextendve resize2fsbir dosya sistemine biraz daha fazla yer ayırmaya

pvcreateGrub2, bir LVM bölümündeki bir dosya sisteminden doğrudan bir dosya görüntüsü yükleyebildiğinden, bu aptal eski bölüm tablosunu atmanız ve doğrudan cihazda çalıştırmanız önerildi. Ancak böyle bir kurulum, dağıtım kurucularla hiç belirgin değildir.

Güncelleme: Çekirdek 3.16 ve parted3.2 çalıştıran Debian GNU / Linux Jessie 8.2 ile yeni kontrol ettim , partprobeşimdi cfdiskyeniden başlatma olmadan bölüm tablosu sürümünden sonra başarılı . pvresizehemen sonra çalışır.

Mantıksal PC bölümü olarak depolanan bir PV'yi, örneğin /dev/sda5genişletilmiş birincil bölümde genişletmek /dev/sda2istiyorsanız, şunu kullanmayın, fdiskancak tercih edin parted:

parted /dev/sda2 -1
parted /dev/sda5 -1
pvresize /dev/sda5

Sondaki komutlar çalışmıyor # parted / dev / sda2 -1 -> parted: geçersiz seçenek - '1'
Oskar Berggren

3

Büyük bölümü oluşturmadan önce diskleri yeniden taramanız gerekir.

Centos'ta bunu

ls /sys/class/scsi_host

sonra her ev sahibi için

echo "- - -" > /sys/class/scsi_host/host#/scan

(# ile numarayı değiştirin)

Ayrıca, ext'i genişleten veya bölümü yeniden boyutlandırdıktan sonra kullandığınız dosya sistemini genişleten bir adım daha vardır.

Yine de bir noktada bu bölümü ayırmak zorunda kalacaksınız. Yapmaya meyilli olduğumuz şey, ikinci bir vmware diski eklemek ve yeni diske genişletmek için lvm kullanmak (ve eğer değiştirilirse eskisini azaltmak) kullanmaktır, çünkü bu tüm sürecin canlı olmasını sağlar.


Sistemim bir Debian ve scsitools'tan rescan-scsi-bus.sh çalıştırıyorum. Ben / sys / class / scsi_host üzerinde önerdiğiniz komuta eşdeğer olduğunu düşünüyorum ama "fdisk" hala diskimde eski boyutunu görüntülemek ...
Yves Martin

Yeniden taradığınızda yeni bir vmware diski tanıyor mu?
JamesRyan

Hayır. Bu disk zaten var, yeni değil. Disk boyutu vSphere istemcisinde artırıldı.
Yves Martin

Bunu anlıyorum, ancak taramanızın sorunu daraltmak için onu
seçip seçmediğini

Size katılıyorum ve zaten bir uygulama ile bir Linux makinesine yeni bir SCSI disk eklemenin listelenen tüm adımlar için çevrimiçi olarak yapılabileceğini biliyorum. VM 10 yıl çalışabileceğinden ... Yakın bir gelecekte toplam disk sayısından korkuyorum ...
Yves Martin

2

Güncellenmiş bir yanıt olarak, Ubuntu 16.04.1'de bir birimi 1024 GB'tan 1,4 TB'a kadar yeniden boyutlandırmak için aşağıdakileri yapabildim:

echo '1' > /sys/class/scsi_disk/32\:0\:1\:0/device/rescan
pvresize /dev/sdb
lvextend -l +100%FREE /dev/nvr01-opt/opt
resize2fs /dev/nvr01-opt/opt

Gerek yok fdiskve alan hemen kullanılabilir.


3
Seni şanslı. Bunun nedeni, bölümleme tablosu yok, ancak doğrudan PV açık /dev/sdbolması, muhtemelen uygulama verileriniz yalnızca ikincil disktir, ancak sistemli ilk diskiniz değildir (bahsetmek gerekirse, sistemlerimi aynı şekilde yapılandırıyorum!). Benim sorum, Linux dağıtımları doğrudan PV'ye yüklemeyi desteklemediği sürece, Linux çekirdeği ve GRUB'un önyükleme ve sistem diskinde çalışabilmesi gerektiğinde, böyle bir "sistem diskinin" son PV'sini / bölümünü (bir şablondan klonlanmış) genişletmekle ilgiliydi. bölümleme tablosu olmadan.
Yves Martin

Doğru tespit. Bunu Google üzerinden bulanlar için: bunu aklınızda bulundurun.
peelman

1

Size tam olarak ihtiyacınız olan komutları anlatacak kadar ayrıntı vermediniz, ancak esas lvextendolarak mantıksal hacmi genişletmek için e2fsckkomutu , sonra resize2fsdosya sisteminizi gerçekten genişletmek için komutu ve ardından komutu kullanmanız gerekir. Bu komutların her biri, sağlayamayacağımız cihaz ve dosya sistemi bilgileri gibi ek parametrelere ihtiyaç duyacaktır, ancak bunları bilmeniz gerekir, bunları nasıl kullanacağınızı söylemek için her komut için --help seçeneğini kullanın, ayrıca büyük olasılıkla bu parametreleri doldurmanıza yardımcı olması için pvdisplay, lvdisplayve mountkomutlarını kullanırsınız.


Diğer adımlar için tüm komutları biliyorum. Benim sorum: yeniden başlatma olmadan PV olarak kullanılan birincil bölüm nasıl yetiştirilir?
Yves Martin

Üzgünüm, sadece pvresize mi demek istiyorsun?
Chopper3

Sorumun yeterince açık olmadığını (cesur kısımda bile) katılıyorum. pvresize, adım 2 olarak belirtilir. Adım 1'de takılı kaldım: "PCAT" bölüm boyutunu artırın.
Yves Martin

Henüz VSClient aracılığıyla .vmdk boyutunu artırdınız mı?
Chopper3

3
/sbin/rescan-scsi-busDoo'ları onaylamak için mevcut disk boyutunu değiştirmeyin. Ama echo "1" > '/sys/class/scsi_disk/0:0:1:0/device/rescan'öyle
Yves Martin

0

Hiç kimse tam bir komut seti yayınlamadı, bu yüzden işte başlıyoruz:

# the following steps are for adding a new HDD
apt install scsitools
rescan-scsi-bus
pvcreate /dev/sdX
vgextend /dev/vgname /dev/sdx
lvextend -l +100%FREE /dev/vgname/root 
resize2fs /dev/vgname/root

#if resizing existing HDD
fdisk /dev/sdX
create new partition
pvcreate /dev/sdXn
vgextend /dev/vgname /dev/sdXn
lvextend -l +100%FREE /dev/vgname/root 
resize2fs /dev/vgname/root

Rahatsız etmek için üzgünüm ama her disk büyüme disk, bölüm ve PV ekleme "çirkin" olduğunu ve ölçek yok bulmak. Benim sorum, disk veya bölüm veya PV eklemeden disk üzerinde varolan bir birincil bölümü genişletmekti.
Yves Martin
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.