Vlákno názorů k článku LVM: Praktické ukázky od viktorc - Presun PE z disku na disk ------------------------- Presun LV na...

  • Článek je starý, nové názory již nelze přidávat.
  • 16. 8. 2008 14:06

    viktorc (neregistrovaný)
    Presun PE z disku na disk
    -------------------------
    Presun LV na iny PV (disk) sa da urobit aj bez zistovania konkretnych cisiel PE, na ktorych sa nachadza. Pomocou parametra -n vyberieme len tie PE z sda3, ktore patria LV movetest:
    pvmove -n movetest /dev/sda3 /dev/sdb1

    Pre zrozumitelnost by bolo tiez vhodnejsie dat
    lvcreate -L 1G -n movetest test_lvm
    pred
    lvdisplay -m /dev/test_lvm/movetest


    RAID 1
    ------
    Parameter -m urcuje na kolko DALSICH PE sa ma LE mapovat. Pre RAID 1 (s 2-ma PV) je hodnota 1 (teda jeden 'original' a jedna 'kopia' dat).
    Bohuzial na RAID 1 pod LVM potrebujete 3 PV ('original', 'kopia' a 'log'). Log je maly a eviduje stav zosynchronizovania. Moze byt aj v pamati (vtedy stacia 2 PV), ale potom sa LV synchronizuje po kazdom restarte.

    Prikaz
    lvcreate -L 1G -m 2 -n raid1 test_lvm
    by teda potreboval 4 PV (mate len 2). Preto za Vam to nepodarilo.

    Inac RAID 1 v LVM je podla mojich testov nepouzitelny - pri vypadku jedneho z 2 'datovych' PV prejde LV do ReadOnly rezimu a po restarte sa uz automaticky nepripoji. Ked vyzadujeme bezpecnost, je lepsi SW (md), alebo HW RAID.


    ---------
    Pre menej skusenych odporucam testovat LVM cez /dev/loopX - mozete si narobit PV-ciek kolko chcete aj ked mate v kompe fyzicky len jeden disk. Tiez sa da jednoduchsie (a snad aj bezpecnejsie) simulovat vypadok PV a vyskusat si obnovu.
    Vytvorenie 100MB 'disku':
    dd if=/dev/zero of=disk1 bs=1M count=100
    losetup -f disk1
    pvcreate /dev/loop0

    Clanok je zaujimavy a tema super.
  • 19. 10. 2008 13:31

    Spaceboy (neregistrovaný)
    Tak nevím, asi jste nečetli manuál, ale přesun LV se dělá ONLINE a to takto:

    0) rozšířím VG o PV na novém disku

    pvcreate /dev/novydisk
    vgextend MojeVG /dev/novydisk

    1) konvertuju LV na mirrorovaný. TohleLV bude stále online, r/w, a vše funguje dál (může to být klidně fs běžícího systému). Parametr --corelog způsobí, že se log mirroru nechá jen v paměti, tzn. mirror nepřežije restart, kdyžtak se začne kopírovat znova.

    lvconvert -m1 --corelog MojeVG/TohleLV /dev/novydisk

    2) Občas se podívám, jestli je to už zkopírovaný (Copy% = 100)

    lvs -a -o +devices

    3) konvertuju LV zpět na normální (lineární), ale nechám si jen tu novou kopii (parametr je ten PV ktery chci odstranit)

    lvconvert -m0 MojeVG/TohleLV /dev/starydisk

    A je to.

    P.S.: ten manuál k lvconvert v debianu neexistuje ;-)