вторник, 21 апреля 2015 г.

Cisco Nexus NX-OS - Настройка scheduler/ Scheduler configuration

   В Cisco IOS имеется встроенный планировщик выполнения команд  - Command Scheduler (Kron). Подробную информацию об  использовании этой функции можно найти тут. В коммутаторах Cisco Nexus, работающих на системе NX-OS, так же есть подобная функция, которая называется scheduler. Для настройки этого функционала достаточно воспользоваться инструкцией... Это в идеале. В реальности пришлось убить 4 часа на ерунду из-за непонятного мне поведения NX-OS.
   Сразу хотел бы оговориться, что с линуксами у меня весьма слабое знакомство. Возможно, из-за этого я долго разбирался с возникшей проблемой. Возможно, для кого-то будет все здесь написанное логичным и очевидным. Если так, буду рад, если кто-нибудь мне объяснит, баг это или фича. Итак, поехали.

   Задача поставлена следующим образом: необходимо, чтобы раз в неделю в определенное время выполнялся бэкап конфига коммутатора Nexus 7010 на выделенный FTP-сервер.
   С Nexus'а FTP-сервер доступен. В качестве FTP использовался Linux-сервер. Открываю мануал, ссылку на который указал выше, читаю. Нахожу случай, крайне похожий на мой - бэкап конфига на TFTP. Начинаю настройку, состоящую из нескольких шагов:
1) Определить действие, которое необходимо выполнить;
2) Настроить временной интервал, который будет указывать, когда будет выполняться указанное действие.
   С пунктом 1 никаких проблем не возникло. Настраиваю  второй пункт, немного переделав под себя пример с TFTP. В моем случае это выглядело так:

switch(config-job)# cli var name timestamp $(TIMESTAMP) ;copy running-config bootflash:/$(SWITCHNAME)-cfg.$(timestamp) ;copy bootflash:/$(SWITCHNAME)-сfg.$(timestamp) ftp://admin:admin@1.2.3.4/Nexus_Bckp/ vrf management

   Суть команды следующая: создаю переменную timestamp для фиксации времени. После копирую текущий конфиг на bootflash, переименовав файл по имени моего хоста и добавив в конец названия файла метку времени. После этого копирую с флэша этот файл на FTP-сервер в директорию Nexus_Bckp, лежащую в корне FTP.

   Однако, резервное копирование завершилось с ошибкой 252 - Невозможно создать файл. Причем на флеше файл успешно создан.

   После анализа логов и долгого копания выяснил, что проблема была в пути к папке на FTP сервере.
   Корневая папка FTP-сервера находилась по адресу: var/opt/ftp/. Для устройств на IOS, как и для меня запись ftp://1.2.3.4 позволяла попасть в каталог var/opt/ftp/ на сервере по адресу 1.2.3.4. Но для NX-OS почему-то требовался полный путь. Таким образом моя команда преобразовалась вот в такую:

switch(config-job)# cli var name timestamp $(TIMESTAMP) ;copy running-config bootflash:/$(SWITCHNAME)-cfg.$(timestamp) ;copy bootflash:/$(SWITCHNAME)-сfg.$(timestamp) ftp://admin:admin@1.2.3.4/var/opt/ftp/Nexus_Bckp/ vrf management

При этом на FTP-сервере под Windows такой проблемы не наблюдалось.

Комментариев нет:

Отправить комментарий