Been meaning to
post this for months and months just never got around to it!
This is just a simple but detailed script I concocted for
performing 7-Mode Head Swaps - it’s stripped down to bare bones note form, and
designed for Notepad/Notepad++/Simple Text Editors. As always with anything on
this blog, it’s absolutely not official documentation so caveat lector!
#####
COMPANYX
#####
FASXXXXA to FASYYYYA
#####
For CTRA / CTRB
#####
7-MODE Head Swap Script
#
Variables:
#
COMPANYX = Company Name
#
CTRA / CTRB = Controller A/B
#
FASXXXX = Old FAS System
#
SYSID_OLDA / SYSID_OLDB = Old FAS Sysid's
#
FASYYYY = New FAS System
#
SYSID_NEWA / SYSID_NEWB = New FAS Sysid's
#####################################
#####
PREPARATION AND PRECHECKS #####
#####################################
#
NOTE 1: This script assumes both old and new controllers are on the same
version of Data ONTAP
#
NOTE 2: Pre-planning for how old ports map to new ports should have been
completed!
#
NOTE 3: Any new licensing requirements have already been prepared!
###############################
#
FASXXXX - CTRA - SYSID_OLDA #
###############################
rdfile
/etc/rc
ifconfig
-a
rdfile
/etc/hosts
rdfile
/etc/exports
exportfs
storage
show disk -p
aggr
status
vol
status
disk
show -n # OBTAIN/CONFIRM SYSID
disk
show -v
disk
show -a # SHOULD SEE BOTH CONTROLLERS
sysconfig
-a
fcadmin
config
rlm
status # WORKS FOR OLDER RLMs
sp
status # WORKS FOR NEWER SPs
vfiler
status -a
#
SAN Checks #
lun
show
lun
show -v
lun
show -m
igroup
show
#
In the event lun serials change then the following command will be required to
reset the lun serials:
#
lun serial [-x]lun_path new_lun_serial)
options
autosupport
vol
status # LOOK FOR root - vol0?
aggr
status # LOOK FOR root - aggr0?
df
-A -g aggr0 # CHECK FREE SPACE
vol
size vol0
vol
size vol0 250g # TYPICAL VOL0 SIZE in 8.2.1
priv
set advanced
ls
/etc/software # VERIFY THE CORRECT IMAGE IS THERE (e.g. .tgz for upgrade from
8.X, or .zip from 7.X)
###############################
#
FASXXXX - CTRB - SYSID_OLDB #
###############################
rdfile
/etc/rc
ifconfig
-a
rdfile
/etc/hosts
rdfile
/etc/exports
exportfs
storage
show disk -p
aggr
status
vol
status
disk
show -n # OBTAIN/CONFIRM SYSID
disk
show -v
disk
show -a # SHOULD SEE BOTH CONTROLLERS
sysconfig
-a
fcadmin
config
rlm
status # WORKS FOR OLDER RLMs
sp
status # WORKS FOR NEWER SPs
vfiler
status -a
#
SAN Checks #
lun
show
lun
show -v
lun
show -m
igroup
show
#
In the event lun serials change then the following command will be required to
reset the lun serials:
#
lun serial [-x]lun_path new_lun_serial)
options
autosupport
vol
status # LOOK FOR root - vol0?
aggr
status # LOOK FOR root - aggr0?
df
-A -g aggr0 # CHECK FREE SPACE
vol
size vol0
vol
size vol0 250g # TYPICAL VOL0 SIZE in 8.2.1
priv
set advanced
ls
/etc/software # VERIFY THE CORRECT IMAGE IS THERE (e.g. .tgz for upgrade from
8.X, or .zip from 7.X)
####################################################
#####
IDENTIFY AND RECORD ALL EXISTING CABLING #####
####################################################
##
RUN CONFIG ADVISOR ##
##############################
#####
UPGRADE: Head Swap #####
##############################
###############################
#
FASXXXX - CTRA - SYSID_OLDA #
###############################
aggr
scrub status
aggr
scrub stop # IF SCRUBS IN PROGRESS
ndmpd
status
ndmpd
off # IF ON
snapmirror
status
snapmirror
off # IF ON
cifs
terminate
fcp
stop
iscsi
stop
nfs
off
snap
create vol0 pre_headswap
config
dump pre_headswap
options
autosupport.doit "pre_headswap"
###############################
#
FASXXXX - CTRB - SYSID_OLDB #
###############################
aggr
scrub status
aggr
scrub stop # IF SCRUBS IN PROGRESS
ndmpd
status
ndmpd
off # IF ON
snapmirror
status
snapmirror
off # IF ON
cifs
terminate
fcp
stop
iscsi
stop
nfs
off
snap
create vol0 pre_headswap
config
dump pre_headswap
options
autosupport.doit "pre_headswap"
###############################
#
FASXXXX - CTRA - SYSID_OLDA #
###############################
cf
disable
cf
status
halt
###############################
#
FASXXXX - CTRB - SYSID_OLDB #
###############################
cf
status
halt
####################################
#####
PHYSICAL REMOVAL/INSTALL #####
####################################
#
Power off both old FASXXXX controllers and remove chassis from racks
#
Physically install new FASYYYY controllers
#
Reconnect all disk/back-end cabling as PER REQUIREMENTS
#
NOTE: Front End cabling is reconnected later!
####################
#####
POWER UP #####
####################
#
Power on both FASYYYY controllers
#
(can do one after the other, the main thing is that we boot both into
maintenance mode)
#
IMPORTANT: PRESS CTRL-C AND 5 FOR MAINTENCE MODE BOOT ON BOTH!
####################################################
#
FASYYYY - CTRA - SYSID_NEWA # !MAINTENANCE MODE! #
####################################################
disk
show -n # NEW SYSID = SYSID_NEWA
disk
show -v
##
disk reassign -s -d
disk
reassign -s SYSID_OLDA -d SYSID_NEWA
mailbox
destroy local
mailbox
destroy partner
aggr
status
fcadmin
config # Check FC ports initiators/targets as required
##
fcadmin config -d Xx
##
fcadmin config -t initiator Xx
##
NOTE: ucadmin command for UTAs
halt
####################################################
#
FASYYYY - CTRB - SYSID_NEWB # !MAINTENANCE MODE! #
####################################################
disk
show -n # NEW SYSID = SYSID_NEWB
disk
show -v
##
disk reassign -s -d
disk
reassign -s SYSID_OLDB -d SYSID_NEWB
mailbox
destroy local
mailbox
destroy partner
aggr
status
fcadmin
config # Check FC ports initiators/targets as required
##
fcadmin config -d Xx
##
fcadmin config -t initiator Xx
##
NOTE: ucadmin command for UTAs
halt
###############################
#
FASYYYY - CTRA - SYSID_NEWA #
###############################
boot_ontap
aggr
status
vol
status
###
NOTE: Check APPENDIX A if getting too much output to the console! ###
rdfile
/etc/rc # CHANGE AS PER REQUIREMENTS
(e.g. wrfile /etc/rc)
rdfile
/etc/hosts # CHANGE AS PER REQUIREMENTS (e.g. wrfile /etc/hosts)
###
>> PASTE OUTPUT OF rdfile /etc/rc << ###
###
>> PASTE OUTPUT OF rdfile /etc/hosts << ###
license
###
>> PASTE OUTPUT OF license << ###
###
May need to add updates licenses with >
##
license add LICENSECODE # Can skip if licenses are okay
##
license delete INVALID_LICENSES
###
software update # IF REQUIRED>
sp
setup
##
IP Address = ???
##
Netmask = ???
##
Gateway = ???
halt
###############################
#
FASYYYY - CTRB - SYSID_NEWB #
###############################
boot_ontap
aggr
status
vol
status
###
NOTE: Check APPENDIX A if getting too much output to the console! ###
rdfile
/etc/rc # CHANGE AS PER REQUIREMENTS
(e.g. wrfile /etc/rc)
rdfile
/etc/hosts # CHANGE AS PER REQUIREMENTS (e.g. wrfile /etc/hosts)
###
>> PASTE OUTPUT OF rdfile /etc/rc << ###
###
>> PASTE OUTPUT OF rdfile /etc/hosts << ###
license
###
>> PASTE OUTPUT OF license << ###
###
May need to add updates licenses with >
##
license add LICENSECODE # Can skip if licenses are okay
##
license delete INVALID_LICENSES
###
software update # IF REQUIRED>
sp
setup
##
IP Address = ???
##
Netmask = ???
##
Gateway = ???
halt
##########################################################
#####
CONNECT FRONT END CONNECTIONS PER REQUIREMENTS #####
##########################################################
###############################
#
FASYYYY - CTRA - SYSID_NEWA #
###############################
boot_ontap
version
ifconfig
-a
cf
status
###############################
#
FASYYYY - CTRB - SYSID_NEWB #
###############################
boot_ontap
version
ifconfig
-a
cf
enable
cf
status
###################
#####
TESTING #####
###################
###
HAS LUNS ###
lun
show -v # ON A CHECK SERIALS
lun
show -v # ON B CHECK SERIALS
###
VFILERS IN USE ###
options
licensed_feature.multistore.enable # ON A
vfiler
status -a # ON A
options
licensed_feature.multistore.enable # ON B
vfiler
status -a # ON B
###
NOTE: Check APPENDIX B if have issues with vfilers post head-swap and need to
re-run vfiler setup ###
cf
takeover # ON A
cf
giveback # ON A
cf
takeover # ON B
cf
giveback # ON B
options
autosupport # ON A check settings
options
autosupport # ON B check settings
options
autosupport.doit "post headswap" # ON A
options
autosupport.doit "post headswap" # ON B
config
diff pre_headswap # ON A
config
diff pre_headswap # ON B
options
autosupport.doit WEEKLY_LOG # ON A
options
autosupport.doit WEEKLY_LOG # ON B
ndmp
on # ON A (if was on before)
ndmp
on # ON B (if was on before)
snapmirror
on # ON A if was on before (NOTE: Check requirements for SnapMirror source and
destination versions!)
snapmirror
on # ON B if was on before (NOTE: Check requirements for SnapMirror source and
destination versions!)
##
RUN CONFIG ADVISOR ##
#
And verify everything is okay!
#######################
#####
THE END !!! #####
#######################
####################################################
#####
APPENDIX A: (Optional) QUIETENING SYSLOG #####
####################################################
rdfile
/etc/syslog.conf
wrfile
/etc/syslog.conf
###########CONSOLE-NONE#################
#*.info /dev/console
*.info /etc/messages
###########PREFERRED####################
#
Set the alert level for the console
*.err /dev/console
#
Set the alert level for the local messages file
*.info /etc/messages
#
Set the alert level for the @SYSLOG_SERVER_IP
*.info @X.X.X.X
###########################################################
#####
APPENDIX B: (If Issues) RE-RUNNING VFILER SETUP #####
###########################################################
#
rdfile /vfiler_path/etc/exports
#
rdfile /vfiler_path/etc/hosts
#
rdfile /vfiler_path/etc/hosts.equiv
#
rdfile /vfiler_path/etc/nsswitch.conf
#
rdfile /vfiler_path/etc/resolv.conf
#
vfiler create VFILER -r /vol/vol0/VFILER
#
vfiler run VFILER setup
Comments
Post a Comment