Archive

Posts Tagged ‘Live Upgrade’

Про Live Upgrade впрок.

Мысленный поток в пятницу – включен. Поговорим о старом добром.

Обновление с помощью LU при наличии загрузочного пула на ZFS – это просто песня. Создание новой загрузочной среды – никакого ожидания, пока отработает cpio, никаких проблем с откатом – мгновенные снимки очень и очень полезны, наличие этой сладкой парочки (Live Upgrade + ZFS) самых больших скептиков убедит перейти на свежий Solaris. Даже если не нужно “поднимать” версию (update) ОС – это отличная технология для установки патчей, даже в отсутствии ZFS, а в неких особо занимательных случаях – возможность создать среду для тестирования того или иного ядерного параметра или тестирования новой версии приложения.

Основа Live Upgrade – при изготовлении новой загрузочной среды происходит фиксация текущего состояния как операционной системы со всеми ее компонентами, так и потенциальная (в зависимости от настройки) фиксация состояния наших приложений. Один из таких примеров и приведу.

Есть ряд банальных и (иногда) неочевидных нюансов. Я, например, иногда делал новую среду загрузки “впрок”, не особо планируя перезагрузку – на сервере с довольно старым релизом ОС Solaris 10 11/06 с весьма старым KU, несколькими зонами на борту (с разнообразными интернет-сервисами навроде статических httpd серверов и любимых связок postfix+dovecot, ну и hg). Но работа на месте не стоит ;) Потребовалось (настоятельно) перейти на новый релиз и KU (и на то были веские причины – пальцем бы не шевельнул – искренне считаю обновление хорошо работающего “продуктива” моветоном). Решил подойти к вопросу обстоятельно, сделал новую среду загрузки (lucreate), обновился до нового Solaris (9/10), “докатил” самые свежие патчи – и, закончив все манипуляции примерно за 3 часа, стал ждать “окошка” для запуска заветной команды init 6. Увы, не срослось, выяснилось, что сервер перезагрузке не подлежит ни при каких обстоятельствах (даже вот ни на 15 минут). Ну ладно – что нам – подождем. На следующий день в алиасы postfix была накидана пачка новых пользователей, еще через день – по ftp залили пачку новых страничек, прописали несколько виртуальных серверов. И так далее. К выходным система была перезагружена – и с точки зрения приложений вернулась в состояние недельной (на момент изготовления среды) давности. Крик, шум, “что случилось?!”, “нас сломали!!!”. Необходимые файлы конфигурации приложений были быстренько перенесены со старой среды, все “поехало”.

Мораль, если дочитали до этого места – “хороша ложка к обеду” или все надо делать своевременно, тщательно планирую свои действия, не забывая про расчет потенциально возможных сценариев. Если бы я заранее спланировал свое обновление – и перезагрузил систему сразу, без длительной паузы – заказчик бы остался в восторге от технологичности решения. Вышло несколько иначе.

Есть вещи, которые почему-то забывают делать, начиная продолжительное хождение по граблям и грабелькам (и это не имеет отношения к чтению документации!!! Не на прямую, понятно ;) ). Если делается обновление с одного релиза на другой (я говорю про обновления между разными релизами Solaris 10, НЕ затрагивая предыдущие версии Solaris (7,8,9) – где LU поддерживается) – хорошая (и единственно верная) практика – это удаление пакетов SUNWlu*, на всякий случай – стирание /etc/lutab, /etc/lu/, и установка их со свежего релиза, причем языковые пакеты, которые иногда по умолчанию стоят – можно и не ставить вовсе. Если что-то не заладилось с LU кардинальным образом – есть однозначный смысл повторить с нуля, изничтожив пакеты и файлы из списка ранее по тексту. Одна из любимых “отмазок” – отсутствие cd-rom’a. В таком случае не грех напомнить про lofs и про то, что система обновляется просто шикарным образом и с NFS-шары.

Технически, Игорь, мой коллега, все великолпено изложил у себя в блоге, рекомендую:
- Solaris Live Upgrade. Часть 1
- Solaris Live Upgrade. Часть 2. Переходим на ZFS
- Solaris Live Upgrade. Часть 3. Шпаргалки

Что хочу добавить – после прочтения этих ссылок идем на docs.oracle.com и там читаем хотя бы Release Notes… Полезно и бывают таааакие открытия ;)

Мысли вслух закончились :) Happy installing (oops, upgrading!) :)

Поток выключен – спокойной ночи :)

Oracle Solaris 10 9/10

Свежее обновление. Жизнь налаживается. Это у нас пресс-релиз, как бы ни о чем.

Читать надо, как всегда, правильные источники ;) А еще лучше – почитать совсем правильный блог.

Писать смысла обо всех изменениях (читай – плохонько переводить Release Notes). Ставить надо однозначно. В ближайшее время – ждите отчета :)

Тем временем, на работе изменение курса – “Все дружно учим AIX”. Как уж там получится – я не знаю, только-только удалось получить мало-мальски вменяемую компетенцию (не в виде сертификатов и прочих бумажек) и начать вникать в суть происходящего внутри Solaris :(

PS: так называемые скриншоты (точнее – целий один):

Screen shot 2010-09-14 at 14.05.38.JPG

PPS: при выполнение Live Upgrade с Solaris 10 10/09 до Solaris 10 9/10 возникло затруднение:

root@petalum # luupgrade -u -n s10x_u9wos_14a -s /mnt/solaris10910 
 
No entry for BE <s10x_u9wos_14a> in GRUB menu
Copying failsafe kernel from media.
61364 blocks
miniroot filesystem is <lofs>
Mounting miniroot at </mnt/solaris10910/Solaris_10/Tools/Boot>
ERROR: The auto registration file <> does not exist or incomplete.
       The auto registration file is mandatory for this upgrade.
       Use -k <filename> argument along with luupgrade command.

… и продолжение апдейта далее невозможно.

Решение “нагуглил” довольно быстро:

root@petalum # echo "auto_reg=disable" > /tmp/sysidcfg
root@petalum # luupgrade -u -n s10x_u9wos_14a -s /mnt/solaris10910 -k /tmp/sysidcfg

… дальше обновление пошло (почти) как обычно. Ссылка на оригинал здесь – там же кое-какие разъяснения.

PPS: LU process completed. s10x_u8wos_08a to s10x_u9wos_14a. In 30 minute or so ;)

Опять про linux и Solaris…

Завязался разговор про то, как все круто устроено в linux – и в том числе про “живые” обновления системы… Ну или почти “живые” – с минимальным downtime, на конфигурациях, пригодных для продуктивной эксплуатации. Короче, было просто любопытно послушать другую точку зрения. В результате завязался небольшой холи-вар на этот предмет. Я остался строго при своем.

Буквально на днях поимел правильный опыт обновления системы с Solaris 10 6/06 (root на ufs) -> Solaris 10 5/09 (root на zfs, latest EIS)… Итог работы – 3 часа работы на системе, 15 минут (!!!) downtime – это время перезагрузки машины и связанных серверов. Продолжаете думать, что это много? Ок, посмотрим более тяжелый случай. Аналогичный апгрейд (ну почти) – с Solaris 9 до последней версии Solaris 10 – все те же 3 часа работы + 15 мин (чистого, без сервиса – я не могу учесть работ, проводимых на бизнес платформе) на перезагрузку. А теперь давайте предположим, что это критичный сервис – и сравним – 15 минут “чистого” простоя – или около 6 часов на проведения всего комплекса работ по обновлению бизнес-критического сервиса.

После таких разговоров сразу зачем-то поднимают вопрос про кластера и распределенные системы… Не все так безоблачно и красиво в этом мире ;) Именно сочетания таких технологий и создают настоящую Hi-end enterprise-систему, а Sun (с такими продуктами, как Solaris, Sun Cluster и т.д.) превносит почти все их возможности на midrange и entry-level системы. С учетом наличия в портфеле решений Sun Opensolaris, OHAC и так далее – это еще и абсолютно бесплатно. “А поддержка?” – а покупайте поддержку, и используйте ее.

Ах, забыл за потоком мысли: почитать про Live Upgrade можно здесь.

Solaris 10 update 7: luactivate failed

bash-3.00# luactivate sol10u_u7_srs5ea1
 A Live Upgrade Sync operation will be performed on startup of boot environment .
 
/usr/sbin/luactivate: /etc/lu/DelayUpdate/: cannot create
 bash-3.00# export BOOT_MENU_FILE="menu.lst"
 bash-3.00# luactivate sol10u_u7_srs5ea1
 ...
 Modifying boot archive service
 Activation of boot environment  successful.
 bash-3.00#

(c) http://groups.google.com/group/comp.unix.solaris/msg/0ff92997c4d5cb0f

PS: а в целом – удобная вещь для быстрого тестирования :)