Содержание


Просмотр ошибок bosboot перед перезагрузкой

Comments

В примерах этой статьи я буду использовать устройство hdisk0. Я не буду приводить здесь полный список всех команд, а рассмотрю лишь самые распространенные случаи, с которыми я сталкивался за прошедшие годы. При появлении ошибок команды bosboot лучше всего, на мой взгляд, придерживаться определенного алгоритма, т. е. иметь некий список действий и последовательно выполнять их до тех пор, пока ошибка не будет устранена. Конечно, ошибки bosboot обычно не фатальны; это легко сказать, но не так просто убедить себя в справедливости этого, особенно если вы выполняете обслуживание IBM® AIX® в одиночку поздно вечером. Как правило, проблемы возникают в связи с недавними изменениями дисков, например, в результате миграции или случайной ошибки пользователя. Мне всегда удавалось устранить проблемы с bosboot и перезагрузить систему несмотря на настойчивые предупреждения AIX не делать этого.

Чаще всего при выполнении команды bosboot я сталкивался со следующими ошибками:

  • Указано неверное загрузочное устройство.
  • Загрузочный логический том по умолчанию (hd5) не существует на указанном диске hdiskX.
  • Команда savebase завершилась с ошибкой.
  • Загрузочный диск входит в группу томов rootvg, но вывод команды lspv с этим не согласуется.

Список устройств загрузки

Поскольку ошибки bosboot могут возникать в различных ситуациях, следующие действия можно выполнять в любой последовательности. Первым делом стоит проверить текущий список устройств загрузки (bootlist) и удостовериться, что система загружается с правильного диска. Это можно сделать с помощью следующих команд.

# lspv |grep rootvg
hdisk0          00cd94a60f01c745                    rootvg          active
# bootlist -m normal -o
hdisk0 blv=hd5
hdisk0 blv=hd5
hdisk0 blv=hd5
hdisk0 blv=hd5

С какого диска выполнялась загрузка в последний раз? Действительно ли это тот диск, о котором вы думаете? Выяснить это помогут следующие команды.

# bootinfo -b
hdisk0
# getconf BOOT_DEVICE
hdisk0

Если в предыдущем примере не выводятся никакие данные, то, как правило, это связано с недавней миграцией группы томов rootvg, что само по себе не является проблемой. Давайте посмотрим, как с этим разобраться.

Ради интереса сравните дату последней миграции и время последней перезагрузки системы с помощью следующей команды.

# who -b
.        system boot Dec 04 10:57

Проверка дисков

Убедитесь в том, что загрузочные диски, о которых знает AIX, перечислены в текущем списке устройств загрузки.

# ipl_varyon -i
PVNAME          BOOT DEVICE     PVID                                   VOLUME GROUP ID
hdisk0          YES             00cd94a60f01c7450000000000000000        00cd94a600004c00
hdisk1          NO              00cd94a6e0bd72af0000000000000000        00cd94a600004c00

Если после запуска команды ipl_varyon вы видите, что требуемый диск не является загрузочным, то попробуйте вспомнить, не запускали ли вы по ошибке команду chpv –c hdisk0? Если вы очистили загрузочную запись на диске, то этот диск не будет отображаться как загрузочный. Если это действительно так, повторно выполните для требуемого диска следующую команду bosboot.

# bosboot –ad /dev/hdisk0

Проверьте, что загрузочный логический том (как правило, это hd5) расположен на загрузочном диске.

# lslv -m hd5
hd5:N/A
LP    PP1  PV1               PP2  PV2               PP3  PV3
0001  0181 hdisk0

Если это не так, переместите его на загрузочный диск. Если том hd5 поврежден и его невозможно переместить, просто удалите его и создайте заново.

# rmlv hd5
# mklv -y hd5 -t boot -a e rootvg 1 hdisk0

В очень редких случаях при запуске команды bosboot AIX может сообщить, что том hd5 не является непрерывным на разделах, на которых он располагается. Я столкнулся с этой проблемой всего один раз. Если это действительно так, то у вас не остается другого выбора кроме как удалить том hd5 и создать его заново, как было показано в предыдущем примере. После этого запустите команду bosboot для загрузочного диска и устройства ipldevice, как показано ниже.

Если AIX сообщает о невозможности запуска команды bosboot в связи с тем, что том hd5 находился на каком-то прошлом устройстве hdisk или системе не удается найти устройство ipldevice, то вам должно помочь следующее: убедитесь в том, что старший и младший номера загрузочного диска совпадают с номерами ipldevice, и что ipldevice является жесткой ссылкой на загрузочный диск.

# ls -l *hdisk0*
brw-------    1 root     system       16,  2 Jan 15 11:23 hdisk0
crw-------    2 root     system       16,  2 Oct 31 14:58 rhdisk0
# ls -l ipldevice
crw-------    2 root     system       16,  2 Oct 31 14:58 ipldevice

В последнем примере старший и младший номера (16, 2) устройства hdisk0 совпадают с номерами ipldevice, поэтому проблемы отсутствуют. Запустите команду bosboot на обоих устройствах – ipldevice и загрузочном диске.

# bosboot –a /dev/ipldevice
# bosboot –a /dev/hdisk0

Теперь можно перезагрузить систему.

Если старший и младший номера загрузочного диска не совпадают с номерами ipldevice, удалите ссылку ipldevice и создайте ее заново.

# rm /dev/ipldevice
# ln /dev/rhdisk0 /dev/ipldevice

Теперь, когда устройство ipldevice ссылается на загрузочный диск, запустите команду bosboot для обоих устройств – ipldevice и загрузочного диска.

# bosboot -ad /dev/ipldevice
# bosboot -ad /dev/hdisk0

Если устройство ipldevice отсутствует вовсе, создайте ссылку, как было показано выше.

Как показывает мой опыт, теперь все условия выполняются. Если вы можете запустить команду bosboot на устройствах ipldevice и hdisk и при этом старшие и младшие номера соответствуют ipldevice, то систему можно перезагружать. После перезагрузки системы вы увидите, что команда bosboot –a выполняется без ошибок.

savebase не спасает, а обманывает

Команда savebase сохраняет информацию в базе Object Data Manager (ODM) и тесно связана с командой bosboot. Как правило, ошибки команды savebase возникают после аппаратной миграции или миграции при помощи alt_disk. Довольно распространенной является ошибка, при которой команда lspv сообщает о том, что загрузочный диск не входит в группу томов rootvg, но вы тем не менее видите этот диск при запуске команды lsvg –p rootvg. Ошибки savebase могут иногда создавать путаницу, поскольку возникают внезапно и могут маскировать другие проблемы. Однако в нашем примере предположим, что у нас имеется явная проблема с savebase. Для начала проверим, не связана ли ошибка с нехваткой дискового пространства, и запустим savebase с подробным выводом, чтобы выяснить это.

# savebase –v

Далее предположим, что речь идет о зеркальной группе томов, и убедимся, что она действительно корректно синхронизирована. Для этого выполним следующую команду.

# syncvg –v rootvg

Далее выполним принудительное восстановление логических контрольных блоков, чтобы они были синхронизированы с областью дескрипторов группы томов на дисках.

# synclvodm –Pv rootvg

Этого должно быть достаточно для того чтобы команда savebase заработала. Наконец, запустим команду savebase –v и убедимся, что все в порядке. Для завершения процедуры запустите команду bosboot на обоих устройствах – ipldevice и загрузочном диске, как было описано выше.

Заключение

Исходя из своего опыта я могу сказать, что проверок, описанных в этой статье, достаточно для решения наиболее распространенных проблем с bosboot. Конечно, ошибки команд savebase и bosboot доставляют неудобство, но описанные в этой статье проверки помогут решить все проблемы. Также они дают уверенность в том, что можно безопасно перезагружать систему.


Ресурсы для скачивания


Комментарии

Войдите или зарегистрируйтесь для того чтобы оставлять комментарии или подписаться на них.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=AIX и UNIX
ArticleID=984786
ArticleTitle=Просмотр ошибок bosboot перед перезагрузкой
publish-date=09302014