NetApp #1 — Запуск СХД с нуля
Приехала к нам FAS2750, первый мой NetApp. Конечно, не вышло запустить без приколов 🙂

Предварительные данные для последющего понимания происходящего:
1. СХД одна — FAS2750, без дополнительных полок.
2. Прошивка 9.6P3
3. Вариант подключения — switchless cluster (зеленые стрелочки).


4. Для запуска в таком виде нам на 5 IP адресов, я выбрал такие:
10.9.253.30 Cluster Management
10.9.253.31 NetApp Node 1
10.9.253.32 NetApp Node 2
10.9.253.33 NetApp SP1
10.9.253.34 NetApp SP2
Node — По факту, контроллер.
SP — Service Processor, менеджмент для Node.
5. Цепляемся кабелем micro USB в одну из Node (я выбрал Node 1), переходим в вашу любимую консольную программу для общения по COM порту (я выбрал XShell 6), и коннектимся к Node.

6. После загрузки ОС нам предложат создать кластер (cluster create), забиваем наши сетевые настройки. В первый раз я ошибся, и выбрал single mode cluster (т.к. считал, что раз у нас железка одна, то она считается за ноду, а не каждый контроллер — это одна нода).




7. Выбираем порт, который будет назначен поротом для Cluster Management, и не забываем, что это linux, и e0m ≠ e0M. Отвечаем на вопрос Where is the controller located (опять же, исходя из нашей схемы ip адресации). Готово, можно лезть на веб-морду и продолжать уже там.

8. Если все удачно, то переходим в Configuration — Service Processor, проверяем что данные верны.

9. Переходим в Cluster Expansion и расширяем его.


10. После удачного расширения, решили обновится до 9.7 GA с локального файла (add from local client) и получили ошибку. В итоге решили добавить с ftp сервера (add from server) и файлик закачался для обновления.



11. Глянул, что обновление пошло, и будет идти еще часа полтора, со спокойной душой уехал из ЦОДа… Утром открываю консольку в ожидании новой версии и что я вижу?


12. Оуукей, погнали проверять 4 из 5 айпишников доступны, отвалилась Node 2. Что у нас в консоли?


ХХХ::> cluster show
Node Health Eligibility
ХХХ-01 true true
ХХХ-02 false true
2 entries were displayed.
XXX::> storage failover show
Node Partner Possible State Description
XXX-01 XXX-02 false In takeover
XXX-02 XXX-01 — Unknown
2 entries were displayed.
XXX::> system log
13. То есть, стоп, нода таки обновилась?
The board status System_FW_Status | 0x0 | discrete | 0x2f | na | na | na | na means that ONTAP is loaded.
14. XXX::> events all
Record 518: Tue Mar 10 13:02:14.520000 2020 [IPMI.notice]: 008a | 02 | EVT: 6fc220ff | System_FW_Status | Assertion Event, «Bootloader is running»
Record 519: Tue Mar 10 13:02:20.540000 2020 [IPMI.notice]: 008b | 02 | EVT: 6fc22fff | System_FW_Status | Assertion Event, «Storage OS Running»
Record 520: Tue Mar 10 13:11:36.100000 2020 [BMC.critical]: Heartbeat stopped
15. XXX::> bmc status -d
среди строчек находим версию BMC
Record 346: Sun Jan 01 00:00:45.580000 2017 [BMC.notice]: Running primary version 11.3P2
16. Понятно, старая версия BMC…
Heartbeat stopped обычно означает, что ONTAP потерял связь с BMC/SP. Из логов мы можем понять, что прошивка BMC: 11.3P2. Проверяем матрицу совместимости — 11.3 is not compatible with 9.7, обычно, при апгрейде системы, оно должно само обновить прошивку BMC, но, что-то пошло не так.
17. Use the below KB to upgrade the BMC to a compatible firmware package.

18. Смотрим, как надо апгрейдить прошивку BMC.
19. Обновляемся. Для обновления нужен файлик прошивки и работающий web-сервер.
XXX::> bmc update http://xxx.local/308-03915_A0_11.4_BMC_FW.tar.gz
Downloading package…
Uncompressing package…(md5sum=70755dcb43f3b2e4ecd1216c1b332380)
Unarchiving package…
Confirming file sizes aren’t suddenly larger…
Inspecting firmware…
Installing package…
Reprocessing configuration state…
Cleaning up…
BMC FW Update Successful.
Primary firmware version 11.4
Backup firmware version 11.3P2
You need to reboot the BMC for the new image to take effect.
Do you want to reboot the BMC now? (y/n): y
Rebooting BMC…Stopping IPMI Stack: IPMIMainkillall: can’t kill pid 1121: Operation not permitted
Reboot bmc was succesfull.
XXX::> bmc status
Firmware Version: 11.4
XXX::> system power cycle
This command will trigger a destage of ONTAP and will take some time to complete after which the system will restart. Use «system reset» or «system reset current» to avoid the delay. Continue? [y/n] y
21. Ничего не помогало. Пришлось физически выключть node 2, вытащить питание, вытащить контроллер, подождать 2 минуты, включить обратно. Появились пинги до node 2! Но пока не пускало. Лезем в консоль опять.
Нода XXX-02 ждет giveback:
Thu Mar 12 14:04:11 2020 [nv2flash.copy2NVMEM.succeed:INFO]:Copying nonvolatile data from the flash device to NVMEM succeeded in 19 seconds.
Attempting to use existing varfs on /dev/nvrd1
Running the upgrade system
bootarg.upgrade=»true»
bootarg.from.version=»9.6P3″
bootarg.to.version=»9.7″
***OS2SP configured successfully***Mar 12 14:05:49 [XXX9-02:cf.ic.sbb:notice]: HA interconnect: SBB Compatibility Event. Compatible partner node found. The interconnect device has been enabled.
Mar 12 14:05:58 [XXX-02:fal_nvme.partition.status:notice]: Partition 0-1 with capacity 894 GiB status: online.
Mar 12 14:06:02 [XXX-02:kern.version.change:notice]: Data ONTAP kernel version was changed from 9.6P3 to 9.7.
Mar 12 14:06:05 [XXX-02:cf.fmns.skipped.disk:notice]: While releasing the reservations in «Waiting For Giveback» state Failover Monitor Node State(fmns) module skipped the disk 0b.00.0 that is owned by 538140609 and reserved by 538140619.
Mar 12 14:06:09 [XXX-02:cf.fm.kernelMismatch:error]: Failover monitor: possible kernel mismatch detected local ‘NetApp//9.7’, partner ‘NetApp//9.6P3’
Mar 12 14:06:09 [XXX-02:cf.fm.versionMismatch:ALERT]: Failover monitor: nvram toc version mismatch detected: 46/45
Mar 12 14:06:09 [XXX-02:cf.fm.versionMismatch:ALERT]: Failover monitor: wafl fsinfo version mismatch detected: 35092/33806
Mar 12 14:06:09 [XXX-02:cf.fm.versionMismatch:ALERT]: Failover monitor: nvram nvlog version mismatch detected: 109642377/109314664
Mar 12 14:06:09 [XXX-02:cf.fm.versionMismatch:ALERT]: Failover monitor: raid nvram version mismatch detected: 56/55
Waiting for giveback…(Press Ctrl-C to abort wait)
22. Но он почему-то не происходит… Идем проверять. Оказался выключен automatic giveback.
cf.giveback.auto.after.panic.takeover off
cf.giveback.auto.delay.seconds 600
cf.giveback.auto.enable off
23. Включаем обратно (Action — Enable automatic giveback).

23. Ждем пару минут, пока оно обновит статус.

XXX::> storage failover show

24. Статус обновился! Да, оно репортит, что версии различаются на нодах, что логично, т.к. обновление до конца не прошло. Возвращаемся в раздел Update и жмем Resume.
Warning: The cluster is in a mixed version state. Update all of the nodes to the same version as soon as possible.
25. Повторяем обновление BMC для Node 1.
26. Проверяем. Все отлично!

Выводы!
- Обновляться поверсионно, без перепрыгов между версиями.
- Проверять матрицу совместимости.
- Настроить AutoSupport и Active IQ.