Az ügyfelek sok esetben kívánják az olcsóbb NFS share-eket átmigrálni gyorsabb és megbízhatóbb (cserébe drágább) SAN storage-ra. Amennyiben a SAN diszkeket Veritas Storage Foundation 6.0-val kezeljük, abban az esetben ezt megtehetjük online is.

Előkészületek

Először is van egy NFS share, amit migrálni kívánunk. Van benne rendesen adat.

# mount -F nfs 192.168.132.1:/store/software /migrate_test
# df -h /migrate_test

Ezen túl futtatok egy scriptet, ami 5 másodpercenként beleírja a dátumot egy file-ba.

# while true; do echo `date` >> /migrate_test/testfile.txt; sleep 5; done &
# cat /migrate_test/testfile.txt

Illetve készítettem egy 50GB-os veritas Volume-t, amire át akarunk migrálni.

# vxprint -htq

Migráció

Először is teszteljük le, hogy lehetséges-e a migráció.

# fsmigadm analyze /dev/vx/rdsk/migrate_pool/migrate_vol /migrate_test

A parancs létrehoz egy file-t, amiben megtaláljuk a részletes teszt eredményeket. A legfontosabb az utolsó sor, hogy átment a teszten, vagy nem.

Akkor most nézzük meg a teszt alkalmazásunk mit logolt le és megkezdhetjük a migrációt.

# cat /migrate_test/testfile.txt | tail -5
# fsmigadm start /dev/vx/rdsk/migrate_pool/migrate_vol /migrate_test

Amennyiben kiadjuk a mount parancsot, igazán furcsa dolgot fogunk látni:

# mount

Ahogy látszik felülmountololódott az eredeti mount point, és az NFS mount alá került.

Természetesen hivatalos tool is van, ami a most folyó migrációról informál minket:

# fsmigadm status /migrate_test/

A parancs mutatja, hogy mit mire migrálunk éppen, illetve, hogy mennyivel folyik a migráció, illetve százalékos arányban hol jár.

Természetesen érdemes ránézni mindeközben a teszt file tartalmára is.

# cat /migrate_test/testfile.txt | tail -10

Amikor a migráció befejeződött a következőt fogjuk látni:

# fsmigadm status /migrate_test/

Viszont itt még nem értek véget a teendőink. Ahhoz, hogy az NFS megszűnjön és véglegesítődjön a migráció commit-elni kell a migrációt a következő paranccsal.

# fsmigadm commit /migrate_test/
# fsmigadm status /migrate_test/
# mount |grep migrate_test

Ahogy látszik a commit után már nem volt normális kimenetele a status lekérésnek, illetve már az új volume csak elérhető. Ezzel végeztünk is.

Összegzés

A funkció tesztelése közben hibába botlottam már az elején. Solaris esetében volt egy BUG, ami megakadályozta, hogy az fsmigadm analyze jónak jelentse le az NFS-t. Ezt a hibát a Veritas Storage Foundation RP1 HF1 javítja. Bár én totálisan ONLINE csináltam a migrációt, a SYMANTEC ezt nem ajánlja. A Symantec ajánlás szerint a migráció elkezdése előtt le kell állítani az alkalmazást (ekkor történik a felülmountolás). A migráció közben megint futhat az alkalmazás. Illetve a fsmigadm commit előtt szintén le kell állítani az alkalmazást.

Egy DB esetében ez a két újramountolás is okozhat gondolom problémát, viszont egy webszerver, vagy más nem I/O intenzív alkalmazás esetében szerintem ez se jelenthet nagy gondot.

Minden esetre ez a funkció nagyban megkönnyíti a migrációt VxVM-re.