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.