Solaris 10 миграция на rpool чрез Live Upgrade

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Наскоро ми се наложи да мигрирам root дяла на една Solaris 10 виртуална машина на нов диск, поради това че бях объркал партишънинга по време на инсталацията и половината диск не се виждаше от ОС-а, като за целта реших да използвам Live Upgrade процедурата вместо да се занимавам да правя дъмп на pool-а и след това да го възстановявам.

Ето как точно се прави това. 🙂

Първо трябва да създадем един нов pool. Вече сме добавили диска и сега остана само да го намерим и създадем новият pool изпълнявайки следните команди:

devfsadm
fdisk /dev/rdsk/c1t1d0
format /dev/dsk/c1t1d0
zpool create new-rpool c1t1d0s0

С първата команда указваме на системата да ресканира за нови устройства. В нашият случай диска е закачен на SCSI контролер 1 като target 1 – c1t1d0.
С втората команда трябва да изтрием текущия дял и да създадем нов Solaris2 дял. Това е добре да се направи защото в моя случай VirtualBox-а създаде EFI дял на диска. Това обърка доста неща и ми отне известно време докато разбера защо не мога да оправя слайсовете.
Третата команда трябва да изпълним за да си оправим слайсовете и сложим име на диска. Няма да се занимавам с нея сега – ако някой има въпроси или проблеми да прочете документацията или да ми пише. 🙂
И накрая създаваме новият pool с име new-rpool. В нашия случай използваме слайс 0 а не 2 който е за целия диск, тъй като съм отделил малко място за втори слайс.

След като вече имаме нов диск и нов pool можем да пристъпим към копирането на информацията от текущата работеща среда. Това става със следната команда:

lucreate -c rpool -n new-rpool -p new-rpool

Това ще създаде пълно системно копие като вземе данните от rpool и ги копира в new-pool. С опцията -p указваме в кой pool ще бъде новият Boot Environment (BE).
Процедурата може да отнеме известно време. Можете да видите текущия статус със командата lustatus.

Когато копието е готово остава само да активираме новият BE и да рестартираме системата. Това става със следната команда:

luactivate new-rpool

Тази команда ще извърши нужните промени по системата за да може при следващият старт да бъде стартиран този диск. Естествено ако имате проблеми винаги можете да стартирате от стария. Той си остава там, добавен като допълнителна опция в GRUB менюто.

Вече може да рестартирате системта и да стартирате от новият диск.
Ако искате да махнете старият диск, както ми се наложи на мен, ще трябва да направите още няколко допълнителни неща.

След като вече системата е заредила и сме се уверили че всичко работи трябва да прехвърлим файловата система /export/home заедно със всички потребителски файлови системи или директории на новият ни диск. За тази цел трябва да сме се свързали със системата директно с потребител root. Ако опитате да се свържете с друг потребител – няма да можете да размонтирате файловите системи.
Създаваме новите файлови системи през ZFS:

zfs create new-rpool/export
zfs create new-rpool/export/home
zfs create new-rpool/export/home/melkor

След като вече са създадени можем да прехвърлим всички данни от текущите файлови системи намиращи се в /export в новите – /new-rpool/export.

След това можем да размонтираме старите, и да оправим пътищата към тях.

zfs umount /export/home/melkor
zfs umount /export/home
zfs umount /export
zfs set mountpoint=/export new-rpool/export
zfs set quota=5g new-rpool/export/home

Горните команди ще размонтират старите файлови системи и ще променят точката на монтиране на новите. Също така с последната команда ще сложим квота от 5Gb във файловата система /export/home.

След като вече няма използвани файлови системи на старите pool и BE можем да изтрием старите BE и pool със следните команди:

ludelete -f rpool
zpool destroy rpool

След това можем да спрем машината и да махнем диска който вече не ни трябва.
Когато стартирате машината следващия път – влезте първо във failsafe mode. Ако не го направите машината ще влезе в един безкраен цикъл от рестартирания. След като стартирате failsafe mode можете спокойно да рестартирате машината и този път тя ще стартира правилно и ще можете да я използвате.

За melkor

Дългогодишен UNIX/Linux потребител. В момента работи като Senior UNIX Administrator в HP GDBC.
Публикувано в Solaris с етикети , , , , , , , , . Постоянна връзка.

This site uses Akismet to reduce spam. Learn how your comment data is processed.