Difference between revisions of "Vnx-rootfscentos"
(Created page with "{{Title|How to create a CentOS root filesystem for VNX}} == Basic installation == Follow this procedure to create a CentOS based root filesystem for VNX. The procedure has been...") |
(→Configuration) |
||
(77 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{Title|How to create a CentOS root filesystem for VNX}} | + | {{Title|How to create a KVM CentOS root filesystem for VNX}} |
== Basic installation == | == Basic installation == | ||
− | Follow this procedure to create a CentOS based root filesystem for VNX. The procedure has been tested with CentOS 5.6. | + | 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. |
<ul> | <ul> | ||
<li>Create the filesystem disk image:</li> | <li>Create the filesystem disk image:</li> | ||
− | qemu-img create -f qcow2 | + | qemu-img create -f qcow2 vnx_rootfs_kvm_centos.qcow2 20G |
− | <li>Get CentOS installation DVD (use the complete DVD; | + | <li>Get CentOS installation DVD (we recommend to use the complete DVD; the LiveDVD version does not include the customization menu to choose among different installation profiles: minimal, desktop, etc). For example:</li> |
− | wget | + | wget ftp://ftp.rediris.es/mirror/CentOS/X.X/isos/i386/CentOS-X.X-i386-bin-DVD1.iso |
− | cp CentOS- | + | cp CentOS-X.X-i386-bin-DVD1.iso /almacen/iso |
− | <li>Create | + | 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. |
− | + | <li>Create the virtual machine with:</li> | |
− | + | 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: | ||
− | + | Note: add '''"--arch x86_64"''' option for 64 bits virtual machines | |
− | + | <li>Follow the CentOS installation assistant. At some point, you will have to choose among different system profiles: Desktop, Minimal Desktop, Minimal, Basic Server, etc.</li> | |
− | + | <!--ul> | |
− | |||
− | <li>Follow CentOS installation | ||
− | <ul> | ||
<li>A "minimal" system, if you want a server rootfs without user interface</li> | <li>A "minimal" system, if you want a server rootfs without user interface</li> | ||
<li>One of the other options (e.g "web server", "desktop system", etc) if you want a system with graphical user interface</li> | <li>One of the other options (e.g "web server", "desktop system", etc) if you want a system with graphical user interface</li> | ||
</ul> | </ul> | ||
+ | </ul--> | ||
+ | |||
+ | <li>Once the installation is finished and the installer asks for rebooting the system, just stop the virtual machine using "virsh destroy ..." command and continue with the configuration phase.</li> | ||
</ul> | </ul> | ||
Line 66: | Line 30: | ||
<ul> | <ul> | ||
− | <li>Once | + | <li>Restart the system with the following command:</li> |
− | wget http:// | + | 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. | ||
+ | <li>Configure the serial console:</li> | ||
+ | <ul> | ||
+ | <li>For CentOS 5.X and 6.X, following these [http://blog.zelut.org/2010/05/05/configure-serial-console-access-on-centos-5/ instructions].</li> | ||
+ | <li>For CentOS 7.X, by executing:</li> | ||
+ | grubby --update-kernel=ALL --args="console=ttyS0" | ||
+ | </ul> | ||
+ | <li>Delete the net udev rules file and reboot the system:</li> | ||
+ | rm /etc/udev/rules.d/70-persistent-net.rules | ||
+ | halt | ||
+ | <li>Once started, access the system through the text console to easy the copy-paste of commands:</li> | ||
+ | virsh console vnx_rootfs_kvm_centos.qcow2 | ||
+ | <li>Check that you have 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>Configure the RPMForge repository following the procedure described [http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/ here]:</li--> | ||
+ | <!-- | ||
+ | yum install wget | ||
+ | wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm | ||
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt | rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt | ||
− | rpm -K rpmforge-release-0.5. | + | rpm -K rpmforge-release-0.5.3-1.el6.rf.*.rpm |
− | rpm -i rpmforge-release-0.5. | + | rpm -i rpmforge-release-0.5.3-1.el6.rf.*.rpm |
+ | |||
+ | Note: change 'i686' by 'x86_64' for 64 bits root filesystems. | ||
+ | --> | ||
+ | <li>Install daemonize package (e.g. for CentOs 7; change url to whatever version corresponds):</li> | ||
+ | yum install https://kojipkgs.fedoraproject.org//packages/daemonize/1.7.7/1.el7/x86_64/daemonize-1.7.7-1.el7.x86_64.rpm | ||
+ | |||
<li>Update the system and install additional packages</li> | <li>Update the system and install additional packages</li> | ||
yum update | yum update | ||
− | yum install perl perl-XML- | + | 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. | ||
+ | |||
<li>Install VNX autoconfiguration daemon:</li> | <li>Install VNX autoconfiguration daemon:</li> | ||
− | <ul> | + | mount /dev/sdb /mnt/ |
+ | perl /mnt/vnxaced-lf/install_vnxaced | ||
+ | <!--ul> | ||
<li>From the host execute:</li> | <li>From the host execute:</li> | ||
/usr/share/vnx/bin/vnx_update_aced CentOS /usr/share/vnx/aced/vnx-aced-lf-0.1b.tgz | /usr/share/vnx/bin/vnx_update_aced CentOS /usr/share/vnx/aced/vnx-aced-lf-0.1b.tgz | ||
Line 82: | Line 76: | ||
mount /dev/cdrom /media/cdrom | mount /dev/cdrom /media/cdrom | ||
perl /media/cdrom/install_vnxdaemon | perl /media/cdrom/install_vnxdaemon | ||
− | </ul | + | </ul--> |
− | + | <!--li>Disable eth0 autoconfiguration to avoid delays at startup. Edit /etc/sysconfig/network-scripts/ifcfg-eth0 file and change "ONBOOT" line to:</li> | |
− | < | ||
− | |||
− | |||
− | |||
ONBOOT=no | ONBOOT=no | ||
− | + | --> | |
<li>Optionally:</li> | <li>Optionally:</li> | ||
<ul> | <ul> | ||
− | <li>Disable the firewall. Firewall is enabled by default which could be problematic for testing purpose systems. If desired, disable it | + | <li>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:</li> |
+ | chkconfig sendmail off | ||
+ | chkconfig bluetooth off | ||
+ | <li>Disable the firewall. Firewall is enabled by default which could be problematic for testing purpose systems. If desired, disable it using the following command:</li> | ||
chkconfig iptables off | chkconfig iptables off | ||
chkconfig ip6tables off | chkconfig ip6tables off | ||
+ | <li>Or, if using a "minumum installation", install network utilities:</li> | ||
+ | yum install telnet wget openssh-clients traceroute tcpdump | ||
+ | <!--li>Enable IPv6 by deleting the following lines in /etc/modprobe.conf:</li> | ||
+ | alias ipv6 off | ||
+ | options ipv6 disable=1 --> | ||
</ul> | </ul> | ||
− | <li>Create a file /etc/ | + | <li>Create a file /etc/vnx_rootfs_version to store version number and informacion about modifications:</li> |
<pre> | <pre> | ||
− | VER=v0. | + | VER=v0.25 |
− | OS=CentOS 5 | + | OS=CentOS 6.5 |
− | DESC=Basic CentOS 5 | + | DESC=Basic CentOS 6.5 root-filesystem without GUI |
</pre> | </pre> | ||
− | <li> | + | <li>Finally, stop the virtual machine with:</li> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
vnx_halt | 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. | ||
</ul> | </ul> | ||
== Installing additional software == | == Installing additional software == | ||
− | To install additional software or modify your root file system, you just have to | + | 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 | vnx_halt | ||
+ | </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 issues == | ||
− | = | + | <ul> |
+ | <li>When executing commands using vnx "--exe" option in virtual machines configured with exec_mode="cdrom", traces like the followinf appear on the consoles:</li> | ||
+ | <pre> | ||
+ | hdb: tray open | ||
+ | end_request: I/O error, dev hdb, sector 8388352 | ||
+ | </pre> | ||
+ | They are generated as a result of mount command execution by the VNX daemon. Commands are correctly executed. To be further investigated. | ||
+ | </ul> |
Latest revision as of 01:25, 3 November 2016
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.