Proxmox et KVM
Prérequis
Ce tutoriel se base sur l'utilisation de debootstrap pour installer une base de système d'exploitation debian. La plupart des hébergeurs proposent un système de "rescue" permettant l'installation de debian par ce moyen. Si vous ne disposez pas de mode rescue, vous pouvez toujours utiliser l'installeur proposé par votre hébergeur, ou encore passer par un kvm pour installer vous même le système avec l'iso de debian.
Pour les débutants
Si vous êtes débutant en administration linux, je vous conseil de sauvegarder quelque part les fichier suivant issu d'une précédente installation de debian:
/etc/networks
/etc/network/interfaces
/etc/resolv.conf
/etc/hosts
/etc/fstab
/etc/mdadm/mdadm.conf
si vous disposez d'un raid logiciel- tout fichier de personnalisation de grub (
/etc/grub.d/06_OVHkernel
par exemple)
Partitionnement
Commencer par partitionner ainsi vos deux disques (avec fdisk ou cfdisk) :
- /dev/sd*1 200 Mo (/boot) (type de partition : FD)
- /dev/sd*2 15 Go (/) (type de partition : FD)
- /dev/sd*3 4096 Go (swap) (type de partition : 82)
- /dev/sd*4 partition étendue (invisible sous cfdisk)
- /dev/sd*5 20 Go (/var) (type de partition : FD)
- /dev/sd*6 reste de l'espace disque (lvm) (type de partition : FD)
Nous allons créer le RAID software (raid 1) :
- /dev/md0 regroupant /dev/sda1 et /dev/sdb1 (/boot)
- /dev/md1 regroupant /dev/sda2 et /dev/sdb2 (/)
- /dev/md2 regroupant /dev/sda5 et /dev/sdb5 (/var)
- /dev/md3 regroupant /dev/sda6 et /dev/sdb6 (lvm)
mdadm --create /dev/md0 --level=1 --assume-clean --raid-devices=2 /dev/sda1 /dev/sdb1 mdadm --create /dev/md1 --level=1 --assume-clean --raid-devices=2 /dev/sda2 /dev/sdb2 #sd*4 est la partition étendue mdadm --create /dev/md2 --level=1 --assume-clean --raid-devices=2 /dev/sda5 /dev/sdb5 mdadm --create /dev/md3 --level=1 --assume-clean --raid-devices=2 /dev/sda6 /dev/sdb6
Création des systèmes de fichiers
mkfs.ext3 /dev/md0 mkfs.ext3 /dev/md1 mkfs.ext3 /dev/md2 mkswap /dev/sda3 mkswap /dev/sdb3
Création du LVM
pvcreate /dev/md3 vgcreate main /dev/md3
Nous ne créerons pas de volume logique dans le LVM maintenant. Nous laisserons en effet proxmox et KVM se charger de créer des volumes logiques pour chaque VM.
Installation de proxmox
Installation du système de base
mount /dev/md1 /mnt mkdir /mnt/boot mkdir /mnt/var mount /dev/md0 /mnt/boot mount /dev/md2 /mnt/var
debootstrap --arch=amd64 lenny /mnt http://ftp.fr.debian.org/debian
Configuration de Debian
mount -o bind /proc /mnt/proc mount -o bind /dev /mnt/dev mount -o bind /sys /mnt/sys chroot /mnt
Editez le fichier /etc/apt/sources.list :
deb http://ftp.fr.debian.org/debian lenny main contrib non-free deb-src http://ftp.fr.debian.org/debian lenny main contrib non-free #Sec deb http://security.debian.org/ lenny/updates main contrib non-free deb-src http://security.debian.org/ lenny/updates main contrib non-free deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
Mettez à jour les paquets :
aptitude update aptitude safe-upgrade
Installez les locales et la configuration de console :
aptitude install locales dpkg-reconfigure locales aptitude install console-data dpkg-reconfigure console-data # from arch > french > latin9)
Définissez la zone horaire :
tzselect dpkg-reconfigure tzdata
Installez mdadm pour gérer le raid software :
aptitude install mdadm
Configurez votre /etc/fstab :
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/md1 / ext3 defaults,errors=remount-ro 0 1 /dev/md0 /boot ext3 defaults 0 2 /dev/sda3 none swap sw 0 0 /dev/sdb3 none swap sw 0 0 /dev/md2 /var ext3 defaults 0 2
/etc/network/interfaces :
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto vmbr0 iface vmbr0 inet static address <IP> netmask 255.255.255.0 gateway <GW> bridge_ports eth0 bridge_stp off bridge_fd 0
/etc/hosts :
127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters <IP> <hostname>
echo votrehostname > /etc/hostname echo votrehostname > /etc/mailname
N'oubliez pas de configurer les dns (ceux de votre hébergeur dédié) :
nameserver XX.XX.XX.XX
Installation de proxmox
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
aptitude install grub-pc grub-install /dev/sda grub-install /dev/sdb
http://pve.proxmox.com/wiki/Proxmox_VE_Kernel
Pour profiter d'openVZ, installez le kernel 2.6.32* :
aptitude install pve-kernel-2.6.32-4-pve update-grub
Sinon, installez le kernel pve-kernel-2.6.35-1-pve qui permet de profiter de KSM :
aptitude install pve-kernel-2.6.35-1-pve update-grub
Attention ! Vérifiez votre fichier /boot/grub/grub.cfg ! En particulier les directives menuentry update-grub avait configuré la ligne de boot suivante sur mon installation :
linux /vmlinuz-2.6.35-1-pve root=/dev/md/1 ro
a corriger en
linux /vmlinuz-2.6.35-1-pve root=/dev/md1 ro
Accesoirement installez les headers
aptitude install pve-headers-2.6.35-1-pve
aptitude install openssh-server passwd
Si vous avez installé le kernel pve-kernel-2.6.35-1-pve installez proxmox-ve-2.6.35. Sinon, adaptez en fonction de votre kernel.
aptitude install proxmox-ve-2.6.35 ntp lvm2
configuration réseau avancée
# network interface settings auto lo iface lo inet loopback iface eth0 inet manual auto vmbr0 iface vmbr0 inet static address <IP> netmask 255.255.255.0 gateway <GW> broadcast <ip>.255 bridge_ports eth0 bridge_stp off bridge_fd 0 network <ip>.0 post-up ifconfig vmbr0 inet6 add <ipv6>/64 pre-down ifconfig vmbr0 inet6 del <ipv6>/64 auto vmbr1 iface vmbr1 inet static address 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 bridge_ports dummy0 bridge_stp off bridge_fd 0 post-up /etc/pve/kvm-networking.sh
reboot et postinstallation
Rebootez votre serveur en mode normal :
reboot
Créez votre utilisateur :
adduser pfoo
Je vous conseil de commencer à sécuriser votre ssh :
- désactivez le login root (directive PermitRootLogin no dans
/etc/ssh/sshd_config
) - ajoutez la directive allowusers pfoo dans
/etc/ssh/sshd_config