Méretnövelés
Most, hogy beüzemeltük az új „merevlemezünket”, jöjjön egy példa arra, hogyan tudjuk megnövelni a méretét.
$ sudo lvs
LV VG Attr LSize
home fedora -wi-ao---- 19,36g
root fedora -wi-ao---- 39,66g
swap fedora -wi-ao---- <3,97g
adatok kotet0 -wi-ao---- 52,00m
Mint látható, csak 52 MiB kapacitású a kötetünk, de ha figyeltél, emlékezhetsz, hogy a kotet0 kötetcsoportunk kapacitásának csak a felét használtuk ki, és van rajta szabad kapacitás.
$ sudo vgdisplay kotet0 | grep Free
Free PE / Size 11 / 44,00 MiB
Növeljük meg az adatok nevű fizikai kötet méretét.
$ sudo lvresize -l +100%FREE /dev/kotet0/adatok
Size of logical volume kotet0/adatok changed from 52,00 MiB (13 extents) to
96,00 MiB (24 extents).
Logical volume kotet0/adatok successfully resized.
$ sudo lvs
LV VG Attr LSize
home fedora -wi-ao---- 19,36g
root fedora -wi-ao---- 39,66g
swap fedora -wi-ao---- <3,97g
adatok kotet0 -wi-ao---- 96,00m
Százalékos (%) értéket is megadhatsz, így sokkal egyszerűbb elmagyarázni, mit kérünk, mintsem számolgatni a pontos értékeket. És lám, valóban megnőtt a mérete (52 -» 96). A 13 PE-ből felépített adatok0-hoz, hozzáadtuk a még rendelkezésre álló 11 PE-t. Viszont a rajta elhelyezkedő fájlrendszer mérete nem változott.
$ df -h | grep adatok
/dev/mapper/kotet0-adatok 47M 46M0M 100% /mnt
Vagyis a 47 MiB kapacitású fájlrendszeren 46 MiB-nyi adatot tárolok, ezért 0 MiB szabad, a telítettsége 100%. Növeljük meg a fájlrendszer méretét.
$ sudo resize2fs /dev/kotet0/adatok
resize2fs 1.44.3 (10-July-2018)
A fájlrendszer (/dev/kotet0/adatok) csatolva van ide: /mnt, online átméretezés
szükséges
old_desc_blocks = 1, new_desc_blocks = 1
A fájlrendszer ezen: /dev/kotet0/adatok mostantól 98304 (1k) blokk hosszú.
$ df -h | grep adat
/dev/mapper/kotet0-adatok 90M 46M 39M 55% /mnt
A fájlrendszer mérete 90 MiB lett, amin 46 MiB-nyi adat van, ezért 39 MiB-nyi szabad hely van rajta, telítettsége 55%. Vagyis úgy növeltük meg a partíció, majd a fájlrendszer méretét, hogy közben fel volt csatolva, és végig elérhetőek voltak a rajta tárolt adatok.
Persze ez sem tart örökké, nem ússzuk meg egy új adattároló megvásárlását. De hogyan vigyük át az adatokat a régi lemezről az újra? Erre is is van megoldás.
Modellezzük le, hogy vásároltunk egy új merevlemezt. Létrehozunk az eddig használtnál 2-szer nagyobb méretű fájlt, és block device-t hozunk létre belőle.
$ sudo dd if=/dev/zero of=lemez1 bs=1M count=200
200+0 beolvasott rekord
200+0 kiírt rekord
209715200 bájt (210 MB, 200 MiB) másolva, 0,406785 s, 516 MB/s
$ sudo losetup -f
/dev/loop1
$ sudo losetup loop1 lemez1
$ sudo losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC
/dev/loop1 0 0 0 0 /home/szekerestamas/lemez1 0 512
/dev/loop0 0 0 0 0 /home/szekerestamas/lemez0 0 512
Majd ahogy az igazi merevlemezzel is történne, létrehozzuk a Linux LVM partíciót, és létrehozunk rajta egy új fizikai kötetet, amit hozzáadunk a kotet0 logikai kötetcsoporthoz.
$ sudo fdisk /dev/loop1
$ sudo partx --update /dev/loop1
$ sudo pvcreate /dev/loop1p1
Physical volume "/dev/loop1p1" successfully created.
$ sudo vgextend kotet0 /dev/loop1p1
Volume group "kotet0" successfully extended
$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
fedora 1 3 0 wz--n- <63,00g 0
kotet0 2 1 0 wz--n- 292,00m 196,00m
Jól látszik, hogy az eddig 96 MiB méretű kotet0 292 MiB lett. Megtehetnénk, hogy a fent leírt módon kiterjesztjük az adatok logikai kötet méretét az új szabad terület kapacitásával, hiszen a kotet0-n megint lett egy csomó szabad hely. De én azt szeretném, hogy a régi lemezről (/dev/loop0p1) mozgasson minden adatot az újra (/dev/loop1p1), mivel a régi lemezt ki akarom venni a rendszerből.
$ sudo pvmove -v /dev/loop0p1 /dev/loop1p1
Cluster mirror log daemon is not running.
Archiving volume group "kotet0" metadata (seqno 7).
Creating logical volume pvmove0
activation/volume_list configuration setting not defined: Checking only host tags
for kotet0/adatok.
Moving 24 extents of logical volume kotet0/adatok.
activation/volume_list configuration setting not defined: Checking only host tags
for kotet0/adatok.
Creating kotet0-pvmove0
Loading table for kotet0-pvmove0 (253:5).
Loading table for kotet0-adatok (253:4).
Suspending kotet0-adatok (253:4) with device flush
Resuming kotet0-pvmove0 (253:5).
Resuming kotet0-adatok (253:4).
Creating volume group backup "/etc/lvm/backup/kotet0" (seqno 8).
activation/volume_list configuration setting not defined: Checking only host tags
for kotet0/pvmove0.
Checking progress before waiting every 15 seconds.
/dev/loop0p1: Moved: 58,33%
/dev/loop0p1: Moved: 100,00%
Polling finished successfully.
Ez eltarthat egy ideig, legyél türelmes! Bár még mindig 2 db fizikai kötetből épül fel a kötetcsoportom, a régi fizikai kötetről minden adatot átmozgatott az újra. Az adatot nem tartalmazó régi fizikai kötetet (/dev/loop0p1) eltávolítom a kotet0 kötetcsoportból, majd megszüntetem a rajta levő fizikai kötetet.
$ sudo vgreduce kotet0 /dev/loop0p1
Removed "/dev/loop0p1" from volume group "kotet0"
$ sudo pvremove /dev/loop0p1
Labels on physical volume "/dev/loop0p1" successfully wiped.
Az adatokat most is úgy költöztettük át az új, kétszer nagyobb kapacitású lemezre, hogy azok végig elérhetőek voltak, hiszen az adatok végig fel volt csatolva az /mnt alá. A rajta tárolt fájlokat lehetett írni, olvasni, törölni. Most már kivehetjük a régi lemezt, és leadhatjuk elektronikai hulladéknak, vagy aprópénzért eladhatjuk. Viszont ne felejtsük el, hogy a logikai kötet (/dev/kötet/adatok), és a rajta lévő fájlrendszer mérete nem változott. Az adatok mérete még mindig csak 96 MiB. Adjuk hozzá a kötetcsoport fennmaradó kapacitását, és növeljük meg a fájlrendszer méretét is.
$ sudo lvresize -l +100%FREE /dev/kotet0/adatok
Size of logical volume kotet0/adatok changed from 96,00 MiB (24 extents) to
196,00 MiB (49 extents).
Logical volume kotet0/adatok successfully resized.
$ sudo resize2fs /dev/kotet0/adatok
resize2fs 1.44.3 (10-July-2018)
A fájlrendszer (/dev/kotet0/adatok) csatolva van ide: /mnt, online átméretezés
szükséges
old_desc_blocks = 1, new_desc_blocks = 2
A fájlrendszer ezen: /dev/kotet0/adatok mostantól 200704 (1k) blokk hosszú.
$ df -h|grep adat
/dev/mapper/kotet0-adatok 187M 89M 89M 50% /mnt
Már kétféle módon is meg tudjuk növelni a kapacitást. Vagy úgy, hogy a régi lemez bent marad a gépben, de úgy is, hogy kivesszük. Ugye már nem is olyan bonyolult?
A cikk még nem ért véget, kérlek, lapozz!