Simulating a Headswap on the NetApp Simulator (8.1.3 7-Mode)

Firstly, if you’re planning for doing a real-life head swap, these documents from support.netapp.com and kb.netapp.com are worth reading:

Q: As a training exercise, is it possible to simulate a headswap on the Data ONTAP 8.1.2/3 7-Mode Simulator?
A: My conclusion is NO!

The reason? I was unable to change the sys-id even after editing CFCARD and setting boot loader options.
Note: If you change the sys-id via the boot loader on the first ever boot of the simulator, it works, but if you’ve already setup your sim, then the sys-id cannot be changed (unless there’s another way …)

But … I present my research for if it helps - perhaps someone reading knows how to do it J

My original answer before reaching the conclusion above:

A: HA is out of the question with the SIM, but simulating a single-controller head swap might be possible - that is - we can simulate a situation where we change the serial number, system ID (this is where I failed), and even motherboard serial number.

And here’s how I tried to do it!

Note: Here, the SIM we’re using is called n701 and running 8.1.3 7-mode.

n701> sysconfig
        NetApp Release 8.1.3 7-Mode: Sat Jun  8 08:11:51 PDT 2013
        System ID: 4061490662 (n701)
        System Serial Number: 4061490-66-2 (n701)
n701> aggr status
           Aggr State
          aggr1 online
          aggr0 online
n701> vol status
         Volume State
           vol0 online
          vol01 online
          vol02 online
          vol03 online

Performing a “Headswap” on the Simulator

Step 1) Removing Reservations

Logged in to the CLI as root (or equivalent), remove disk reservations via the systemshell and then halt the SIM:

priv set advanced
useradmin diaguser unlock
useradmin diaguser password
systemshell
Login with user = diag and the password set above
setenv PATH "${PATH}:/usr/sbin"
echo $PATH
cd /sim/dev/,disks
ls
sudo rm ,reservations
exit
halt

Note: If you don’t do this, then after you’ve changed serial and system ID, on trying to boot into maintenance mode (5) you’ll get:
PANIC: Can’t find device with WWN 0x1649826048. Remove ‘/sim/dev/,disks/,reservations’ and restart …

Step 2) Editing the CFCARD

Note: In my ignorance, I thought this might get around the “System Id Mismatch” error, it doesn’t!

With the SIM powered off, we first edit the CFCARD with our new serial number, system ID, and motherboard serial number (the mobo serial number isn’t really required to be changed, just doing it because we can). In the working directory of the simulator, navigate to:

cfcard > env

And edit the env file with notepad (notepad++ even better)

Image: The env file in VM > cfcard > env
 
The default 7-mode SIM has these entries in the env file:

setenv SYS_SERIAL_NUM 4061490-66-2
setenv bootarg.nvram.sysid 4061490662
setenv MOBO_SERIAL_NUM 999999

We’ll change them to say:

setenv SYS_SERIAL_NUM 1234567-89-0
setenv bootarg.nvram.sysid 1234567890
setenv MOBO_SERIAL_NUM 123456

Save the edited env file and close.

Note: It was hoped that this might get around the following error after we set the system-id via the boot loader:
WARNING: System id mismatch. This usually occurs when replacing CF or NVRAM cards!
Unfortunately it didn’t work.

Step 3) Changing environment variables via the boot loader

Boot the SIM and at the:

Hit [Enter] to boot immediately, or any other key for command prompt.

Press any key other then Enter!

At the boot loader (VLOADER>) prompt, run these commands:

printenv
setenv MOBO_SERIAL_NUM 123456
setenv SYS_SERIAL_NUM 1234567-89-0
setenv bootarg.nvram.sysid 1234567890
printenv
boot

Step 4) Booting into Maintenance Mode

At the:

* Press Ctrl-C for Boot Menu *

Press Ctrl-C for Boot Menu

When you encounter the below error:

WARNING: System id mismatch. This usually occurs when replacing CF or NVRAM cards!
Override system id?

And this is where I’ve hit a brick wall. It’s picking up the system id from where I don’t know. Reading from an old communities.netapp.com article there was mention of a ,sys-serial-num file (https://communities.netapp.com/message/37126), trying to find it with the command below came up unsuccessful:

n701% find . -name "sys*"

If you choose: y
It overrides your newly chosen system-id, so the system still has its old system-id. You cannot re-assign disks to your “new” controller system-id as you would in a head swap procedure.

If you choose: n
It halts with - ERROR: Please correct the problem and restart.

Comments