Замена “головы” в сторадже: disk ownership change

Вы уже наверняка знаете, что, в принципе, замена контроллера на установленной системе хранения NetApp процедура довольно несложная. Так как все контроллеры, всех семейств, используют одну и ту же OS Data ONTAP, отличаясь только  внутренним аппаратным устройством, а индивидуальные настройки контроллера системы (файловая система /etc, если кто понимает UNIX-style) находится отдельно от контроллера, на дисках дисковых полок, то вообще говоря замена контроллера на новый, даже другой системы, сводится к простому перетыканию кабелей, после чего новый контроллер с OS внутри подмонтирует свои индивидуальные настройки и поднимется с сохранением настроек и данных на дисках. Но следует не забыть про software ownership. Дело в том, что в этой схеме, ныне общепринятой, диски “приписаны” к определенному контроллеру по его SystemID (а не по подключенным портам, как было когда-то, во времена FAS3020 и старше). Соответственно, чтобы старые диски увиделись новым контроллером нужно на них записи их владельца поменять на нового. делается это из Maintenance mode:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2012.10.08 09:26:06 =~=~=~=~=~=~=~=~=~=~=~=
login as: root
root@192.168.99.161’s password:
=== OEMCLP v1.0.0 BMC v1.3 ===
bmc shell -> system power cycle
This will cause a dirty shutdown of your appliance. Continue? [y/N] y
bmc shell ->
bmc shell -> system console
Press ^G to enter BMC command shell

AMI BIOS8 Modular BIOS
Copyright (C) 1985-2009,  American Megatrends, Inc. All Rights Reserved
Portions Copyright (C) 2009 NetApp, Inc. All Rights Reserved
BIOS Version 6.1
+++++++++++++++++++++++++++++++++++

Boot Loader version 2.1
Copyright (C) 2000-2003 Broadcom Corporation.
Portions Copyright (C) 2002-2008 NetApp

4096MB RAM installed
CPU Type: Intel(R) Xeon(R) CPU                  @ 1.66GHz

Starting AUTOBOOT press Ctrl-C to abort…
Loading X86/freebsd/image2/kernel:..0×200000/7916668 0×98cc7c/708860 0xa3a000/573440 Entry at 0×00248390
Loading X86/freebsd/image2/platform.ko:0xac6000/380544 0xb23000/28000 0xb29d60/109976
Starting program at 0×00248390
NetApp Data ONTAP 8.1.1 7-ModeCopyright (C) 1992-2012 NetApp.
All rights reserved.
md1.uzip: 26368 x 16384 blocksmd2.uzip: 3584 x 16384 blocks

*******************************
*                             *
* Press Ctrl-C for Boot Menu. *
*                             *
*******************************
^C

Boot Menu will be available.

Please choose one of the following:

(1) Normal Boot.
(2) Boot without /etc/rc.
(3) Change password.
(4) Clean configuration and initialize all disks.
(5) Maintenance mode boot.
(6) Update flash from backup config.
(7) Install new software first.
(8) Reboot node.
Selection (1-8)? 5

You have selected the maintenance boot option:
the system has booted in maintenance mode allowing the
following operations to be performed:

?                 disk             
key_manager       fcadmin          
fcstat            sasadmin         
sasstat           acpadmin         
halt              help             
ifconfig          raid_config      
storage           sesdiag          
sysconfig         vmservices       
version           vol              
aggr              sldiag           
dumpblock         environment      
systemshell       vol_db           
led_on            led_off          
sata              acorn            
stsb              scsi             
nv8               disk_list        
fctest            disktest         
diskcopy          vsa              
xortest           disk_mung        

Type "help <command>" for more details.

In a High Availablity configuration, you MUST ensure that the
partner node is (and remains) down, or that takeover is manually
disabled on the partner node, because High Availability
software is not started or fully enabled in Maintenance mode.

FAILURE TO DO SO CAN RESULT IN YOUR FILESYSTEMS BEING DESTROYED

NOTE: It is okay to use ’show/status’ sub-commands such as
‘disk show or aggr status’ in Maintenance mode while the partner is up
Continue with boot?Please answer yes or no.
Continue with boot? yes

*> disk ?
usage: disk <options>

Options are: 
        assign {<disk_name> | all | [-T <storage type> | -shelf <shelf name>] [-n <count>] | auto} [-p <pool>] [-o <ownername>] [-s <sysid>] [-c block|zoned] [-f] - assign a disk to a filer or all unowned disks by specifying "all"  or <count> number of unowned disks
        ddr_label {repair | print | delete | dumpraw | modify [-c] -o <offset> -v <value> | start_scan | pause_scan | resume_scan | error_scan} [-d all | <disk_list>]
        encrypt { lock | rekey | destroy | sanitize | show } - perform tasks specific to self-encrypting disks
        power_cycle [ -f ] { [-d <disk_list>] | [ -c <channel_name> [ -s <shelf_number> ] ] } - power-cycle one or more disks
        reassign {-o <old_name> | -s <old_sysid>} [-n <new_name>] [-d <new_sysid>] - reassign disks from old filer
        remove_ownership [<disk_name> | all | -s <sysid>] [-f] - revert/remove disk ownership
        sanown_stats {start| stop| show }- collect sanown event stats
        show [-o <ownername> | -s <sysid> | -n | -v | -a]  - lists disks and owners
        unfail [-s] <disk_name>     - unfail a disk  (-s  not valid in maintenance mode)
        upgrade_ownership           - upgrade disks to new ownership scheme

*>

*> disk reassign -s xxxxxxxxxxx -d yyyyyyyyyyy

Partner node must not be in Takeover mode during disk reassignment
from maintenance mode.
Serious problems could result!!
Are you sure partner is NOT in takeover mode (y/n)? n

*> halt

Oct 08 01:34:22 [localhost:kern.cli.cmd:debug]: Command line input: the command is ‘halt’. The full command line is ‘halt’.

Uptime: 6m54sSystem halting…

Выше я прервал переназначение disk ownership, сама же эта процедура делается довольно быстро, и если нигде не ошибиться, и все иметь подготовленным и смонтированным, то можно уложить процедуру замены контроллера системы хранения в 15-20 минут.

Впрочем, если вы используете NetApp как SAN-устройство, и храните на нем LUN-ы, есть еще одна тонкость, связанная со сменой serial id этих LUN при замене NVRAM (отдельно, или в составе контроллера целиком), о которой поговорим в четверг.

Комментарии (11)

  1. Андрей:

    Что-то я не понял. Везде говорится, что партнер не должен быть в takeover’е. То есть нельзя сделать takeover, заменить одну голову, потом перенести takeover и заменить другую.
    А как же тогда с обслуживанием трафика? Разве в maintanence mode трафик будет обслуживаться?

  2. Андрей:
    Нет, конечно, замена контроллеров в 7-mode это disruptive операция, необходимо остановить доступ к данным, однако сами данные останутся на дисках и будут сразу же доступны после запуска новой пары контроллеров, без миграции и бэкапов-ресторов.

  3. sl0n:

    Я недавно менял SAS HBA в FAS3140 (две контроллера в одном шасси), режим работы “Mixed-Path HA”, я сделал cf takeover, полностью извлек один из контроллеров из шасси и заменил HBA. У меня не было перерыва в обслуживании .. ЧЯДНТ ? =)

  4. sl0n:

    Мы все гордимся вами, и чо? ;)
    Но вообще-то мы тут про апгрейд контроллера.

  5. sl0n:

    Спасибо за доверие =)

    Можно ссылку на описываемую ситуация - апгрейт контроллера?

  6. sl0n:

    Не понял вопроса. Переформулируйте, если ответ важен.

  7. sl0n:

    romx: есть ли официальная документация для замены контроллера? Я не совсем понимаю причину почему невозможно это сделать non-disruptivly?

  8. sl0n:

    Ну есть, конечно, например у NetApp есть обширная библиотека для field engineers, как раз для таких операций. Поискать там что ли? Вам именно пошаговая инструкция нужна?

    > Я не совсем понимаю причину почему невозможно это сделать non-disruptivly?

    Ну вот меняю я, допустим, FAS2020 на FAS6280 :) ??ли даже FAS3140 на FAS3240. У них, например, даже общего интерконнекта нет, по чему будем тэйковер делать?

  9. sl0n:

    romx:

    >Ну есть, конечно, например у NetApp есть обширная библиотека для field engineers, как раз для таких операций. Поискать там что ли? Вам именно пошаговая инструкция нужна?

    Если не трудно, поищите плз. Достаточно общих описаний я думаю.

    > Ну вот меняю я, допустим, FAS2020 на FAS6280 :) ??ли даже FAS3140 на FAS3240. У них, например, даже общего интерконнекта нет, по чему будем тэйковер делать?

    Понял теперь, я как-то чрезмерно сфокусировался на FAS3140 =)

  10. sl0n:

    PS Роман, вы как-то обещали настроить подписку на комменты .. было бы крута =)

  11. sl0n:

    1. Да как-то лень шевелить то, что и так работает. :)
    2. Переезжайте на communities.netapp.com/groups/netapp-ru, там куда удобнее дискутировать, чем тут.

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