//fixme/ sonf/ xen-hotswap

Xen Hotswap

Kaikkien Fixme:n virtuaalikoneiden kovalevy-backendina on hyperillä LVM:ssä sijaitsenva LV (Logical Volume). Yksi LVM/ext2:n ominaisuuksista on se, että on mahdollista kasvattaa LV/fs:n kokoa lennosta. Valitettavasti tämä ei onnistu suoraan xenin läpi, eli et voi kasvattaa osion kokoa hyperilta ja ajaa resize2fs:ää domU:ssa. Xen kuitenkin tarjoaa block-device hotswap funktionaalisuuden, jonka avulla on mahdollista ensim. :

xm block-detach

vm_id on domU:n nimi/id, eli joko katso xm_list:sta, tai suoraan koneen nimi. blockdev_id on xenin oma dom0:n sisäinen blockdev-id. xm block-list <vm_id> näyttää listan vm:n blockdeveista, ja /var/log/xen/xend.log:ia grepaamalla selviää lisäinfoa.

xm block-attach

vm_id on domU:n nimi/id. backend_spec/frontend_spec on sama kun .cfg:ssa, eli esim. phy:fixme/foobar-disk /dev/sdb1. mode on varmaan w, ellet halua read-only, jolloin r.

Huomioi että tämän komennon virheittenkäsittely tuntuu bugaavan hieman - jos komento epäonnistuu (mode on esim. rw eikä w), niin frontend_spec jää "käytössä" tilaan, ja et voi block-attach:ata siihen enää.

fsck + resize2fs

resize2fs ei tykkää siitä lvresizeatusta osiosta suoraan, vaan pitää ensin ajaa fsck -f siihen. Tämä ei kuitenkaan mun osalta löytänyt mitään virheitä, eli pitäisi kuitenkin olla ihan OK.

References

http://www.sandelman.ca/mcr/blog/2007/10/25#how_to_extend_a_file_system_using_lvm_xen