Сегодня наконец-то успешно завершил первый эксперимент с
Solaris 8 Migration Assistant (
S8MA) - новым продуктом от Sun, который позволяет запускать зоны с Solaris 8. Решение является полностью поддерживаемым (за поддержку, конечно же, придётся заплатить), но доступен для бесплатного скачивания и тестирования в течение 90 дней, чем я и воспользовался.
Для начала - немного о полезности данного продукта. Во многих компаниях к апгрейдам Solaris относятся довольно консервативно. Большинство основных систем работает под Solaris 8, если не что-нибудь ещё старше. Часто это обусловлено зависимостями от программного обеспечения сторонних разработчиков, которое было в своё время куплено и налажено под Solaris 8, и теперь не может быть достаточно легко портировано в Solaris 10. Получается, что такие системы обречены на медленное, но очень дорогое устаревание. Дорогое - потому что с каждым годом поддержка серверов, способных работать под управлением Solaris 8, становится всё дороже.
Вот как раз для таких случаев и было придумано решение с зонами Solaris 8. Всё очень просто: создаёшь flar-слепок существующей Solaris 8-системы, создаёт зону Solaris 8, импортирует туда flar-образ, и получаешь виртуальную копию твоей Solaris 8, вместе со всеми процессами, программами и скриптами. Для особых случаев даже предусмотрена возможность указания старого hostid для свежесозданной зоны - чтобы ни одна из программ, запущенных внутри зоны, даже не догадалась о своём виртуальном положении.
Возможно, я расскажу об этой технологии более подробно в другой раз. А пока - простейший набор действий и команд для проверки того, как же всё это работает:
1. Найти и подготовить какую-нибудь sparc-систему с Solaris 10u4. Важно, чтобы это был самый распоследний апдейт Solaris 10. Подготовка заключается в установке патча с обновлением ядра. В моём случае оказалось достаточно патча 127111-01.
2. Скачать Solaris 8 Migration Assitant (текущая версия - 1.0) вот по этой ссылке:
Solaris 8 Migration Assistant. 3 пакета, полученных в архиве, устанавливаются простейшим образом с помощью стандарнтого pkgadd.
Пакеты - следующие:
SUNWs8brandr Solaris 8 Migration Assistant: solaris8 brand support (Root)
SUNWs8brandu Solaris 8 Migration Assistant: solaris8 brand support (Usr)
SUNWs8p2v Solaris 8 p2v Tool
3. Создать flar-слепок с вашего Solaris 8 бокса.
В этом и следующих разделах, solaris8 - ни что иное, как выбранное мною имя для новой зоны. Оно может быть совершенно любым, просто в моём окружении именно такое название имело смысл.
bash-3.00# flarcreate -S -n solaris8 solaris8.flar
4. Создать костяк нашей новой зоны с Solaris 8.
Делается это так:
bash-3.00# zonecfg -z solaris8
solaris8: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:solaris8-system> create -t SUNWsolaris8
zonecfg:solaris8> set zonepath=/export/solaris8
zonecfg:solaris8> add net
zonecfg:solaris8:net> set address=172.21.7.155/24
zonecfg:solaris8:net> set physical=ce0
zonecfg:solaris8:net> end
zonecfg:solaris8> commit
zonecfg:solaris8> exit
Естественно, IP адрес и имя сетевого интерфейса в вашем случае могут быть другими. Теперь наша зона, в общем-то, уже готова, и находится в состоянии configured (но пока ещё не installed).
5. Установить зону Solaris 8 по мотивам нашего flar-архива
bash-3.00# zoneadm -z solaris8 install -u -a /export/solaris8.flar
Log File: /var/tmp/solaris8.install.13597.log
Source: /export/solaris8.flar
Installing: This may take several minutes...
Postprocessing: This may take several minutes...
WARNING: zone did not finish booting.
Result: Installation completed successfully.
Log File: /export/solaris8/root/var/log/solaris8.install.13597.log
В моём случае зона Solaris 8 застряла на элементе sys-unconfig, и поэтому пришлось ей помочь расконфигурироваться, подключившись к виртуальной консоли зоны.
Делается это с помощью команды: