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


Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/melkor/public_html/melkor.eu/wp-content/plugins/geshi/geshi/geshi.php on line 2065

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/melkor/public_html/melkor.eu/wp-content/plugins/geshi/geshi/geshi.php on line 2065

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/melkor/public_html/melkor.eu/wp-content/plugins/geshi/geshi/geshi.php on line 2065

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/melkor/public_html/melkor.eu/wp-content/plugins/geshi/geshi/geshi.php on line 2065

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/melkor/public_html/melkor.eu/wp-content/plugins/geshi/geshi/geshi.php on line 2065

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/melkor/public_html/melkor.eu/wp-content/plugins/geshi/geshi/geshi.php on line 2065

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/melkor/public_html/melkor.eu/wp-content/plugins/geshi/geshi/geshi.php on line 2065

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/melkor/public_html/melkor.eu/wp-content/plugins/geshi/geshi/geshi.php on line 2065
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

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

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

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

 

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

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

 

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

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

 

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

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

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

 

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

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

 

Горните команди ще размонтират старите файлови системи и ще променят точката на монтиране на новите. Също така с последната команда ще сложим квота от 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 с етикети , , , , , , , , . Постоянна връзка.

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните ви за коментари.