Cygal.net.pl

Systemy, Sieci i takie tam :)

Jak dodać nowy dysk do LVM

Poniżej przedstawię w jaki sposób zwiększyć pojemność partycji opartej o LVM. Całość zostanie przeprowadzona na maszynie wirtualnej opartej o VMWare ESXi.

Nie będę się rozpisywał na temat co to jest LVM oraz jego zalet. Pokażę za to krok po kroku jak łatwo i szybko możemy zwiększyć wielkość partycji poprzez dołożenie nowego dysku do grupy LVM.

zacznijmy o identyfikacji czy nasza partycja jest oparta o LVM

fdisk -l

jak widać /dev/sda5 pokazuję “Linux LVM” i ma ustawione ID na 8e. Kod hexadecymalny 8e oznacza partycję LVM natomiast 83 oznacza natywna partycje linux.

poniższy screenshot pokazuje, że obecnie posiadamy partycje o pojemności 20gb która jest przypisana do logicznego wolumenu nazywającego się /dev/mapper/Mega-root. Właśnie tą partycję będziemy rozszerzać.

Dodajmy teraz nowy dysk do naszej maszyny wirtualnej.

wybieramy create new virtual disk i klikamy next.

Wybieramy wielkość dysku jaka chcemy dodać, w moim przypadku będzie to 20GB

wybieramy create new virtual disk i klikamy next.

klikamy next na stronie z advanced options.

sprawdzamy podsumowanie czy wszystko jest OK i klikamy finish.

Teraz już widzimy że pojawił nam się nowy dysk. żeby dysk został dodany do naszej maszyny wirtualnej musimy kliknac OK.

teraz sprawdzamy czy system widzi nowy dysk. Ponownie skorzystamy z polecenia fdisk -l

W przypadku gdyby nowy dysk nie został wykryty, możemy ponownie ze skanować system w poszukiwaniu nowego dysku

echo "- - -" > /sys/class/scsi_host/host0/scan

w ten sposób możemy uniknąć restartu maszyny wirtualnej.

Dobrze przejdziemy teraz do partycjonowania nowego dysku.

fdisk /dev/sdb
Command (m for help): n

wymieramy opcje “p” czyli partycje podstawową.

Command action
   e   extended
   p   primary partition (1-4)
p

następnie wybieramy 1 jako że jest to nowy dysk i nie mamy na nim jeszcze żadnej partycji.

Partition number (1-4): 1

następnie naciskamy dwa razy enter.

First cylinder (1-2610, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): 
Using default value 2610

wybieramy opcje “t” i zaznaczamy która partycją będziemy się zajmować. W naszym przypadku będzie to 1

Command (m for help): t
Selected partition 1

ustawiamy typ partycji LVM czyli wybieramy hex code 8e

Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

na koniec wybieramy opcje “w” czyli zapisz

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

Calling ioctl() to re-read partition table.
Syncing disks.

wydając komendę fdisk -l będziesz wstanie zobaczyć iż w systemie pojawiła sie nowa partycja /dev/sdb1

Okej przyszedł czas na dodanie naszego nowego dysku do LVMa

root@MegaHost:~# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created

sprawdzamy jak nazywa się nasza wirtualna grupa. Jak widać nazywa się Mega. Nazwa ta będzie nam potrzebna do rozszerzenia naszej partycji.

root@MegaHost:~# vgdisplay
  --- Volume group ---
  VG Name               Mega
  VG Size               19.76 GiB

Ok rozszerzmy nasza grupę o nowy dysk.

root@MegaHOST:~# vgextend Mega /dev/sdb1
  Volume group "Mega" successfully extended

teraz ze skanujmy nasz LVM i sprawdźmy czy pojawił się nowy dysk.

root@MegaHost:~# pvscan
  PV /dev/sda5   VG Mega   lvm2 [19.76 GiB / 0    free]
  PV /dev/sdb1   VG Mega   lvm2 [19.99 GiB / 19.99 GiB free]
  Total: 2 [39.75 GiB] / in use: 2 [39.75 GiB] / in no VG: 0 [0   ]

Następnie potrzebujemy rozszerzyć nasz wolumen logiczny za pomocą komendy lvextend.

root@MegaHost:~# lvdisplay
  --- Logical volume ---
  LV Name                /dev/Mega/root
  LV Size                18.91 GiB
root@MegaHost:~# lvextend /dev/Mega/root /dev/sdb1
  Extending logical volume root to 38.90 GiB
  Logical volume root successfully resized

ostatnim krokiem jest wykonanie

root@MegaHost:~# resize2fs /dev/Mega/root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/Mega/root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 3
Performing an on-line resize of /dev/Mega/root to 10196992 (4k) blocks.
The filesystem on /dev/Mega/root is now 10196992 blocks long.

teraz możemy sprawdzić pojemność naszej partycji poleceniem df

One thought on “Jak dodać nowy dysk do LVM
  • birez pisze:

    Jeżeli zamiast dodawać nowy dysk powiększymy obecny, rescan całego hosta może nie pomóc. W takim razie należy ustalić adres urządzenia (można wyczytać np. z dmesga) i wykonać polecenie:

    echo 1 > /sys/class/scsi_device/X\:X\:X\:X/device/rescan

    (zastępując X:X:X:X właściwymi danymi.)

     

    Dodatkowo, może być tak, że po dodaniu partycji, system nie zauważy tego faktu i nie stworzy urządzenia w /dev. W takiej sytuacji może pomóc:

    partprobe /dev/sdX

    (podobno podobny efekt może przynieść: hdparm -z /dev/sdX lub sfdisk -R /dev/sdX)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *


Time limit is exhausted. Please reload CAPTCHA.