FrDtc-xen-box

Bonjour,

Voilà mon neurones.txt pour ceux qui peuvent tester et faire leur retours avant un tuto mis au propre dans le wiki. On commence par installer la box depuis la console de gestion :

   Device	Type	Système de fichiers	 Point de montage	Taille (Mo)	
   /dev/sda1	Primaire	ext3	/boot	200		x
   /dev/sda2	Primaire	ext3	/	2048		x
   /dev/sda3	Primaire	swap		512

on laisse l'espace disque restant inoccupé avec le sda4 pour plus tard.

A la première connexion on copie sa clé et on interdit les connexions avec passwd

   ssh-copy-id -i ~/.ssh/id_dsa.pub <IP-principale>

On se connecte enfin et on installe quelques paquets

   apt-get install fail2ban sudo lvm2 logwatch screen mc backup-manager popularity-contest

On ajoute votre nom d'utilisateur pour sudo, remplacer <login> par le votre:

   echo "<login>    ALL = NOPASSWD: ALL" >>/etc/sudoers

On cré le sda4 avec tout l espace disque restant, Type : LVM "8E"

   cfdisk /dev/sda

Puis on reboot une première foi

   reboot

Apres le redemarrage, on créé un groupe "VG0" avec les partition LVM du dom0, le restant pour les domU :

   ssh <host>
   sudo su root
   mkfs -t ext3 /dev/sda4
   pvcreate /dev/sda4
   vgcreate vg0 /dev/sda4
   init S;
   # LVM /home
   lvcreate -L 512M -n lv0 vg0
   mkfs -t ext3 /dev/vg0/lv0
   mkdir /mnt/home
   mount -t ext3 /dev/vg0/lv0 /mnt/home
   cp -Rav /home/. /mnt/home;
   umount /dev/vg0/lv0
   mv -v /home /mnt/; mkdir /home;
   mount -t ext3 /dev/vg0/lv0 /home
   echo "/dev/vg0/lv0 /home ext3 defaults 0 2" >>/etc/fstab;
   # LVM /root
   lvcreate -L 512M -n lv1 vg0
   mkfs -t ext3 /dev/vg0/lv1
   mkdir /mnt/root
   mount -t ext3 /dev/vg0/lv1 /mnt/root
   cp -Rav /root/. /mnt/root
   umount /dev/vg0/lv1
   mv -v /root /mnt/
   mkdir /root
   mount -t ext3 /dev/vg0/lv1 /root
   echo "/dev/vg0/lv1 /root ext3 defaults 0 2" >>/etc/fstab;
   # LVM /tmp
   lvcreate -L 512M -n lv2 vg0
   mkfs -t ext3 /dev/vg0/lv2
   mkdir /mnt/tmp
   mount -t ext3 /dev/vg0/lv2 /mnt/tmp
   cp -Rav /tmp/. /mnt/tmp
   umount /dev/vg0/lv2
   mv -v /tmp /mnt/
   mkdir /tmp
   mount -t ext3 /dev/vg0/lv2 /tmp
   echo "/dev/vg0/lv2 /tmp ext3 defaults 0 2" >>/etc/fstab;
   # LVM /usr
   lvcreate -L 10G -n lv3 vg0
   mkfs -t ext3 /dev/vg0/lv3
   mkdir /mnt/usr
   mount -t ext3 /dev/vg0/lv3 /mnt/usr
   cp -Rav /usr/. /mnt/usr
   umount /dev/vg0/lv3
   mv -v /usr /mnt/
   mkdir /usr
   mount -t ext3 /dev/vg0/lv3 /usr
   echo "/dev/vg0/lv3 /usr ext3 defaults 0 2" >>/etc/fstab;
   # LVM /var
   lvcreate -L 12G -n lv4 vg0
   mkfs -t ext3 /dev/vg0/lv4
   mkdir /mnt/var
   mount -t ext3 /dev/vg0/lv4 /mnt/var
   cp -Rav /var/. /mnt/var
   umount /dev/vg0/lv4
   mv -v /var /mnt/
   mkdir /var
   mount -t ext3 /dev/vg0/lv4 /var
   echo "/dev/vg0/lv4 /var ext3 defaults 0 2" >>/etc/fstab;
   # LVM /var/log
   lvcreate -L 1G -n lv6 vg0
   mkfs -t ext3 /dev/vg0/lv6
   mkdir /mnt/log
   mount -t ext3 /dev/vg0/lv6 /mnt/log
   cp -Rav /var/log/. /mnt/log
   umount /dev/vg0/lv6
   mount -t ext3 /dev/vg0/lv6 /var/log
   echo "/dev/vg0/lv6 /var/log ext3 defaults 0 2" >>/etc/fstab;

On affiche nos nouvelles partitions lvm et on supprime ce dont on a plus besoin, deuxième reboot :

   # LVMs
   vgdisplay -v vg0; lvscan
   rm -Rf /mnt/*
   reboot

Notre dom0 a maintenant son installation de base sur les lvm, On donne la priorité aux paquets stables & on ajoute les repos backports sans les sources :

   #
   # ssh <host>
   sudo su root
   ##
   echo "# lenny
   deb ftp://ftp.fr.debian.org/debian/ lenny main
   #deb-src ftp://ftp.fr.debian.org/debian/ lenny main
   # lenny/updates
   deb http://security.debian.org/ lenny/updates main
   #deb-src http://security.debian.org/ lenny/updates main
   # lenny/volatile
   deb http://volatile.debian.org/debian-volatile/ lenny/volatile main
   #deb-src http://volatile.debian.org/debian-volatile/ lenny/volatile main
   # gplhost
   # wget -q ftp://ftp.gplhost.fr/debian/repository_key.asc -O - | apt-key add -
   deb ftp://ftp.gplhost.fr/debian lenny main
   #deb-src ftp://ftp.gplhost.fr/debian lenny main
   # Lenny backports
   deb http://www.backports.org/debian lenny-backports main
   #deb-src http://www.backports.org/debian lenny-backports main
   #" >/etc/apt/sources.list[/code]

On met à jour la liste des paquets

   apt-get update
   apt-get install debian-backports-keyring gplhost-archive-keyring
   apt-get update

Enfin on installe XEN selon vos gouts

Depuis un backport Lenny :

   apt-get install build-essential devscripts quilt graphviz
   dget http://ftp.de.debian.org/debian/pool/main/x/xen/xen_4.0.0-2.dsc(approve sites)
   dpkg-source -x xen_4.0.0-2.dsc
   cd xen-4.0.0
   dpkg-buildpackage
   cd ..
   dget http://ftparchive.gplhost.com/debian/pool/lenny/main/x/xen-qemu-dm-4.0/xen-qemu-dm-4.0_4.0.0-1.dsc
   wget http://ftparchive.gplhost.com/debian/pool/lenny/main/x/xen-qemu-dm-4.0/xen-qemu-d-4.0_4.0.0-1_amd64.deb
   dpkg -i *.deb
   apt-get -f install
   update-grub

Depuis un sources.list sid (à vos risques) :

   apt-get install xen-hypervisor-4.0-amd64 xen-utils-4.0 xen-linux-system-2.6.32-5-xen-amd64

Ou depuis les sources (à vos risques):

   apt-get install bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools transfig tgif texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra texlive-fonts-recommended pciutils-dev mercurial build-essential make gcc libc6-dev zlib1g-dev python python-dev python-twisted libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev iasl libbz2-dev e2fslibs-dev git-core uuid-dev gcc-multilib
   cd /usr/src
   hg clone http://xenbits.xen.org/xen-4.0-testing.hg(approve sites)
   cd xen-4.0-testing.hg
   make -j8 xen
   make -j8 tools
   make -j8 stubdom
   make -j8 install-xen
   make -j8 install-tools
   make -j8 install-stubdom
   cd /usr/src/
   git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-xen
   cd linux-2.6-xen
   git checkout -b xen/stable-2.6.32.x origin/xen/stable-2.6.32.x
   chmod g-s /usr/src -R
   cp /boot/config* .config
   make oldconfig
   make menuconfig
   make bzImage
   make modules
   make modules_install
   make install
   depmod 2.6.32.x
   update-initramfs -c -k 2.6.32.x
   update-rc.d xend defaults 20 21
   update-rc.d xendomains defaults 21 20
   update-grub

Et on ajoute xenfs pour les version antérieures à xen 3.4 :

   echo "none            /proc/xen       xenfs   defaults        0       0" >>/etc/fstab

On config xen pour du routing ou du nat au lieu du bridging :

   #
   cp /etc/xen/xend-config.sxp /etc/xen/xend-config.sxp.safe;
   # Have the VNC listen on all interfaces
   sed -i "s/#(vnc-listen '127.0.0.1')/(vnc-listen '0.0.0.0')/" /etc/xen/xend-config.sxp;
   # Set a default pass
   gen_pass=`dd if=/dev/random bs=64 count=1 2>/dev/null | md5sum \ 
     | cut -d' ' -f1 | awk '{print substr($0,0,8)}'`
   sed -i "s/(vncpasswd '')/(vncpasswd '${gen_pass}')/" /etc/xen/xend-config.sxp
   # Increase the default dom0 min mem
   sed -i "s/(dom0-min-mem 196)/(dom0-min-mem 384)/" /etc/xen/xend-config.sxp;
   # Set network-route and add anti-spoof to Xend
   sed -i "s/(network-script network-bridge)/#(network-script network-bridge)/" /etc/xen/xend-config.sxp;
   sed -i "s/(vif-script vif-bridge)/#(vif-script vif-bridge)/" /etc/xen/xend-config.sxp

Ici pour du routing si vous avez des ip supplémentaires :

   sed -i "s/#(network-script network-route)/(network-script network-route)/" /etc/xen/xend-config.sxp;
   sed -i "s/#(vif-script     vif-route)/(vif-script vif-route)/" /etc/xen/xend-config.sxp;
   # Xen Auto
   mkdir /etc/xen/auto;
   #
   # Reboot
   reboot

Au 3ème reboot vous avez xen en marche :

   xm list

Truc en plus, installer de quoi gérer tout ça, exemple avec dtc-xen :

   apt-get install dtc-xen
   /usr/sbin/dtc-xen_finish_install
   /etc/init.d/ssh restart

Ou depuis git (a vos propres risques) :

   apt-get install git-core curl debhelper po-debconf gettext fakeroot build-essential 
   cd /usr/src
   git clone http://git.gplhost.com/dtc-xen-ping-all-ips.git
   cd dtc-xen-ping-all-ips
   dpkg-buildpackage
   cd ..
   git clone http://git.gplhost.com/dtc-xen.git
   cd dtc-xen/; dpkg-buildpackage
   cd ..
   dpkg -i dtc-xen*.deb
   apt-get -f install
   /usr/sbin/dtc-xen_finish_install
   /etc/init.d/ssh restart

et on installe notre premier VPS avec 10G de dd et 1G de ram, en prenant soin de remplacer les bonnes valeurs -pass, ip, gateway, etc...

   # DTC Panel 01
   dtc_setup_vps_disk 01 10240 1024 lvm
   dtc_reinstall_os -v -vpsid 01 -ram 1024 -nic 88.aaa.bbb.ccc,255.255.255.0,88.aaa.bbb.255 \ 
     -pass wazzzzzaaa -os debian-dtc -gw 88.aaa.bbb.1 -dns 8.8.8.8 \ 
     --virt-type xen --disk-type lvm
   xm create -c /etc/xen/xen01

Connectez vous à votre nouveau panel et approvisionnez des ip pour vos vps, ip ssl etc... Les vps suivants peuvent se faire depuis le panel de votre premier vps, et en installant d'autres dom0 sous xen4 la migration des domU pour de la haute disponnibilité entre les dom0 se fait en Live ;)

Pour arriver à un howto perfect merci de partager vos retours sur ce wiki et d'en débatre sur ce post francophone : http://dedibox-news.com/viewtopic.php?pid=61736(approve sites)

Ou sur le forum officiel anglophone.

D'avance merci @ tous pour tous ;)

Editing this page means accepting its license.

Page last modified on June 24, 2010, at 08:30 PM EST