|
|
(9 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | {{Title|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.
| |
− | <ul>
| |
− | <li>Create the filesystem disk image:</li>
| |
− | qemu-img create -f qcow2 vnx_rootfs_kvm_ubuntu.qcow2 8GB
| |
− | <li>Get Ubuntu installation CD. For example:</li>
| |
− | 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.
| |
− | <li>Create the virtual machine with:</li>
| |
− | vnx --create-rootfs vnx_rootfs_kvm_ubuntu.qcow2 --install-media /almacen/iso/ubuntu-12.04-server-i386.iso --mem 512M
| |
− | <li>Follow Ubuntu installation menus to install a basic system with ssh server.</li>
| |
− | <li>Configure a serial console on ttyS0:</li>
| |
− | cd /etc/init
| |
− | cp tty1.conf ttyS0.conf
| |
− | sed -i -e 's/tty1/ttyS0/' ttyS0.conf
| |
− | <li>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):</li>
| |
− | GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0"
| |
− | GRUB_TIMEOUT=0
| |
− | <li>Make grub process the previous changes:</li>
| |
− | update-grub
| |
− | <li>Finally, delete the net udev rules file and halt the system:</li>
| |
− | rm /etc/udev/rules.d/70-persistent-net.rules
| |
− | halt -p
| |
− | </ul>
| |
− |
| |
− | == Configuration ==
| |
− |
| |
− | <ul>
| |
− | <li>Restart the system with the following command:</li>
| |
− | 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
| |
− | <li>Access the system through the text console to easy the copy-paste of commands:</li>
| |
− | virsh console vnx_rootfs_kvm_ubuntu.qcow2
| |
− | <li>Access the console and sudo root:</li>
| |
− | sudo su
| |
− | <li>Update the system</li>
| |
− | apt-get update
| |
− | apt-get dist-upgrade
| |
− | <li>Install XML::DOM perl package and ACPI daemon:</li>
| |
− | apt-get install libxml-dom-perl acpid
| |
− | <!--li>Only for Ubuntu 10.04:</li>
| |
− | <ul>
| |
− | <li>create /media/cdrom* directories:</li>
| |
− | mkdir /media/cdrom0
| |
− | mkdir /media/cdrom1
| |
− | ln -s /media/cdrom0 /media/cdrom
| |
− | ln -s /cdrom /media/cdrom
| |
− | <li>add the following lines to /etc/fstab:</li>
| |
− | /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
| |
− | /dev/scd1 /media/cdrom1 udf,iso9660 user,noauto,exec,utf8 0 0
| |
− | </ul-->
| |
− | <li>Install VNX autoconfiguration daemon:</li>
| |
− | mount /dev/sdb /mnt/
| |
− | perl /mnt/vnxaced-lf/install_vnxaced
| |
− | <li>Optional: install graphical user interface.</li>
| |
− | <ul>
| |
− | <li>Minimal:</li>
| |
− | sudo apt-get install xorg gnome-core gksu gdm gnome-system-tools gnome-nettool firefox-gnome-support
| |
− | <li>Complete:</li>
| |
− | sudo apt-get install ubuntu-desktop
| |
− | </ul>
| |
− | <li>Optional: install other services:</li>
| |
− | <ul>
| |
− | <li>Apache server:</li>
| |
− | sudo apt-get install apache2
| |
− | update-rc.d -f apache2 remove # to avoid automatic start
| |
− | <li>Other network tools</li>
| |
− | sudo apt-get install traceroute
| |
− | </ul>
| |
− |
| |
− | <li>Create a file /etc/vnx_rootfs_version to store version number and informacion about modification:</li>
| |
− | <pre>
| |
− | VER=v0.24
| |
− | OS=Ubuntu 12.04
| |
− | DESC=basic Ubuntu 12.04 root-file-system without GUI
| |
− | </pre>
| |
− |
| |
− | <li>Stop the machine with that script:</li>
| |
− | 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 to modify your root file system, you just have to:
| |
− | <ul>
| |
− | <li>Start a virtual machine from it:</li>
| |
− | vnx --modify-rootfs vnx_rootfs_kvm_centos.qcow2
| |
− | <li>Check network connectivity. Maybe you have to activate the network interface by hand:</li>
| |
− | dhclient eth1
| |
− | Note: use "ip link show" to know which network interface to use.
| |
− | <li>Do the modifications you want.</li>
| |
− | <li>Finally, halt the system using:</li>
| |
− | vnx_halt
| |
− | </ul>
| |
− |
| |
− | ==== Examples ====
| |
− |
| |
− | <ul>
| |
− | <li>dhcp server and relay:</li>
| |
− | <ul>
| |
− | <li>Install dhcp3 packages:</li>
| |
− | apt-get install dhcp3-server dhcp3-relay
| |
− | <li>Disable autostart (optional):</li>
| |
− | update-rc.d -f isc-dhcp-server remove
| |
− | update-rc.d -f isc-dhcp-relay remove
| |
− | </ul>
| |
− |
| |
− |
| |
− | </ul>
| |
− |
| |
− | == Updating VNXACED ==
| |
− |
| |
− | You can automatically update the VNXACE daemon with the following command:
| |
− | vnx --modify-rootfs vnx_rootfs_kvm_centos.qcow2 --update-aced -y
| |
− |
| |
− | === Known problems ===
| |
− |
| |
− | <ul>
| |
− | <li>Each time a cdrom is mounted (for example, whenever a command is executed on the virtual machine) the following error appears in the console:</li>
| |
− | <pre>
| |
− | 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 }
| |
− | </pre>
| |
− | Despite of the error trace, the commands are executed correctly. This error does not appear on Ubuntu 9.10 filesystems.
| |
− |
| |
− | </ul>
| |