Web: http://web.dit.upm.es/vnxwiki/index.php/Main_Page
Autor: Radovan Kohutiar
Požiadavky
- Moderná linuxová distribúcia (Ubuntu 14.04 alebo novšie)
- Aspoň 2GB RAM (odporúčané viac)
- Procesor s podporou virtualizácie (potrebné pre KVM virtualizáciu)
- Skontrolujeme príkazom kvm-ok prípadne sudo kvm-ok
# kvm-ok
INFO: Your CPU supports KVM extensions
INFO: /dev/kvm exists
KVM acceleration can be used
- Alebo prehľadať súbor /proc/cpuinfo (hľadáme slová vmx pre intel procesory alebo svm pre AMD procesory)
Inštalácia
Začneme inštaláciou potrebných balíkov:
udo apt-get update
sudo apt-get upgrade
sudo apt-get install \
bash-completion bridge-utils curl eog expect genisoimage gnome-terminal \
graphviz libappconfig-perl libdbi-perl liberror-perl libexception-class-perl \
libfile-homedir-perl libio-pty-perl libmath-round-perl libnetaddr-ip-perl \
libnet-ip-perl libnet-ipv6addr-perl libnet-pcap-perl libnet-telnet-perl \
libreadonly-perl libswitch-perl libsys-virt-perl libterm-readline-perl-perl \
libvirt-bin libxml-checker-perl libxml-dom-perl libxml-libxml-perl \
libxml-parser-perl libxml-tidy-perl lxc lxc-templates net-tools \
openvswitch-switch picocom pv qemu-kvm screen tree uml-utilities virt-manager \
virt-viewer vlan w3m wmctrl xdotool xfce4-terminal xterm
Ďalej potrebujeme zmeniť konfiguráciu libvirt, preto zeditujeme súbor /etc/libvirt/qemu.conf a nastavíme nasledujúce parametre:
security_driver = "none"
user = "root"
group = "root"
cgroup_device_acl = [
"/dev/null", "/dev/full", "/dev/zero",
"/dev/random", "/dev/urandom",
"/dev/ptmx", "/dev/kvm", "/dev/kqemu",
"/dev/rtc", "/dev/hpet", "/dev/vfio/vfio", "/dev/net/tun"
]
Alebo môžeme použiť nasledovný script:
cat << EOF >> /etc/libvirt/qemu.conf
security_driver = "none"
user = "root"
group = "root"
cgroup_device_acl = [
"/dev/null", "/dev/full", "/dev/zero",
"/dev/random", "/dev/urandom",
"/dev/ptmx", "/dev/kvm", "/dev/kqemu",
"/dev/rtc", "/dev/hpet", "/dev/vfio/vfio", "/dev/net/tun"
]
EOF
Zmenu v konfigurácií aplikujeme reštartovaním služby libvirt-bin
sudo systemctl restart libvirt-bin
Skontrolujeme či libvirt beží, napríklad príkazom
sudo virsh capabilities
Ďalej nainštalujeme samotné VNX
mkdir /tmp/vnx-update
cd /tmp/vnx-update
rm -rf /tmp/vnx-update/vnx-*
wget http://vnx.dit.upm.es/vnx/vnx-latest.tgz
tar xfvz vnx-latest.tgz
cd vnx-*-*
sudo ./install_vnx
Reštartujeme apparmor:
sudosystemctlrestartapparmor
Premiestnime konfiguračný súbor VNX:
sudo mv /usr/share/vnx/etc/vnx.conf.sample /etc/vnx.conf
Editujeme konfiguračný súbor vnx.conf a meníme/pridávame nasledovné parametre:
overlayfs_workdir_option = 'yes'
union_type='overlayfs'
Pridanie dyanmips podpory (pre cisco zariadenia)
Nainštalujeme dynamips:
sudo apt-get install dynamips dynagen
Vytvoríme súbor /etc/init.d/dynamips
a uložíme doň nasledovný script:
#!/bin/sh
# Start/stop the dynamips program as a daemon.
#
### BEGIN INIT INFO
# Provides: dynamips
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Cisco hardware emulator daemon
### END INIT INFO
DAEMON=/usr/bin/dynamips
NAME=dynamips
PORT=7200
PIDFILE=/var/run/$NAME.pid
LOGFILE=/var/log/$NAME.log
DESC="Cisco Emulator"
SCRIPTNAME=/etc/init.d/$NAME
test -f $DAEMON || exit 0
. /lib/lsb/init-functions
case "$1" in
start) log_daemon_msg "Starting $DESC " "$NAME"
start-stop-daemon --start --chdir /tmp --background --make-pidfile --pidfile $PIDFILE --name $NAME --startas $DAEMON -- -H $PORT -l $LOGFILE
log_end_msg $?
;;
stop) log_daemon_msg "Stopping $DESC " "$NAME"
start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME
log_end_msg $?
;;
restart) log_daemon_msg "Restarting $DESC " "$NAME"
start-stop-daemon --stop --retry 5 --quiet --pidfile $PIDFILE --name $NAME
start-stop-daemon --start --chdir /tmp --background --make-pidfile --pidfile $PIDFILE --name $NAME --startas $DAEMON -- -H $PORT -l $LOGFILE
log_end_msg $?
;;
status)
status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
#status $NAME
#RETVAL=$?
;;
*) log_action_msg "Usage: $SCRIPTNAME {start|stop|restart|status}"
exit 2
;;
esac
exit 0
Nastavíme oprávnenia pre vykonávanie scriptu:
chmod +x /etc/init.d/dynamips
update-rc.d dynamips defaults
/etc/init.d/dynamips start
V prípade že sa dynamips nespúšťa po štarte systému, môžeme nastaviť crontab aby ho automaticky spúšťal. Príkazom sudo crontab -e otvoríme súbor crontabu. Na koniec súboru pridáme riadok:
@reboot /etc/init.d/dynamips start