пятница, 21 ноября 2014 г.

Планирование перезагрузки DES-3200-28/C1 по SNMP

В модели DES-3200-28/C1, начиная с прошивки 4.37.B006, а также в модели DES-3200-28/A1/B1, начиная с прошивки 1.84.B012, появилась возможность перезагрузки по расписанию. Можно запланировать перезагрузку через некоторое время, а можно указать конкретное время и дату. Через консоль это реализуется при помощи команды "config reboot schedule in|at". Здесь мы попробуем разобраться, как управлять данным функционалом по SNMP. Судя по всему, в MIB'ах информация еще не обновлена, поэтому разбираться пришлось методом научного тыка. Удалось найти OID для DES-3200-28/C1, поэтому именно с этой моделью сегодня и будем работать.

Итак, вот этот OID:

1.3.6.1.4.1.171.12.1.2.32


Имени у него пока нет. Но нам хватит и этого. :) Если перезагрузка не запланирована, то по этому адресу мы ничего не найдем. Если запланирована, получим нечто вроде такого:
.1.3.6.1.4.1.171.12.1.2.32.1.2.1 = INTEGER: 60
.1.3.6.1.4.1.171.12.1.2.32.1.3.1 = Hex-STRING: 13 1B
.1.3.6.1.4.1.171.12.1.2.32.1.4.1 = Hex-STRING: 15 0B 07 DE
.1.3.6.1.4.1.171.12.1.2.32.1.5.1 = INTEGER: 2
.1.3.6.1.4.1.171.12.1.2.32.1.10.1 = INTEGER: 1

Расшифровка значений:
60 - Количество минут, которые должны пройти до перезагрузки. Это число уменьшается со временем, но не сразу и полностью полагаться на него нельзя.
13 1B - Время, на которое запланирована перезагрузка. В данном случае 19:27.
15 0B 07 DE - Дата перезагрузки. В примере 21.11.2014.
2 - Флаг, указывающий, выполнять (1) ли сохранение конфигурации перед перезагрузкой или нет (2). Можно изменить на "ДА" (1) один раз. Вернуть на "НЕТ" (2) уже не получится.
1 - Неизвестный параметр.

Запланировать перезагрузку через 60 минут:

snmpset -v2c -c private 10.90.90.90 1.3.6.1.4.1.171.12.1.2.32.1.2.1 i 60

Примечание: Максимальное значение 1 месяц, т.е. 24*60*30=43200 минут.

Сохранить конфигурацию перед перезагрузкой:

snmpset -v2c -c private 10.90.90.90 1.3.6.1.4.1.171.12.1.2.32.1.5.1 i 1


Обратите внимание, что когда мы планируем перезагрузку через некоторый интервал, этот интервал будет обновлен на первоначальное значение каждый раз, когда мы что-то правим в настройках. Например, в 10:00 мы запланировали перезагрузку через 60 минут, а спустя 20 минут спохватились и сказали коммутатору, что ему надо будет еще сохранить конфигурацию. В этом случае время снова сдвинется на 60 минут и перезагрузка будет запланирована уже на 11:20. Если же мы планируем перезагрузку на точное время, то оно в дальнейшем не меняется.

Запланировать перезагрузку на 05:55 22.11.2014 с сохранением конфигурации:

snmpset -v2c -c private 10.90.90.90 1.3.6.1.4.1.171.12.1.2.32.1.3.1 x 0537 1.3.6.1.4.1.171.12.1.2.32.1.4.1 x 160b07de 1.3.6.1.4.1.171.12.1.2.32.1.5.1 i 1


Проверяем наши ключи:
.1.3.6.1.4.1.171.12.1.2.32.1.2.1 = INTEGER: 669
.1.3.6.1.4.1.171.12.1.2.32.1.3.1 = Hex-STRING: 05 37
.1.3.6.1.4.1.171.12.1.2.32.1.4.1 = Hex-STRING: 16 0B 07 DE
.1.3.6.1.4.1.171.12.1.2.32.1.5.1 = INTEGER: 1
.1.3.6.1.4.1.171.12.1.2.32.1.10.1 = INTEGER: 1

Смотрим чт получилось на самом коммутаторе:
 Reboot Schedule Settings
 ---------------------------
 Reboot schedule at 22 Nov 2014 05:55:00 (in 669 minutes)
 Save before reboot: Yes


Как видно, все сходится.

4 комментария:

  1. Спасибо!
    "1 - Неизвестный параметр" возможно сохранить параметры расписания после перезагрузки. Так задав время перезапуска один раз можно заставить коммутатор самостоятельно перезапускать себя раз в месяц.

    ОтветитьУдалить
  2. D-Link выслал по запросу актуальные MIB. Судя по ним это статус записи. Например i 6 должен удалить запланированное задание.

    ОтветитьУдалить
  3. Как можно воспользоваться таким планированием по SNMP, если с начало нужно зайти через "Веб" или "консоль" для установления параметров, что бы SNMP заработал?

    ОтветитьУдалить
    Ответы
    1. Так сначала надо много чего сделать при первой настройке коммутатора. Как минимум - залить прошивку, которая позволяет управлять тем планированием перезапуска по SNMP. =) Все необходимое настраивается один раз, а уже затем коммутатор можно эксплуатировать, в т.ч. и по snmp.

      Удалить