Здесь я опишу процесс обновления JunOS, в качестве примера использую Juniper SRX 100h c версией JunOS 11.4R5.5 на борту, обновлять буду до версии 12.1X44-D11.5
Сразу оговорюсь, что JunOS доступна на официальном сайте Juniper Networks, при условии, что у вас есть сервисный контракт на устройство.
Итак, подключаемся к устройству через консольный порт и переходим в shell, если мы еще не в нем
root@srx> start shell user root
после вставляем флешку и видим что то вроде этого:
root@srx% umass1: JetFlash Mass Storage Device, rev 2.00/11.00, addr 4 da1 at umass-sim1 bus 1 target 0 lun 0 da1: Removable Direct Access SCSI-4 device da1: 40.000MB/s transfers da1: 3864MB (7913472 512 byte sectors: 255H 63S/T 492C)
Если не видим, то выполним команду, чтобы посмотреть
root@srx% dmesg
Дальше форматируем флешку:
root@srx% newfs -U /dev/da1 /dev/da1: 3864.0MB (7913468 sectors) block size 16384, fragment size 2048 using 22 cylinder groups of 183.62MB, 11752 blks, 23552 inodes. with soft updates super-block backups (for fsck -b #) at: 32, 376096, 752160, 1128224, 1504288, 1880352, 2256416, 2632480, 3008544, 3384608, 3760672, 4136736, 4512800, 4888864, 5264928, 5640992, 6017056, 6393120, 6769184, 7145248, 7521312, 7897376
После этого создаем директорию в которую будем монтировать флешку:
root@srx% mkdir /var/tmp/usb
Сразу скажу, что если точка монтирования флешки /var/tmp/… как у меня, то после перезагрузки устройства все данные с флешки удалятся.
Теперь монтируем флешку в созданную директорию и проверяем:
root@srx% mount /dev/da1 /var/tmp/usb root@srx% df -h Filesystem Size Used Avail Capacity Mounted on /dev/da0s1a 292M 138M 131M 51% / devfs 1.0K 1.0K 0B 100% /dev /dev/md0 368M 368M 0B 100% /junos /cf 292M 138M 131M 51% /junos/cf devfs 1.0K 1.0K 0B 100% /junos/dev/ procfs 4.0K 4.0K 0B 100% /proc /dev/bo0s3e 24M 24K 22M 0% /config /dev/bo0s3f 342M 7.0M 308M 2% /cf/var /dev/md1 168M 17M 137M 11% /mfs /cf/var/jail 342M 7.0M 308M 2% /jail/var /cf/var/log 342M 7.0M 308M 2% /jail/var/log devfs 1.0K 1.0K 0B 100% /jail/dev /dev/md2 39M 4.0K 36M 0% /mfs/var/run/utm /dev/md3 1.8M 172K 1.5M 10% /jail/mfs /dev/da1 3.7G 4.0K 3.4G 0% /cf/var/tmp/usb
Теперь нужно поместить, имеющийся у нас образ JunOS на флешку. ОС Windows не увидит файловую систему Juniper, поэтому на прямую скинуть не удастся, лично не проверял, но почти уверен, что то вроде FreeBSD такую флешку увидит, Linux Mint с ходу, тоже не видит, подозреваю, что проблему можно решить после небольших танцев с бубном, но сейчас не об этом.
В данном случае есть 2 простых и обычных варианта
1) Поднять FTP сервер и с него забрать нужный следующим образом:
root@srx% cd /var/tmp/usb root@srx% fetch ftp://user:password@addres/junos-srxsme-12.1X44-D11.5-domestic.tgz
2) Которым воспользовался я, зайти по SFTP и закинуть файл на флешку, я воспользовался WinSCP, подключился к моему устройству и закинул файл образа в папку /var/tmp/usb
Все, теперь JunOS на флешке, но перед тем как обновлять систему на устройстве сделаем резервную копию существующей системы, для этого переходим в CLI:
root@srx% cli
после этого делаем резервную копию системы
root@srx> request system snapshot slice alternate Formatting alternate root (/dev/da0s2a)... Copying '/dev/da0s1a' to '/dev/da0s2a' .. (this may take a few minutes) The following filesystems were archived: /
после этого проверяем:
root@srx> show system software backup Backup JUNOS package information: File name: /altroot/cf/packages/junos-11.4R5.5-domestic File size: 140206876
И, наконец переходим к обновлению JunOS, команду обновления выполняем с опцией validate, эта опция проверяет конфигурацию устройства на совместимость с новой версией системы, если нужно что бы после установки образ удалился, что бы не возникли проблемы со свободным местом, то добавляем «no-copy unlink»
root@srx> request system software add validate /var/tmp/usb/junos-srxsme-1212.1X44-D11.5-domestic.tgz no-copy unlink
после завершения перезагружаем железку и проверяем версию системы:
root@srx> show version Hostname: srx Model: srx100h JUNOS Software Release [12.1X44-D11.5]
Видим, что версия обновилась, и радуемся
если не нравится этот способ обновления, можно попробовать другой.
Так же вот полезные ссылки на KB Juniper по обновлению кластера.
Статья в knowledge base Juniper где приведены рекомендованые JTAC версии JunOS для разных серий устройств
http://kb.juniper.net/InfoCenter/index?page=content&id=KB16652