На борту Juniper SRX имеется USB разъем для подключения флешек. Согласно рекомендациям производителя поддерживаются следующие носители:
Unigen 4 GBУ меня работал Kingston Datatraveler 512M, на который я скопировал образ junos junos-srxsme-10.0R4.7-domestic.tgz и конфигурационные файлы с работающих устройств. Новые версии junos доступны на сайте производителя при наличии действующих сервисных контрактов. Еще я использую Card Reader с CompactFlash 1Gb для создания бекапов.
Trancend JetFlash 1GB, 2GB
Kingston Datatraveller 2GB
Lexar 1GB, 2GB, 4 GB
При подключении флешки на консоли появляются соответствующие сообщения:
umass1: Kingston DataTraveler 2.0, rev 2.00/1.00, addr 4 da1 at umass-sim1 bus 1 target 0 lun 0 da1:которые свидетельствуют об успешном определении устройства. Если при подключении устройство не определилось, как это произошло с DataTraveler 4Gb, то попытки рекомендую прекратить во избежание траты времени и нервов.Removable Direct Access SCSI-0 device da1: 40.000MB/s transfers da1: 490MB (1003520 512 byte sectors: 64H 32S/T 490C)
Далее необходимо подмонтировать устройство. Всем знакомым с FreeBSD или Linux это будет просто и понятно.
root@srx> exit root@srx% mount_msdosfs /dev/da1 /mnt root@srx% ls /mnt srx1-srx_juniper.conf.gz_20100831_015647 srx2-srx_juniper.conf.gz_20100831_085035 junos-srxsme-10.0R4.7-domestic.tgz root@enisey-srx%Далее устанавливается софт:
root@srx> request system software add partition reboot /mnt/junos-srxsme-10.0R4.7-domestic.tgzОпция partition означает, что внутренний диск будет разбит на разделы и переформатирован. Опцию no-copy применять смысла нет, так как есть желание оставить образ на флешке, а не перемещать на внутренний носитель. После перезагрузки имеем:
root@srx> show system software detail Information for junos: Comment: JUNOS Software Release [10.0R4.7] Depends on: Description: JUNOS Software Release Copyright (c) 1996-2010, Juniper Networks, Inc. All rights reserved. Software version: 10.0R4.7 This package contains OS components. root@srx> show system software backup Backup JUNOS package information: File name: /altroot/cf/packages/junos-10.0R4.7-domestic File size: 183860355Самое приятное во всем обновлении с форматированием, что конфигурация сохраняется, чего я поначалу не ожидал.
В любом случае, конфигурации были на USB. Можно без проблем залить любую из них. Для этого монтируем флешку как ранее. Поскольку все конфигурации junos пакует gzip'ом, то предварительно их следует распаковать. Сделать это можно следующим образом:
root@srx% cd /mnt root@srx% ls srx1-srx_juniper.conf.gz_20100831_015647 srx2-srx_juniper.conf.gz_20100831_085035 junos-srxsme-10.0R4.7-domestic.tgz root@srx%zcat srx1-srx_juniper.conf.gz_20100831_015647 > srx1.cfg root@% cli root> edit Entering configuration mode [edit] root# load override /mnt/srx1.cfg load complete [edit] root# commitДалее необходимо выйти обратно в shell и отмонтировать и извлечь флешку:
root@srx1% umount /mnt umount: unmount of /mnt failed: Device busy root@srx1% pwd /mnt root@srx1% cd / root@srx1% root@srx1% umount /mnt root@srx1% wumass1: at uhub1 port 2 (addr 4) disconnected (da1:umass-sim1:1:0:0): lost device (da1:umass-sim1:1:0:0): removing device entry umass1: detached
Глава 2. Создание резервной копии и восстановление с нее.
Для создания резервной копии использую CompactFlash 1Gb, подключаемую через card reader, что совпадает с размером внутреннего носителя SRX100.
Подключается флешка в USB, выполняются команды:
umass1: Generic Mass Storage Device, rev 2.00/1.00, addr 4 da1 at umass-sim1 bus 1 target 0 lun 0 da1:Removable Direct Access SCSI-0 device da1: 40.000MB/s transfers da1: 955MB (1957536 512 byte sectors: 64H 32S/T 955C) root@% cli root@> request system snapshot media usb partition Clearing current label... Partitioning usb media (/dev/da1) ... Partitions on snapshot: Partition Mountpoint Size Snapshot argument s1a / 278M none s2a /altroot 278M none s3e /config 22M none s3f /var 331M none s4a recovery 29M none Copying '/dev/da0s1a' to '/dev/da1s1a' .. (this may take a few minutes) Copying '/dev/da0s2a' to '/dev/da1s2a' .. (this may take a few minutes) Copying '/dev/da0s3e' to '/dev/da1s3e' .. (this may take a few minutes) Copying '/dev/da0s3f' to '/dev/da1s3f' .. (this may take a few minutes) Copying '/dev/da0s4a' to '/dev/da1s4a' .. (this may take a few minutes) The following filesystems were archived: / /altroot /config /var recovery root@> umass1: at uhub1 port 2 (addr 4) disconnected (da1:umass-sim1:1:0:0): lost device (da1:umass-sim1:1:0:0): removing device entry umass1: detached
В загрузчике (loader), куда можно попасть, надавив "Пробел" во время загрузки, можно указать устройство, с которого предстоит загрузиться:
Loading /boot/defaults/loader.conf /kernel data=0x917724+0xc6d30 syms=[0x4+0x74ce0+0x4+0xa56e9] Hit [Enter] to boot immediately, or space bar for command prompt. [давится "Пробел"] Type '?' for a list of commands, 'help' for more detailed help. loader> nextboot usb Setting next boot dev usb Un-Protected 1 sectors writing to flash... Protected 1 sectors loader> reboot Resetting... U-Boot 1.1.6 (Build time: Nov 19 2009 - 07:52:31) SRX_100_LOWMEM board revision major:0, minor:0, serial #: AT1610AF0206 OCTEON CN5020-SCP pass 1.1, Core clock: 500 MHz, DDR clock: 266 MHz (532 Mhz data rate) DRAM: 512 MB Starting Memory POST... Checking datalines... OK Checking address lines... OK Checking 512K memory for U-Boot... OK. Running U-Boot CRC Test... OK. Flash: 4 MB USB: scanning bus for devices... 4 USB Device(s) found scanning bus for storage devices... 2 Storage Device(s) found Clearing DRAM....... done BIST check passed. Net: pic init done (err = 0)octeth0 POST Passed Press SPACE to abort autoboot in 1 seconds ELF file is 32 bit Loading .text @ 0x8f000078 (241008 bytes) Loading .rodata @ 0x8f03ade8 (13908 bytes) Loading .rodata.str1.4 @ 0x8f03e43c (15972 bytes) Loading set_Xcommand_set @ 0x8f0422a0 (96 bytes) Loading .rodata.cst4 @ 0x8f042300 (20 bytes) Loading .data @ 0x8f043000 (5572 bytes) Loading .data.rel.ro @ 0x8f0445c4 (120 bytes) Loading .data.rel @ 0x8f04463c (136 bytes) Clearing .bss @ 0x8f0446c8 (8304 bytes) ## Starting application at 0x8f000078 ... Consoles: U-Boot console Found compatible API, ver. 1.6 FreeBSD/MIPS U-Boot bootstrap loader, Revision 1.6 (builder@ormonth.juniper.net, Thu Nov 19 07:07:59 UTC 2009) Memory: 512MB [1]Booting from usb slice 1 Un-Protected 1 sectors writing to flash... Protected 1 sectors Loading /boot/defaults/loader.conf [skip] da0 at umass-sim0 bus 0 target 0 lun 0 da0:После загрузки операционной системы выполняется процедура восстановления, после чего выполняется команда перезагрузки:Removable Direct Access SCSI-2 device da0: 40.000MB/s transfers da0: 1000MB (2048000 512 byte sectors: 64H 32S/T 1000C) da1 at umass-sim1 bus 1 target 0 lun 0 da1: Removable Direct Access SCSI-0 device da1: 40.000MB/s transfers da1: 955MB (1957536 512 byte sectors: 64H 32S/T 955C)
root@srx> request system snapshot media internal partition
Clearing current label...
Partitioning internal media (/dev/da0) ...
Partitions on snapshot:
Partition Mountpoint Size Snapshot argument
s1a / 293M none
s2a /altroot 293M none
s3e /config 24M none
s3f /var 342M none
s4a recovery 30M none
Copying '/dev/da1s1a' to '/dev/da0s1a' .. (this may take a few minutes)
Copying '/dev/da1s2a' to '/dev/da0s2a' .. (this may take a few minutes)
Copying '/dev/da1s3e' to '/dev/da0s3e' .. (this may take a few minutes)
Copying '/dev/da1s3f' to '/dev/da0s3f' .. (this may take a few minutes)
Copying '/dev/da1s4a' to '/dev/da0s4a' .. (this may take a few minutes)
The following filesystems were archived: / /altroot /config /var recovery
root@srx> request system reboot
Reboot the system ? [yes,no] (no) yes
Shutdown NOW!
[pid 1446]
root@srx>
FreeBSD/MIPS U-Boot bootstrap loader, Revision 1.6
(builder@ormonth.juniper.net, Thu Nov 19 07:07:59 UTC 2009)
Memory: 512MB
[0]Booting from nand-flash slice 1
Послесловие
В junos предусмотрен как основной корень "/", где располагаетcя ядро и пр, так и альтернативный. Иногда после того, как пользователь залогинился, выдается что-то типа Message of the Day (MOTD)
login: root Password: *********************************************************************** ** ** ** WARNING: THIS DEVICE HAS BOOTED FROM THE BACKUP JUNOS IMAGE ** ** ** ** It is possible that the active copy of JUNOS failed to boot up ** ** properly, and so this device has booted from the backup copy. ** ** ** ** Please re-install JUNOS to recover the active copy in case ** ** it has been corrupted. ** ** ** ***********************************************************************Здесь рекомендуется, как понятно из текста, переустановить операционную систему, либо, как еще предлагает документация, выполнить команду:
root@srx>request system snapshot slice alternate
Хорошей идеей будет создать резервную конфигурацию, об отсутствии которой сигнализирует устройство:
root@srx> show system alarms 1 alarms currently active Alarm time Class Description 2010-09-03 18:52:18 KRAST Minor Rescue configuration is not set root@srx> request system configuration rescue save root@srx> show system alarms No alarms currently active