ONTAP Discussions

Revert Via Install New Software First Option

TMADOCTHOMAS
6,734 Views

Background:

In a couple of months we will replace a FAS2620 with a 2720 by temporarily clustering them and migrating data. Due to compatibility issues we have to remain on 9.11.1, but the 2720 will likely come with 9.12.1 preinstalled. I'm plotting out the revert process now, testing on an old AFF8080 with 9.8. I've blown it away and am testing a revert to 9.7. 

 

Issue:

It seems that using the (7) Install new software first option on the new cluster is the cleanest way to do this, but I can't get it to work. I've reviewed numerous KB articles and tried various versions of the procedure. I configure an IP on e0M, disable DHCP, and issue the netboot http://<url>/97P21_q_image.tgz command. I get the following:

 

--------------------------------------------------

*** command status = Not an ELF-format executable(-11)

--------------------------------------------------

 

I've used our http server multiple times including just a week ago to push out upgrades, including on this test server, so I know it works. I'm copying the file name directly from the file. I've tried it with the URL and just the IP address just in case the DNS setting didn't "take", but I weirdly got this error:

 

--------------------------------------------------

*** command status = File not found(-18)

--------------------------------------------------

 

That doesn't make sense as the file is there. Before realizing I needed to run the netboot command at the LOADER prompt, I entered the URL directly in step (7) without having done the netboot command previously. It indicates connectivity to the http server and then says 'file not found'! Any ideas as to what I'm missing?

15 REPLIES 15

TMACMD
6,718 Views

Read the article a bit more. That particular platform does support netboot, but you need to extract the image and give it the kernel. 

beo
6,634 Views

Normally the (7) should ask you for your port, ip, gateway and than just an URL for your ONTAP IMAGE you want to install. No need for a netboot as far as I know.. just put in "http://IP/9111P9_q_image.tgz"

If you want to be absolutely sure, you should use a revert over the cli. With big version differences, it could be, that your system can´t use the raid label from the newer version anymore. 

See: https://docs.netapp.com/us-en/ontap/revert/index.html

With the revert process ONTAP changes the Databases, RAID Labels etc. to the right version. 

Anyway, normale with fresh systems the (7) should work with an accessible webserver to download the image

 

TMACMD
6,625 Views

When cleaning a system, netboot is the preferred method. it cleans the boot media and you are almost forced to clean the disks.

 

When you netboot the system, it will not ask for network info (interface, ip, netmask, gateway) as it was configured at the LOADER prompt. I do this process all the time.

 

LOADER> ifconfig e0M -addr=192.168.1.101 -gw=192.168.1.1 -mask=255.255.255.0

LOADER> netboot http://192.168.1.100/9111P9_q_image.tgz

(different image and version for FAS80x0 platforms, see my prior post for FAS80x0 platforms)

<boot menu automatically comes up>

 

choose option 7

it just asks for the URL: http://192.168.1.100/9111P9_q_image.tgz

 

upon doing this, it will erase the boot device and install that image in both image1 and image2.

When cleaning a system, always answer (N) for the recover from backup or you have to do the process again. and then answer (Y) to reboot on the new image.

 

This will boot back to the boot menu. Work the menu options to finish the system re-init (9/9a/9b or 9/9a/9c)

TMADOCTHOMAS
6,618 Views

@TMACMD and @beo , thank you both for your replies, interesting information!

 

@TMACMD , the link is helpful, I hadn't seen that one. Looks like I wasn't following a specialized procedure for the test system I'm using. I will try that. One concern about the netboot approach - I didn't realize it actually *boots* the system from the image on the URL you are pointing to, THEN downloads it after choosing option (7).  My concern is that *could* be problematic as the webserver is at our main headquarters and the system in question will be at a remote location.

 

@beo , yeah I'm trying to avoid just using the revert process as we did that with a new system years ago and it introduced unexpected issues weeks later that were hard to identify. I'd rather do it cleanly if we can make it work.

 

To both of you, and anyone else - what about doing it with the image storage on a USB stick? Have either of you (or anyone else) tried that approach? Any gotchas there? I'm thinking that might be easier.

TMADOCTHOMAS
6,594 Views

@TMACMD , tried extracting the file and putting it in a netboot\kernel\ subfolder, but still got an error. Any ideas?


----------------------------------------------------------------------------------------
LOADER-A> netboot http://<IP>/netboot/kernel/97P21_q_image.tar
Loading <IP>/netboot/kernel/97P21_q_image.tar:Failed: File not found
Could not load http://<IP>/netboot/kernel/97P21_q_image.tar: File not found
*** command status = File not found(-18)
----------------------------------------------------------------------------------------

TMACMD
6,591 Views

NOT: netboot http://<IP>/netboot/kernel/97P21_q_image.tar

 

Extract the 9.7P21 image.

Then you are going to get a netboot directory with file under that called kernel:

 

tar xf 97P21_q_image.tgz

This will make a netboot directory with a file "kernel"

 

This:

netboot http://<IP>/netboot/kernel

 

Note if you are using IIS, there may be an issue since the file does not have an extension. The only way to fix is use another web server or find a way to let IIS server all data even without extensions.

 

Then when you get to option 7, you simply provide:

http://<IP>/97P21_q_image.tgz

 

(I see you unzipped the tgz file. The option 7 will not like that! you need to download again and leave the file as a tgz. Not sure if you can zip it back and maintain the same checksum)

TMADOCTHOMAS
6,583 Views

Thank you @TMACMD . I had thought extracting it *meant* unzipping, but apparently the tar command (which I didn't even realize would work in Windows) is the way to go. I ran that command and tried again, but still got the following. It is IIS so I looked into ways to allow it to serve up files with no extension, but despite following instructions it didn't appear to work.

 

This whole approach, which sounds simple, seems to get more convoluted with each attempt :). Starting to think just copying the tgz file to a USB drive and doing it that way is the simplest way to go. Thoughts?

 

LOADER-A> netboot http://<IP>/netboot/kernel
Loading <IP>/netboot/kernel:Failed: File not found
Could not load http://<IP>/netboot/kernel: File not found

TMACMD
6,577 Views

not looking good. what I see that any system introduced with ONTAP 9.1 can use the USB port for boot_recovery. Earlier platforms need the netboot.

 

If you have a windows box without IIS, try using HFS. If you have a linux box or a mac, try using python as I indicated in a prior post here.

TMADOCTHOMAS
6,552 Views

Thanks @TMACMD and @Ontapforrum . I'm totally unfamiliar with Linux and wouldn't begin to know how to set up HFS, Python, etc. I may look into the TFTP idea though, as (I think?) we have one of those.

 

Right now I want to try to USB stick approach, which I would assume is the most straightforward way to do this. Of course I'm hitting a snag right away (not my day!). Using the procedure shown below, and I'm getting the following: Invalid command: "boot_recovery". I'm at the LOADER prompt. I tried priv set advanced but got the same thing (priv set diag doesn't work). I'm on OnTAP 9.8 on an AFF8080 test system. Any suggestions?

 

https://kb.netapp.com/onprem/ontap/os/How_to_use_the_boot_recovery_LOADER_command_for_installing_ONTAP_for_initial_setup_of_a_system

TMACMD
6,536 Views

Like I said yesterday, that platform does not support booting/using boot_recovery (boot from usb). Only platforms introduced with 9.1 and later do. That platform was released way before 9.1

 

HFS is a windows app. Does not install, just a binary. 
https://www.rejetto.com/hfs/

 

you open it. You tell it what port to use. You verify which interface it uses (if the host has more than one ip) then drag your file into the app. Right click the file and get the url to the file. Really easy


for Linux or Mac, depending on your Python installed version

python3 -m http.server 80
 or
python -m SimpleHTTPServer 80


then point a browser at your server http://<host _ip>:port -> browse, find your file then right click on it and get the url path in your copy buffer

TMADOCTHOMAS
6,531 Views

Thanks @TMACMD . I'm starting to think the vast majority of my issues are with the system I'm testing with. I get the feeling if I did the same thing on the 2720 it would 'just work' more than likely. I may give HFS a go, it doesn't sound too bad - thank you for the mini-tutorial.

 

I had originally thought about testing some of this with the simulator instead of the old 8080, but I'm not sure that's a valid test as it's virtualized of course. Our sim is running 9.11.1. I may test a revert to 9.10.1 to see if the process runs a little smoother.

TMACMD
6,530 Views

The 2720 would absolutely work with the usb stick and you would not need to extract the ONTAP image. 

TMADOCTHOMAS
6,529 Views

Thank you. I think I'll plan on that but look at a couple of other options 'just in case'. I will likely test on the simulator as well. Thank you again for all the comments and help!

Public