Suse 11 SP4 Migration Tips

Suse 11 sp 4 to Azure

Suse 11 is pretty dated but it is still in production in many I.T. shops. I haven’t worked much with Suse in the past, I’m mainly a Debian/Ubuntu guy, but when I received a request to figure out how to get Suse 11 to Azure I figured it might be a good challenge.

It turns out it actually pretty simple once you have prepped a RedHat machine. Two basic problems exist on Suse just like Redhat: 1.) Drivers 2.) Network configuration.

This guide is much more basic, because again I’m not a Suse expert, and will focus on the bare minimum to get Suse migrated to Azure.

Step 0 – SSHD and Firewall Config

This is critical! Make sure that SSHd is enabled and that your firewall settings allow SSH traffic into the machine.

Step 1 – Install Kernel Sources

sudo zypper insatll kernel-source kernel-syms

Step 2 – Add Azure Drivers to the Kernel Ram Disk

We will need to edit /etc/sysconfig/kernel

Find the line that starts with INITRD_MODULES and add the following drivers to it.

hv_storvsc hv_netvsc hv_vmbus

The line should look something like this when your done.

INITRD_MODULES=”vmw_pvscsi hv_storvsc hv_netvsc hv_vmbus ata_piix ata_generic”

Step 3 – Create an ifcfg file for eth1

When you boot in Azure, the nic will register as eth1 and we will need a configuration file configured to receive its address via DHCP.

Create /etc/sysconfig/network/ifcfg-eth1

Add the following to it:

BOOTPROTO='dhcp'
NAME='eth1'
STARTMODE='auto'
USERCONTROL='no'

Step 4 – Rebuild the Ram Disk

cd /boot
sudo mkinitrd

Step 5 – Test Failover

Once these steps are complete wait for all the changes to sync over to Azure. Then do a failover test to confirm that the VM is reachable in Azure.

Step 6 – Future Considerations

This article is very barebones. Normally I would have included more steps that would enable more functionality, but I had issues getting Suse to reliably output kernel boot messages to both the console and the serial console. So I left that part out.

It would also be advisable to enable a login terminal from serial console ttyS0 as well. But again, this caused a lot of kernel messages while the VM was in VMware, so I chose to leave it out of the article.

Compared to the Microsoft How To guide, I also left out the part where they disable presistant network names. I did this so that we could keep our eth0 configuration in place with its static IP (most likely) and have things continue to work normally after a reboot in VMware… this is critical if you are just using Azure as a DR location.