Difference between revisions of "Vnx-rootfsubuntu-draft"

From VNX
Jump to: navigation, search
(Configuration)
(Configuration)
Line 43: Line 43:
 
<li>Install XML::DOM perl package and ACPI daemon:</li>
 
<li>Install XML::DOM perl package and ACPI daemon:</li>
 
  apt-get install libxml-dom-perl acpid
 
  apt-get install libxml-dom-perl acpid
<li>Only for Ubuntu 10.04:</li>
+
<!--li>Only for Ubuntu 10.04:</li>
 
<ul>
 
<ul>
 
<li>create /media/cdrom* directories:</li>
 
<li>create /media/cdrom* directories:</li>
Line 53: Line 53:
 
  /dev/scd0  /media/cdrom0    udf,iso9660  user,noauto,exec,utf8  0  0
 
  /dev/scd0  /media/cdrom0    udf,iso9660  user,noauto,exec,utf8  0  0
 
  /dev/scd1  /media/cdrom1    udf,iso9660  user,noauto,exec,utf8  0  0
 
  /dev/scd1  /media/cdrom1    udf,iso9660  user,noauto,exec,utf8  0  0
</ul>
+
</ul-->
 
<li>Install VNX autoconfiguration daemon:</li>
 
<li>Install VNX autoconfiguration daemon:</li>
 
  mount /dev/sdb /mnt/
 
  mount /dev/sdb /mnt/

Revision as of 00:59, 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
    

</ul>

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 modify your root file system, you just have to start it as described above and make the operations required on the filesystem.

  • Start a VM with the root filesystem using virsh:
  • virsh create rootfs_ubuntu.xml 
    virt-viewer Ubuntu
    
  • Or alternatively using vnx_modify_rootfs:
  • vnx_modify_rootfs /usr/share/vnx/filesystems/vnx_rootfs_kvm_ubuntu-base.qcow2
    
  • From inside the VM install the software desired:
  • apt-get install ...
    
  • Stop the machine with:
  • 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 ACE daemon

If you have a root filesystem with the autoconfiguration and command execution daemon (ACE) already installed, you can use the autoupdate functionallity to update the daemon to a newer version. Just follow this procedure:

  • Edit the xml described above and comment the line defining the Ubuntu iso file for the cdrom:
  • Start the virtual machine (directly using virsh or the vnx_modify_rootfs utility):
  •  /usr/share/vnx/bin/vnx_modify_rootfs rootfs_ubuntu.xml 
    
  • Execute the update utility:
  • /usr/share/vnx/bin/vnx_update_aced Ubuntu /usr/share/vnx/aced/vnx-aced-lf-0.1b.tgz 
    
  • Once the ace daemon is updated the virtual machine will be rebooted automatically.

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.