Однажды на MX204 с прошивкой 19.4R3-S6.1 я столкнулся с багом связанным с очень долгим удалением BGP-маршрутов при потере соседа. По этому обновление прошивки было обязательным для решения этого бага, так как он был исправлен в версии 21+.
В момент бага загрузка RE поднималась с 3% до 23%, процесс rpd загружен на 100%, при попытке посмотреть полученные маршруты от соседей которые offline получал ответ timeout:
show system processes extensive | match rpd
show route receive-protocol bgp IP
error: timeout communicating with routing daemon
show bgp neighbor IP
Flags: <PurgeInProgress PurgeImpatient PurgeActive>
Несколько миллионов маршрутов удалялись за несколько часов, в этот момент некоторые сайты могли не работать и постепенно начинали работать по мере удаления маршрутов, для быстрого решения вроде можно перезапустить rpd и все связанные процессы, но это также разорвет все остальные BGP сессии:
restart routing
Поэтому я решил обновить прошивку как можно быстрее, посмотрел текущую версию:
show version
Посмотрел резервный снимок системы:
show vmhost snapshot
Он был старым по этому сделал новый, процесс занимает около 5 минут, команда перезапишет существующий снимок:
request vmhost snapshot
При необходимости можно восстановить с резервного снимка:
request vmhost snapshot recovery
Посмотрел свободное место
show system storage
file list /var/tmp/
Сохраним любым способом конфигурацию на сервер (по нормальному она должна ежедневно копироваться на сервер с бекапами):
file copy /config/juniper.conf.gz /var/tmp/juniper.conf.gz
file copy /config/juniper.conf.gz [email protected]:/dir/
scp -P 2222 [email protected]:/config/juniper.conf.gz /srv/tftp/`date +%Y-%m-%d`_0201_nas_58_.conf.gz
Загрузил образ прошивки на устройство в директорию /var/tmp/:
scp -P 2222 junos-vmhost-install-mx-x86-64-21.4R3-S10.13.tgz [email protected]:/var/tmp/
По желанию можно проверить целостность и совместимость файла прошивки, но это и так будет сделано при запуске обновления:
request vmhost software validate /var/tmp/...
Пример команды установки прошивки для платформ с виртуализированным хостом, таких как MX204 (процесс у меня занял 16 минут):
request vmhost software add /var/tmp/junos-vmhost-install-mx-x86-64-21.4R3-S10.13.tgz
После установки, чтобы запустить устройство с новой прошивки выполним перезагрузку (перезагрузка у меня выполнялась 10 минут):
request vmhost reboot
Подключимся и убедимся что устройство запущено с новой версией прошивки:
show version
Аналогичным способом я снова повысил версию прошивки, старался сразу не повышать версию выше чем +2 от текущей, а постепенно 19 — 21 — 23:
scp -P 2222 junos-vmhost-install-mx-x86-64-23.4R2-S5.6.tgz [email protected]:/var/tmp/
request vmhost software add /var/tmp/junos-vmhost-install-mx-x86-64-23.4R2-S5.6.tgz
request vmhost reboot
show version
Архивы с прошивкой можно оставить в /var/tmp/ на случай если понадобится установить какую-то версию из-них, если спустя время все работает отлично, то можно удалить старые:
file list /var/tmp/
file delete /var/tmp/ixnfo.com.tgz
Если на устройстве есть DHCP и RADIUS-сессии то они пропадут полностью, все подключённые пользователи должны будут перепроходить аутентификацию, по этому перед перезагрузкой рекомендую очистить сессии в базе биллинга, чтобы не было рассинхронизации и потом они не завершались лишними запросами, а сразу поднялись рабочие.
Смотрите также мои статьи:
Настройка Juniper MX204
Бэкап конфигурации Juniper MX