Portál AbcLinuxu, 5. května 2025 10:37

Dotaz: Natazeni btrfs v guest systemu

3.5.2017 16:03 CIJOML
Natazeni btrfs v guest systemu
Přečteno: 259×
Odpovědět | Admin
Ahoj,

pres qemu-img resize pridam do virtualky misto. Jak potom muzu nejak inteligentni ten filesystem natahnout na celou dostupnou novou velikost? Zatim to resim ze v ty virtualce nabootuju parted a natahnu to rucne coz je pruda.

Poradi nekdo?

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Heron avatar 3.5.2017 16:08 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Natazeni btrfs v guest systemu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nabootuju parted?

Tohle se dá řešit i v LVM, přidáš další disk (nikoliv zvětšíš stávající, to je podle mě naprd), v tom vmku přidáš PV do VG a natáhneš LV a online zvětšíš FS (to snad umí každý FS).

Pokud tam máš btrfs tak do něj tam jen přidáš další device a je to.

Zmenšení btrfs je také možné, odebereš device z btrfs a potom ho odebereš z virtuálky (pokud to technologie dovoluje, tak i za běhu - otestováno na vmware).
Heron
3.5.2017 20:06 CIJOML
Rozbalit Rozbalit vše Re: Natazeni btrfs v guest systemu
jaky pridat dalsi disk? Proste ta virtualka ma jedno zarizeni vda, ktery potom co v hostitelskem systemu dam rezize +3GB natahne virtualne ten disk o 3 giga takze kdyz potom dam cfdisk /dev/vda tak je tam proste disk ktery ma ve fat tabulce mensi particie nez muze mit.
Heron avatar 3.5.2017 20:20 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Natazeni btrfs v guest systemu
Mno. To není FAT tabulka, to je MBR nebo GPT.

Pokud chcete zvětšit MBR nebo GPT, lze k tomu použít nástroje jako fdisk apod. A potom resize2fs toho daného fs. I toto lze udělat za běhu (i když některé nástroje neumí partition zvětšit, ale je potřeba ji smazat a vytvořit od stejného počátku oddíl větší), ale ne vždy si to kernel nechá líbit. Tedy jde to, ale ...

Proto jsou na světě věci jako LVM, které podporují resize LV online, aby nebylo potřeba manipulovat s oddíly. Proto každá virtualizační technologie podporuje připojení a odpojení hromady disků.

S BTRFS je to ještě jednodušší, protože se device přidávají a odebírají přímo z FS.

Mno ale pokud trváte na btrfs a jednom disku (i když to příliš nedává smysl), tak po zvětšení partition stačí zavolat:
btrfs filesystem resize max /mnt/mountpoint
a je to.
Max avatar 3.5.2017 20:40 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Natazeni btrfs v guest systemu
Přesně tak, kernelu se to někdy nelíbí, ale můžeš zkusit :
# po rozšíření disku reload / rescan :
echo "- - -" > /sys/class/scsi_host/host0/scan

# poté pomocí cfdisk/fdisk/gdisk smazat a znovu vytvořit partition, ale větší
fdisk /dev/sda

# provést reload partition table jedním z těchto postupů :
partprobe /dev/sda
echo 1 > /sys/block/sda/device/rescan
kpartx -a /dev/sda
partx -a /dev/sda
...

# ve finále rozšířit filesystem
resize2fs /dev/sdaX
...
Dřív mi to problémy nedělalo, ale v posledních kernelech většinou dostávám info, že zařízení je busy a bez restartu se rozšíření systémového hdd neobejde.

V dnešní době je ale všechno toto zbytečné, protože máme thin, lvm, btrfs apod. Takže osobně si vytvořím VM s 20GB diskem, který si rozdělím pomocí LVM a pro LV použiju třeba jen 10G a zbytek nechám ve VG pro případné další rozšiřování. Pro datovou část vymezím druhý disk s vlastní VG a pak už jen přidávám disky do VM/VG.
Díky thin provisioning nezabírá 20GB disk 20GB, ale skutečně jen to, kolik má v sobě dat.
Tato kombinace ulehčuje práci a sraní se s nějakým rozšiřováním, nebo plánováním (resp. spíše tipováním) budoucích kapacit.
Zdar Max
PS: VG = volume group, LV = Logical Volume
Měl jsem sen ... :(
Max avatar 3.5.2017 16:34 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Natazeni btrfs v guest systemu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Přesně jak píše Heron, zvětšování disku není dobrý nápad. Systémové řešení je přidat další disk a v rámci os ve VM přidat do VG v rámci LVM, nebo v pokud používáš btrfs, tak v rámci btrfs.
Jde to i formou rozšíření disku, to nepopírám, ale někdy se mi stalo, že to nešlo bez rebootu/odstávky služeb (u systémového hdd) :-/.
Zdar Max
Měl jsem sen ... :(
3.5.2017 20:04 resize
Rozbalit Rozbalit vše Re: Natazeni btrfs v guest systemu
Teoreticky by to mělo jít přes zvětšování pomocí virt-resize --expand, prakticky se mi potom nezobrazovala správná velikost v qemu.

Nnemusel jsem "expandovat", ale byla nutná "kontrola diskového oddílu" pomocí virtuálky (fs XFS). :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.