Vnx-rootfscentos
How to create a KVM CentOS root filesystem for VNX
Contents
Basic installation
Follow this procedure to create a KVM CentOS based root filesystem for VNX. The procedure has been tested with CentOS 5.6, 6.2, 6.4, 6.5 and 7.0.
- Create the filesystem disk image:
qemu-img create -f qcow2 vnx_rootfs_kvm_centos.qcow2 20G
wget ftp://ftp.rediris.es/mirror/CentOS/X.X/isos/i386/CentOS-X.X-i386-bin-DVD1.iso cp CentOS-X.X-i386-bin-DVD1.iso /almacen/iso
Note: latests versions of CentOS are distributed in two DVDs. However, only the first DVD is needed for basic installations; no need to download DVD2.
vnx --create-rootfs vnx_rootfs_kvm_centos.qcow2 --install-media /almacen/iso/CentOS-X.X-i386-bin-DVD1.iso --mem 768M
Note: around 768M of memory are needed to use the graphical installation assistant. With the textual assistant the memory requirements are lower (known to work with 512M).
Note: add "--arch x86_64" option for 64 bits virtual machines
Configuration
- Restart the system with the following command:
vnx --modify-rootfs vnx_rootfs_kvm_centos.qcow2 --update-aced --mem 768M
Note: ignore the errors "timeout waiting for response on VM socket". Note2: 768M are needed if you are installing a root filesystem with desktop interface; 512M are enough for a text version.
- For CentOS 5.X and 6.X, following these instructions.
- For CentOS 7.X, by executing:
grubby --update-kernel=ALL --args="console=ttyS0"
rm /etc/udev/rules.d/70-persistent-net.rules halt
virsh console vnx_rootfs_kvm_centos.qcow2
dhclient eth1
Note: use "ip link show" to know which network interface to use.
yum install https://kojipkgs.fedoraproject.org//packages/daemonize/1.7.7/1.el7/x86_64/daemonize-1.7.7-1.el7.x86_64.rpm
yum update yum install perl perl-XML-LibXML perl-NetAddr-IP acpid perl-Sys-Syslog
Note: if you get a dependencies error when installing LibXML package, try installing 'perl-XML-SAX' package instead.
mount /dev/sdb /mnt/ perl /mnt/vnxaced-lf/install_vnxaced
- Disable the services you are not going to use to speed up the virtual machine startup (you can see the list of active services with "chkconfig --list"). For example to disable sendmail and bluetooth:
chkconfig sendmail off chkconfig bluetooth off
chkconfig iptables off chkconfig ip6tables off
yum install telnet wget openssh-clients traceroute tcpdump
VER=v0.25 OS=CentOS 6.5 DESC=Basic CentOS 6.5 root-filesystem without GUI
vnx_halt
vnx_halt deletes some caches and log files and optionally lets you write a short message to /etc/vnx_rootfs_version file describing the latest modifications done.
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_centos.qcow2
dhclient eth1
Note: use "ip link show" to know which network interface to use.
vnx_halt
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 issues
- When executing commands using vnx "--exe" option in virtual machines configured with exec_mode="cdrom", traces like the followinf appear on the consoles:
hdb: tray open end_request: I/O error, dev hdb, sector 8388352
They are generated as a result of mount command execution by the VNX daemon. Commands are correctly executed. To be further investigated.