Difference between revisions of "Vnx-rootfsubuntu-draft"

From VNX
Jump to: navigation, search
(Installing additional software)
(Updating VNXACED)
Line 118: Line 118:
  
 
You can automatically update the VNXACE daemon with the following command:
 
You can automatically update the VNXACE daemon with the following command:
  vnx --modify-rootfs vnx_rootfs_kvm_centos.qcow2 --update-aced -y
+
  vnx --modify-rootfs vnx_rootfs_kvm_ubuntu.qcow2 --update-aced -y
  
 
== Known problems ==
 
== Known problems ==

Revision as of 01:21, 22 May 2012

How to create a Ubuntu root-file-system for VNX

Basic installation

Follow this procedure to create a Ubuntu based root-file-system for VNX. The procedure has been tested with Ubuntu 9.10, 10.04, 10.10, 11.04 and 12.04.

  • Create the filesystem disk image:
  • qemu-img create -f qcow2 vnx_rootfs_kvm_ubuntu.qcow2 8GB
    
  • Get Ubuntu installation CD. For example:
  • wget ftp://ftp.rediris.es/mirror/ubuntu-releases/12.04/ubuntu-12.04-server-i386.iso
    cp ubuntu-12.04-server-i386.iso /almacen/iso
    

    Note: use 'server' or 'desktop' CD versions depending on the system you want to create.

  • Create the virtual machine with:
  • vnx --create-rootfs vnx_rootfs_kvm_ubuntu.qcow2 --install-media /almacen/iso/ubuntu-12.04-server-i386.iso --mem 512M
    
  • Follow Ubuntu installation menus to install a basic system with ssh server.
  • Configure a serial console on ttyS0:
  • cd /etc/init
    cp tty1.conf ttyS0.conf
    sed -i -e 's/tty1/ttyS0/' ttyS0.conf
    
  • Activate startup traces on serial console by editting /etc/default/grub file and setting the GRUB_CMDLINE_LINUX_DEFAULT variable to "console=ttyS0". Also change the boot menu timeout to 0 (sometimes virtual machines get stopped on the boot menu when starting on high loaded systems):
  • GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0"
    GRUB_TIMEOUT=0
    
  • Make grub process the previous changes:
  • update-grub
    
  • Finally, delete the net udev rules file and halt the system:
  • rm /etc/udev/rules.d/70-persistent-net.rules
    halt -p
    

Configuration

  • Restart the system with the following command:
  • vnx --modify-rootfs vnx_rootfs_kvm_ubuntu.qcow2 --update-aced --mem 512M
    

    Note: ignore the errors "timeout waiting for response on VM socket". 768M are needed if you are installing a root filesystem with desktop interface

  • Access the system through the text console to easy the copy-paste of commands:
  • virsh console vnx_rootfs_kvm_ubuntu.qcow2
    
  • Access the console and sudo root:
  • sudo su
    
  • Update the system
  • apt-get update
    apt-get dist-upgrade
    
  • Install XML::DOM perl package and ACPI daemon:
  • apt-get install libxml-dom-perl acpid
    
  • Install VNX autoconfiguration daemon:
  • mount /dev/sdb /mnt/
    perl /mnt/vnxaced-lf/install_vnxaced
    
  • Optional: install graphical user interface.
    • Minimal:
    • sudo apt-get install xorg gnome-core gksu gdm gnome-system-tools gnome-nettool firefox-gnome-support
      
    • Complete:
    • sudo apt-get install ubuntu-desktop
      
  • Optional: install other services:
    • Apache server:
    • sudo apt-get install apache2
      update-rc.d -f apache2 remove   # to avoid automatic start
      
    • Other network tools
    • sudo apt-get install traceroute
      
  • Create a file /etc/vnx_rootfs_version to store version number and informacion about modification:
  • VER=v0.24
    OS=Ubuntu 12.04
    DESC=basic Ubuntu 12.04 root-file-system without GUI
    
  • Stop the machine with that script:
  • vnx_halt
    

If everything went well, your root filesystem will be ready to be used with VNX. You can make a simple test using the simple_ubuntu.xml scenario distributed with VNX.

Installing additional software

To install additional software or to modify your root file system, you just have to:

  • Start a virtual machine from it:
  • vnx --modify-rootfs vnx_rootfs_kvm_ubuntu.qcow2
    
  • Check network connectivity. Maybe you have to activate the network interface by hand:
  • dhclient eth1
    

    Note: use "ip link show" to know which network interface to use.

  • Do the modifications you want.
  • Finally, halt the system using:
  • vnx_halt
    

Examples

  • dhcp server and relay:
    • Install dhcp3 packages:
    • apt-get install dhcp3-server dhcp3-relay
      
    • Disable autostart (optional):
    • update-rc.d -f isc-dhcp-server remove
      update-rc.d -f isc-dhcp-relay remove
      


Updating VNXACED

You can automatically update the VNXACE daemon with the following command:

vnx --modify-rootfs vnx_rootfs_kvm_ubuntu.qcow2 --update-aced -y

Known problems

  • Each time a cdrom is mounted (for example, whenever a command is executed on the virtual machine) the following error appears in the console:
  • Jul 27 22:33:31 vnx kernel: [ 4384.875886] ata1.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
    Jul 27 22:33:31 vnx kernel: [ 4385.291374] ata1.01: BMDMA stat 0x5
    Jul 27 22:33:31 vnx kernel: [ 4385.493411] sr 0:0:1:0: [sr0] CDB: Read(10): 28 00 00 00 00 18 00 00 01 00
    Jul 27 22:33:31 vnx kernel: [ 4385.493460] ata1.01: cmd a0/01:00:00:00:08/00:00:00:00:00/b0 tag 0 dma 2048 in
    Jul 27 22:33:31 vnx kernel: [ 4385.493461]          res 01/60:00:00:00:08/00:00:00:00:00/b0 Emask 0x3 (HSM violation)
    Jul 27 22:33:31 vnx kernel: [ 4386.263553] ata1.01: status: { ERR }
    

    Despite of the error trace, the commands are executed correctly. This error does not appear on Ubuntu 9.10 filesystems.