Table of Contents

Замена коммутатора Mellanox работающего в MLAG кластере

На коммутаторе Mellanox SN2100 один блок питания выпал в состояние FAIL.

m9-mlnx72 [MLNX-DOM34: master] # sh power 
-----------------------------------------------------------------------------------------
Module  Device            Sensor  Power   Voltage  Current  Capacity  Feed  Status       
                                  [Watts] [Volts]  [Amp]    [Watts]                      
-----------------------------------------------------------------------------------------
MGMT    PS1               -       -       -        -        -         -     FAIL         
MGMT    PS2               PS2 12V 71.26   12.04    5.92     460.00    AC    OK           

Total power used : 71.26 Watts
Total power capacity : 460.00 Watts
Total power available : 388.74 Watts
Maximum consumed power of all turned on modules: 300.00 Watts

Написали в поддержку, открыли RMA кейс и через 3-4 дня нам прислали новый коммутатор на замену.
Новый коммутатор пришел с версией MLNX-0S 3.6.4114.

Дальше надо было сделать:


Даунгрейд MLNX-0S

Образ с которыми пришел новый коммутатор, будем понижать версию до 3.6.4112.

SPARE-MLNX [standalone: master] (config) # sh images 
Installed images:

  Partition 1:
  X86_64 3.6.4114 2017-08-20 19:42:07 x86_64

  Partition 2:
  X86_64 3.6.4114 2017-08-20 19:42:07 x86_64

Last boot partition: 1
Next boot partition: 1

No image files are available to be installed.

Процедура коротко.

# image fetch scp://xxx@y.y.y.y/soft/image-X86_64-3.6.4112.img
# image install image-X86_64-3.6.4112.img location
# image boot next 
# wr mem
# reload
# image install image-X86_64-3.6.4112.img location 1
# image delete image-X86_64-3.6.4112.img 

Процедура подробнее.

1. Закачиваем на коммутатор образ 3.6.4112.

SPARE-MLNX [standalone: master] # image fetch scp://xxx@y.y.y.y/soft/image-X86_64-3.6.4112.img
Password (if required): *********
 100.0%  [#################################################################]  

SPARE-MLNX [standalone: master] # sh images 
Installed images:

  Partition 1:
  X86_64 3.6.4114 2017-08-20 19:42:07 x86_64

  Partition 2:
  X86_64 3.6.4114 2017-08-20 19:42:07 x86_64

Last boot partition: 1
Next boot partition: 1

Images available to be installed:

  image-X86_64-3.6.4112.img
  X86_64 3.6.4112 2017-08-18 05:25:07 x86_64

2. Разворачиваем образ MLNX-OS.

Если после location ничего не указать, то образ будет разворачиваться на партицию с которой не будут грузится при следующем ребуте.
В данном случае образ разворачиваться будет на partition 2 т.к. “Next boot partition: 1”.

SPARE-MLNX [standalone: master] (config) # image install image-X86_64-3.6.4112.img location
Step 1 of 4: Verify Image
 100.0%  [#################################################################]  
Step 2 of 4: Uncompress Image
 100.0%  [#################################################################]  
Step 3 of 4: Create Filesystems
 100.0%  [#################################################################]  
Step 4 of 4: Extract Image
 100.0%  [#################################################################]  

3.Указываем с какой партиции грузиться в следующий раз и перегружаем коммутатор.

SPARE-MLNX [standalone: master] (config) # image boot ?
location                       Specify location from which to boot system
next                           Boot system from next location after one
                               currently booted
SPARE-MLNX [standalone: master] (config) # image boot next ?
<cr>                           
SPARE-MLNX [standalone: master] (config) # image boot next 

SPARE-MLNX [standalone: master] (config) # show images 
Installed images:

  Partition 1:
  X86_64 3.6.4114 2017-08-20 19:42:07 x86_64

  Partition 2:
  X86_64 3.6.4112 2017-08-18 05:25:07 x86_64

Last boot partition: 1
Next boot partition: 2

Images available to be installed:

  image-X86_64-3.6.4112.img
  X86_64 3.6.4112 2017-08-18 05:25:07 x86_64

SPARE-MLNX [standalone: master] # wr mem
SPARE-MLNX [standalone: master] # reload 

После после ребута коммутатор загрузится с партиции 2.

SPARE-MLNX [standalone: master] # sh images 
Installed images:

  Partition 1:
  X86_64 3.6.4114 2017-08-20 19:42:07 x86_64

  Partition 2:
  X86_64 3.6.4112 2017-08-18 05:25:07 x86_64

Last boot partition: 2
Next boot partition: 2

Images available to be installed:

  image-X86_64-3.6.4112.img
  X86_64 3.6.4112 2017-08-18 05:25:07 x86_64

4. Разворачиваем образ MLNX-OS на первую партицию.

SPARE-MLNX [standalone: master] (config) # image install image-X86_64-3.6.4112.img location 1
Step 1 of 4: Verify Image
 100.0%  [#################################################################]  
Step 2 of 4: Uncompress Image
 100.0%  [#################################################################]  
Step 3 of 4: Create Filesystems
 100.0%  [#################################################################]  
Step 4 of 4: Extract Image
 100.0%  [#################################################################]  

5. Удаляем образ установочный образ MLNX-OS.

SPARE2-MLNX [standalone: master] (config) # image delete image-X86_64-3.6.4112.img 

Снять конфигурацию

Конфигурацию коммутатора будем снимать в текстовом виде и сразу класть на удаленных сервер.
Команду даем из режима конфигурации.

# configuration text generate active saved upload scp://xxx@y.y.y.y/home/xxx/mlnx02-text-conf
Password (if required): *********

Конфиг прямо текстовый файл, при необходимости можно взять из rancid.


Накатить на конфигурацию

Процедура коротко.

# configuration text fetch scp://xxx@y.y.y.y/home/xxx/mlnx02-text-conf
# configuration text file mlnx02-text-conf apply verbose

Процедура подробнее. 1. Скачиваем конфигурацию.

SPARE2-MLNX [standalone: master] (config) # configuration text fetch scp://xxx@y.y.y.y/home/xxx/mlnx02-text-conf
Password (if required): *********
SPARE2-MLNX [standalone: master] (config) # sh configuration text files 
test-text-conf1
mlnx02-text-conf

2. Применяем конфигурацию.

Конфигурация на 500 строк применялась около 12 минут.

SPARE2-MLNX [standalone: master] (config) # configuration text file mlnx02-text-conf apply verbose 


All commands succeeded.

Transcript of all commands executed:

------------ Begin transcript ------------
    mlnx-02 (config) # ##
    mlnx-02 (config) # ## Active saved database "initial"
    mlnx-02 (config) # ## Generated at 2018/10/19 12:28:53 +0300
    mlnx-02 (config) # ## Hostname: mlnx-02
    mlnx-02 (config) # ##
    mlnx-02 (config) # ##
    mlnx-02 (config) # ## Running-config temporary prefix mode setting
    mlnx-02 (config) # ##
    mlnx-02 (config) # no cli default prefix-modes enable
...
------------ End transcript ------------

Конфигурация не полностью переписывается, а мерджится.
Старые команды из конфига не уходят, а существующие переписываются.

##
## Other IP configuration
##
   ip route vrf default 0.0.0.0/0 10.73.17.1
   ip route vrf default 10.143.0.0/22 10.73.17.1
   ip route vrf default 10.153.0.0/22 10.73.17.1
   hostname mlnx-02

Дефолт роут взялся из переносимого конфина.
Узкие роуты /22 были на новом коммутаторе, роуты никуда не ушли.
Хостнейм переписался.

Дальше просто - новый коммутатор ставим на место старого и подключаем его IPL портами.


Полезные ссылки