Conserve

Linux backup tool

Installation of SLES 11 on Microsoft Hyper-V Server with LVM

Back
Requirements:
  • 1 processor
  • 512 Mb of RAM
  • 6 GB HDD
You can create virtual machine using:
  • Using System Center Virtual Machine Manager 2008 R2 (SCVMM)
  • Using Hyper-V Manager
Add SLES 11 iso file to virtual optical drive and start machine.

Why I use “SLES 11”, not “SLES 11 sp.1”?
Because “SLES 11 sp.1” has kernel with Hyper-V Integrated Components included, but they are bugged. I can guess that Novell already have a patch for it, but now I don’t have Novell support for my SLES and don’t know where to get this patch.


Mouse doesn’t work when you use VMM, so you can use Hyper-V Manager or hot keys (they are really useful) during installation.

First two screens are trivial – agree Terms and skip or not skip SLES media check.
Then you select “New Installation” (thx cap!) and your time zone. On the “Server Base Scenario” screen you check “Virtual Machine”
server scenario


Can I use “Physical Machine”?
Yes, you can. My experience doesn’t show the difference, but…


It’s time for “Installation Settings”.
  1. Partitioning
  2. We are going to use LVM. It’s good for backup, because LVM support snapshots.
    custom part

    Add partition, it will be boot.
    add part

    Type – “Primary Partition”, size – 100 MB will be enough.
    boot_size

    Choose and “Finish”. You can set “Ext2” file system type, journal isn’t important for boot partition.
    boot_mount

    Now add one more Primary Partition with maximum size. But choose like on picture before “Finish”.
    lvm_type

    Then you need to create LVM group
    lvm_group_create

    Enter group name, select your LVM device and click “Add” button
    lvm_group_create2

    Create LVM partitions
    lvm_part_create1

    Enter partition name, first will be swap
    swap1

    Enter swap size, from 256 to 512 MB will be enough
    swap_size

    Mount swap
    swap_mount

    Repeat LVM partition creation, you can name it “root”. Don’t set maximum size! You need to leave about 10% for snapshots. On screenshot I leave about 500 Mb for it.
    root_size

    And mount it
    root_mount

    Push “Accept” button and it’s done.

  3. Software

  4. You can choose what you like, but I prefer minimal installation and C++ Compiler
    software_list

  5. Language
  6. If you want, you can add some other language from the list. When you accept it, you will see the message, it’s normal.
    lang_mess

    The screen now must look like on picture. If it is, push “Install” button.
    install_screen2

Confirm your choice and take a rest for half an hour.

Installation of packages finished and server going to reboot. After reboot you will see pseudo GUI (if you doesn’t choose to install GUI package).
Enter root password, it must be very strong, “qwerty” will be good. Joke, SLES will tell you if the password is too simple.
root_pass

Enter hostname and domain name for good fqnd. Check out “Change hostname via DHCP”, it’s not useful.
hostname

On the next screen I prefer to disable ipv6 and firewall, because I don’t need it.
network

Push “Next” on “CA Managment” page. Enter non administrative user login and password
user

“Next” on “Release Notes” and “Printers”. Check out “Clone…” checkbox on “Installation Complete” screen
clone

And push “Finish”.

Now you can log in as root and see what ip you gain from DHCP, or configure static ip address. It’s time to install Hyper-V Linux Integration Components.
  • Download version 2.1 from Microsoft site.
  • Extract it and mount “linuxIC v21.iso” to your virtual machine.
  • Edit /etc/modprobe.d/unsupported-modules file, change allow_unsupported_modules 0 to allow_unsupported_modules 1.
  • mount /dev/cdrom /mnt
  • mkdir ~/linuxIC2
  • cp –a /mnt/* ~/linuxIC2/
  • cd ~/linuxIC2
  • make && make install
  • poweroff –ih

Now you need to add Synthetic network interface to your new virtual machine.
net_int_add

Delete old emulated (Legacy) network interface.
Start virtual machine.

First, check that integration components installed, run command

lsmod |grep vsc

output should look like:

 blkvsc  32140 0
 storvsc  26916 0
 netvsc  36572 0
 vmbus  48716 3 blkvsc,storvsc,netvsc
 scsi_mod 149336 6 sr_mod,sg,sd_mod,blkvsc,storvsc,libata

Now you have seth0 network interface in your system, maybe it get setting by DHCP. let’s configure it as static.

Why not by YaST?
I think it’s bug, YaST can’t save synthetic network interface configuration, so I do it by hands.


  • vim /etc/sysconfig/network/ifcfg-seth0
  • Make it look like:
     BOOTPROTO='static'
     BROADCAST=''
     ETHTOOL_OPTIONS=''
     IPADDR='192.168.4.220/24'
     MTU=''
     NAME='Virtual Ethernet Card'
     NETMASK=''
     NETWORK=''
     REMOTE_IPADDR=''
     STARTMODE='auto'
     USERCONTROL='no'

  • Save and close file.
  • Configure DNS and Gateway from YaST.
  • /etc/init.d/network restart
To test that all is right, you can login to your server by ssh.

The last thing is to change boot options to use your hard drives as IDE (hd*) not as SCSI (sd*), it’s for performance. Par. 2 not needed If you setup LVM as I am.

I copy it from pdf file downloaded with Integration Components distributive.

  • As the root user, edit /etc/fstab and make the following changes:
    Sections that begin with /dev/disk/* should be replaced by their /dev/hd* equivalents, so that /etc/fstab looks similar to the following example:
     /dev/hda1 swap swap defaults 0 0
     /dev/hda2 /  ext3 acl,user_xattr 1 1

    Save the changes to /etc/fstab.
  • As the root user, edit /boot/grub/menu.lst and modify the kernel options as follows:
     root=/dev/hda2 resume=/dev/hda1


    And finaly – reboot.
Created: Wed Sep 28 17:18:04 2011 Updated: Thu Nov 3 15:03:19 2011
Back
Created by (*w) using Ruby on Rails 3.