« Proxmox et OpenVZ » : différence entre les versions
Ligne 206 : | Ligne 206 : | ||
address 192.168.0.1 | address 192.168.0.1 | ||
netmask 255.255.255.0 | netmask 255.255.255.0 | ||
bridge_ports | bridge_ports dummy0 | ||
bridge_stp off | bridge_stp off | ||
bridge_fd 0 | bridge_fd 0 |
Version du 6 juin 2011 à 16:30
Partitionnement du disque dur
Pour commencer, partitionnez votre disque. Faites une partition / de 15Go, un swap, et enfin, une partition LVM2 avec l'espace restant.
Créez les systèmes de fichiers pour les partitions / et swap :
mkswap /dev/sda2 mkfs.ext3 /dev/sda1
Nous allons maintenant créer notre architecture LVM puis le système de fichier de la dernière partition.
Pour commencer, créez le volume physique :
$ pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created
Créez ensuite le groupe pve
:
$ vgcreate pve /dev/sda3 Volume group "pve" successfully created
Vous pouvez vérifier les informations du groupe avec la commande vgdisplay
:
$ vgdisplay -v pve Using volume group(s) on command line Finding volume group "pve" --- Volume group --- VG Name pve System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 215.09 GB PE Size 4.00 MB Total PE 55064 Alloc PE / Size 0 / 0 Free PE / Size 55064 / 215.09 GB VG UUID AenAEU-jdG2-RUh1-4khe-R990-MInR-cdRIe0 --- Physical volumes --- PV Name /dev/sda3 PV UUID CsIxAk-xa18-1W2q-jm1Y-fVqg-VSnW-KMaXvx PV Status allocatable Total PE / Free PE 55064 / 55064
Nous pouvons maintenant créer le volume logique data
dans le groupe pve
.
Notez que la commande vgdisplay nous a permit d'identifier la dimension du volume (Total PE
) que nous préciseront via l'argument -l
:
$ lvcreate -l55064 -n data pve Logical volume "data" created
Vous pouvez vérifier les informations du volume avec la commande lvdisplay
:
$ lvdisplay -v /dev/pve/data Using logical volume(s) on command line --- Logical volume --- LV Name /dev/pve/data VG Name pve LV UUID KlFCb8-yE7K-NYCN-RNnN-LEV3-maIw-mDtZZq LV Write Access read/write LV Status available # open 0 LV Size 215.09 GB Current LE 55064 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0
Enfin, créez le système de fichier dans votre volume logique :
mkfs.ext3 /dev/pve/data
Installation du système de base
$ mount /dev/sda1 /mnt $ debootstrap --arch=amd64 lenny /mnt ... I: Base system installed successfully.
Configuration de debian et installation de proxmox
Afin d'avoir accès au réseau et au matériel, montez /proc, /dev et /sys dans votre nouveau système puis chrootez y:
mount -o bind /proc /mnt/proc mount -o bind /dev /mnt/dev mount -o bind /sys /mnt/sys chroot /mnt
Modifiez le fichier sysctl.conf
afin de permettre le forwarding ipv4 :
net.ipv4.ip_forward=1
Mettez les paquets à jour, puis installez les locales :
aptitude update aptitude safe-upgrade aptitude install locales dpkg-reconfigure locales aptitude install console-data dpkg-reconfigure console-data # from arch > french > latin9)
Ajoutez le dépot proxmox dans le fichier /etc/apt/source.list
:
# PVE packages provided by proxmox.com deb ftp://download.proxmox.com/debian lenny pve
Ajoutez la clé du dépôt proxmox :
wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add - aptitude update
Pour profiter d'openVZ
, installez le kernel 2.6.32* :
aptitude install pve-kernel-2.6.32-4-pve
Si vous n'aviez pas grub d'installé :
mkdir /boot/grub grub-install /dev/sda
Créez et configurez le fichier /boot/grub/menu.lst
. Il devrait ressembler à ceci :
timeout 10 default 0 title proxmox root (hd0,0) kernel /boot/vmlinuz-2.6.32-4-pve root=/dev/sda1 read-only initrd /boot/initrd.img-2.6.32-4-pve
Installez les headers du kernel (optionnel) :
aptitude install pve-headers-2.6.32-4-pve
Mettez votre serveur sur la bonne timezone :
tzselect dpkg-reconfigure tzdata
Pensez à installer openssh puis à modifier le password root
aptitude install openssh-server passwd
Enfin, installez ntp, lvm2 ainsi que l'interface de proxmox :
aptitude install proxmox-ve-2.6.32 ntp lvm2
Pour simplifier l'administration, créez un lien virtuel de /vz vers /var/lib/vz :
ln -s /var/lib/vz /vz
Configuration réseau de proxmox
Ajoutez les lignes suivantes dans le fichier /etc/network/interfaces
:
# network interface settings auto lo iface lo inet loopback iface eth0 inet manual auto vmbr0 iface vmbr0 inet static address 91.121.141.220 netmask 255.255.255.0 gateway 91.121.141.254 broadcast 91.121.141.255 bridge_ports eth0 bridge_stp off bridge_fd 0 network 91.121.141.0 post-up ifconfig vmbr0 inet6 add 2001:41d0:1:bcdc::220/64 pre-down ifconfig vmbr0 inet6 del 2001:41d0:1:bcdc::220/64 auto vmbr1 iface vmbr1 inet static address 192.168.0.1 netmask 255.255.255.0 bridge_ports dummy0 bridge_stp off bridge_fd 0 post-up /etc/pve/kvm-networking.sh
Utiliser son propre certificat ssl pour l'interface web
Je vous renvoi sur http://wiki.csnu.org/index.php?title=Installation_et_configuration_de_OpenSSL pour la mise en place d'une autorité de certification. Dans l'exemple suivant, je créé un certificat proxmox et le signe avec l'autorité onyx_ca :
openssl req -newkey rsa:2048 -keyout proxmox.key -out proxmox.req openssl ca -name onyx_ca -extensions PROXMOX -in proxmox.req -out proxmox.pem
mkdir /etc/apache2/ssl/ mv proxmox.* /etc/apache2/ssl/ cat /etc/ssl/root_ca/root_ca.pem /etc/ssl/onyx_ca/onyx_ca.pem > /etc/apache2/ssl/cachain.pem
Modifiez le fichier /etc/apache2/sites-enabled/pve.conf
comme suit :
<VirtualHost *:443> SSLEngine on SSLProtocol all -SSLv2 #SSLCertificateFile /etc/pve/pve-ssl.pem #SSLCertificateKeyFile /etc/pve/pve-ssl.key SSLCertificateFile /etc/apache2/ssl/proxmox.pem SSLCertificateKeyFile /etc/apache2/ssl/proxmox.key SSLCertificateChainFile /etc/apache2/ssl/cachain.pem RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] </VirtualHost>
Ajouter des templates manuellement
Il suffit de télécharger directement les archives dans /var/lib/vz/template/cache/
.
Vous pouvez trouver des templates sur http://download.proxmox.com/appliances/ et http://wiki.openvz.org/Download/template/precreated
Créer et configurer un VE Debian 6.0
Régénérer les clés ssh
rm -f /etc/ssh/ssh_host_* ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N '' ssh-keygen -f /etc/ssh/ssh_host_dsa_key -t dsa -N ''
Configuration réseau en veth
Configuration réseau en venet
Partager des fichiers d'un VE à un autre VE
OpenVZ, de part son architecture, permet de partager des fichiers d'un VE à un autre très facilement. Pour cela, connectez vous en ssh à votre host et utilisez la commande mount
:
mount --bind /vz/private/102/directory /vz/root/101/directory
Pour que ce partage reste actif même en cas de reboot créez le fichier /etc/vz/conf/101.mount
:
#!/bin/bash source /etc/vz/vz.conf source ${VE_CONFFILE} mount -n --bind /vz/private/102/directory /vz/root/101/directory
N'oubliez pas de rendre ce fichier executable :
chmod +x /etc/vz/conf/101.mount