Partitionner avec LVM un serveur kimsufi OVH
Rédigé par Marc GUILLAUME | 2 commentairesInstallation de Debian 6.0 Squeeze sur serveur OVH Kimsufi avec LVM
Édition du 23 juillet 2014
Les interfaces de gestion OVH ont changé, et en particulier celles des serveurs kimsufi. De ce fait ce guide est en partie obsolète quant à l'organisation des écrans OVH, mais reste valable pour ce qui est de la logique.
LVM (pour Logical Volume Manager) est un outils permettant, entre autre, de créer des partitions logiques pouvant se répartir sur plusieurs supports physiques, réaliser des snapshots des données, et ce qui nous intéresse ici particulièrement de redimensionner les partitions en fonction des besoins ce qui n'est pas possible avec le partitionnement traditionnel. Pour son utilisation sous l'aspect redimensionnement, vous pouvez consulter mon article sur la gestion de LVM.
Caractéristiques du matériel utilisé
Il existe actuellement une offre de serveurs dédiés à petit prix (à la date actuelle, février 2013, autour de 12 euros TTC par mois en prix d'entrée, serveurs kimsufi chez OVH, dedibox chez Free et sans doute d'autres hébergeurs offrent-ils des services similaires). Ils permettent d'avoir complètement la main sur une machine située dans un data-center connectée à Internet avec un débit et une bande passante corrects. Vous pouvez installer ces machines comme bon vous semble et les paramétrer dans les moindres détails. C'est une bonne façon de se faire la main à l'administration de machine dans des conditions réelles d'exploitation, mais aussi la possibilité pour une PME de bénéficier de la liberté incomparable qu'offre un serveur dédié, tout cela pour un budget raisonnable.
Nous allons dans ce document aborder la réinstallation du système Debian 6.0 avec un partitionnement LVM
sur serveur de la gamme kimsufi proposée par l'hébergeur OVH, dont voici les caractéristiques :
- Processeur : Intel Celeron/Atom à 1.2+ GHz
- Architecture : 64 bits
- Connection réseau : FastEthernet
- Mémoire vive : 2Go
- Capacité disque : 1 disque de 500 Go
- Connexion réseau : 100 Mbps
- IP externe : 1
Il s'agit d'une machine très standard, mais offrant déjà de nombreuses possibilités.
Édition du 24 août 2018
La version stable de Debian n'est plus depuis longtemps la 6.0 Squeeze, mais cela ne change pas la procédure de partitionnement d'un kimsufi. Par contre les offres on nettement évolué et les prix ont beaucoup baissé, ce qui permet de se lancer avec un budget réellement très réduit.
Les choix d'installation
Usages envisagés
L'insallation d'un serveur suppose de nombreux choix qui dépendent pour partie du matériel et pour partie de l'usage envisagé pour ce serveur.
L'installation de cette machine correspond à mes besoins et est aussi très standard, les services installés sont sans doute parmi les plus courants utilisés sur un réseau :
- Serveur de Mail hébergeant quelques domaines et quelques dizaines d'adresses par domaine
- Serveur Web pour plusieurs domaines, et devant pouvoir utiliser des bases de données
- Serveur MySQL local et éventuellement partagé en réseau.
- Serveur FTP pour un dépôt d'archives en FTP anonyme et un accès FTP pour les sites web et quelques utilisateurs particuliers
- Serveur de sauvegarde de secours pour d'autres serveurs
Suite à cette installation qui a servi de test, ces services ont rapidement été répartis sur deux machines semblables, la première ayant conservé le Web et MySQL et la nouvelle ayant récupéré le FTP anonyme, les répertoires FTP utilisateurs et le mail (mon serveur ftp est peu utilisé). La sauvegarde est restée provisoirement sur la première machine mais devra rapidement migrer vers une troisième machine et à terme le serveur de mail sera certainement seul sur une machine un peu plus puissante (il est souhaitable que le serveur de courrier soit une machine à part entière, surtout si vous filtrez les virus et le spam ce qui est très gourmand en ressources machine).
Cette séparation évite de surcharger les machines, et évite aussi qu'un service en panne n'impacte toute la machine et donc les autres services. Le faible prix de location de ces machines permet à une petite entreprise de disposer de plusieurs serveurs à des tarifs dérisoires par rapport aux offres classiques du marché. Et ma grand-mère m'a appris qu'il ne fallait jamais mettre tous ses oeufs dans le même panier !
Logiciels sélectionnés
Voici pour les usages envisagés, les logiciels sélectionnés, qui pourront influer sur la préparation de la machine :
Le système d'exploitation
- N'utilisant pas les systèmes de marque Microsoft il me fallait un Unix-like libre (GNU/Linux, FreeBSD, OpenBSD). Dans cette catégorie OVH propose toute une série de distributions GNU/Linux et FreeBSD (pas d'Open BSD). Mon serveur étant destiné à passer rapidement en production, il me fallait un OS que je maîtrise à peu-près bien. Étant un utilisateur de Debian GNU/Linux depuis quelques années déjà j'ai installé l'actuelle version stable de Debian qui est pour encore quelques mois Debian 6.0 Squeeze.
Logiciels SMTP POP IMAP pour le courrier électronique
-
- Postfix : un mta de bonne qualité que je connais un peu.
- Dovecot : Un client IMAP qui collabore bien avec Postfix.
- MySQL : une base de données relationnelle libre qui peut-être couplée avec Postfix et Dovecot et qui est également utilisée par de nombreux logiciels de gestion de contenu internet et est assez inévitable.
Serveur WEB, langage de script
-
- Apache : serveur web très classique.
- Php : langage de script pour créer des pages web dynamiques.
- MySQL : base de données déjà utilisée avec Postfix.
Serveur FTP
-
- VSFTPD : Un serveur FTP léger et sécurisé qui permet d'offrir un accès FTP anonyme et des accès chrootés pour des utilisateurs virtuels.
Sécurisation
- La sécurisation d'un serveur en ligne est une discipline en soi, et un travail à plein temps. Mais tout administrateur doit a minima prendre des précautions élémentaires pour rendre la vie des aspirants pirates la plus difficile possible. Quelques logiciels permettent d'améliorer la sécurité de votre machine.
- Fail2ban : un daemon qui permet de bloquer les IP d'attaquants pour une durée paramètrable, évitant la saturation par des robots essayant d'entrer dans votre machine.
- Chckrootkit : un petit script permettant de trouver des logiciels malveillants installés sur votre machine.
- Script Iptables : permettant la configuration d'un firewall.
- logcheck : un outil d'analyse de logs qui envoie un mail pour signaler ce qu'il considère comme des anomalies dans les fichiers de log.
Marche à suivre
Installation manuelle du système pour repartitionnement et utilisation de LVM
Lors de la commande d'un serveur kimsufi OVH réalise une installation par défaut d'un système d'exploitation (à choisir dans une liste fournie). Cette installation par défaut n'est pas adaptée à un usage de serveur de production. Elle ne comporte qu'un répertoire racine /
, un swap
et un répertoire /home
qui occupe tout le reste du disque. C'est davantage un partitionnement de poste de travail que de serveur. Il faut donc repartitionner (et donc réinstaller le système) pour l'adapter à nos besoins.
Nous voulons utiliser notre serveur en tant que serveur de courrier et serveur web. Il faut donc au minimum, pour pouvoir effectuer des mises à jour et des sauvegardes sans problèmes, mettre les partitions /var/vmail
, /var/lib/mysql
et /var/www
sur des partitions indépendantes. Pour cela il faut repartitionner le disque et cela demande une réinstallation du système.
L'installation du nouveau système se fait par le « manager », l'interface web proposée par OVH. Une fois connecté à l'espace administration cliquer sur serveurs dédiés > Services
. Là choisir réinstaller / changer d'OS
.
La (ré)installation se fait en trois étapes :
- Choix de l'OS, de la distribution, de sa version et de la langue d'installation.
- Partitionnement du disque.
- Lancement de l'installation
Choix de l'OS, de la distribution, de la version et de la langue
L'installation va se faire sous GNU/Linux.
Les machines utilisées en kimsufi sont des machines en 64 bits. Les applications serveur 64 bits fonctionnent parfaitement donc nous allons choisir une distribution Debian GNU/Linux dans l'actuelle version stable qui est la 6.0 nom de code Squeeze.
Pour la langue nous allons laisser l'option par défaut qui est anglais
. Ce choix n'est pas guidé par le snobisme mais par une raison très pratique. Une distribution installée en anglais générera des informations de log en anglais et en cas de problème en recherchant sur un moteur de recherche un message d'erreur anglais on obtient infiniment plus de réponses qu'avec un message dans une autre langue. Donc même si votre niveau d'anglais est moyen, installez la distribution en anglais.
Nous arrivons à l'étape suivante qui est réellement l'étape clé de notre installation : le choix du partitionnement.
Le partitionnement
Il faut choisir le « partitionnement personnalisé », car si vous utilisez une des deux autres options vous retomberez sur le partitionnement par défaut fait lors de l'installation, l'opération n'aurait aucun intérêt.
Vous arrivez ensuite à l'écran de choix des partitons. Par rapport à un outil classique de partitionnement comme fdisck les options sont très simplifiées et OVH impose quelques limitations.
Pour des raisons historiques on ne peut créer sur un disque dur que quatre partitions primaires au plus. Si l'on veut davantage de partitions il faut utiliser une des partitions primaires pour la diviser en partitions logiques. C'est donc la méthode tout à fait classique qui est proposée par l'interface d'installation. Mais, beaucoup plus intéressante, il existe une option LVM
. Nous allons utiliser LVM
pour installer les répertoires dont le contenu, sur un serveur, peut être amené à grossir considérablement. Ces répertoires clés sont les suivants :
/var/vmail
: le répertoire où seront placés les mails reçus par les utilisateurs du serveur./var/lib/mysql
: le répertoire contenant la ou les bases MySQL./var/log
: le répertoire de log qui peut en cas de problème arriver à saturer un disque dur (bien que ceci soit moins vrai à notre époque où les disques font plusieurs centaines de Go)./var/www
: le répertoire destiné à recevoir les fichiers des sites web.- Éventuellement
/tmp
qui est le répertoire dans lequel sont analysés les mails par les anti-spam et anti-virus. Si le serveur de courrier est chargé il peut être bon de pouvoir lui donner de la place. - Même si son utilité est réduite sur un serveur on peut mettre
/home
sur un volume LVM, cela pourra permettre de réduire sa taille si il est trop grand.
Parmi les contraintes OVH on ne peut monter «
/
» sur un volume LVM. Il faudra donc créer quelques partitions classiques avant de pouvoir créer un volume «LVM
». Mais le disque étant grand cela ne pose pas de gros problèmes. De même il faut créer une partition «/boot
» et «/
» avant de pouvoir utiliser «LVM
» et avoir créé une partition « swap » pour pouvoir lancer le partitionnement (ce qui est tout à fait logique).
Comme nous avons droit à quatre partitions primaires et que nous n'allons pas utiliser de partition logique, mais LVM, Le plan de partitionnement retenu est le suivant :
/boot
est créé sur une partition primaire avec une taille de 500 Mo, système de fichier ext3/
est créé sur une partition primaire avec une taille de 4 à 6 Go, système de fichier ext3SWAP
est créé sur une partition primaire avec une taille de 2 Go/var/vmail
créée sur un volume logique LVMlvmail
avec une taille de 3 Go, système de fichier ext4/var/lib/mysql
créée sur un volume logique LVMlvmysql
avec une taille de 3 Go, système de fichier ext4/var/www
créée sur un volume logique LVMlvweb
avec une taille de 2 Go, système de fichier ext4/var/log
créée sur un volume logique LVMlvlog
avec une taille de 3 Go, système de fichier ext3/home
créée sur un volume logique LVMlvhome
avec une taille de 2 Go, système de fichier ext3/opt
créée sur un volume logique LVMlvopt
avec une taille de 3Go, système de fichier ext3/srv/ftp
créée sur un volume logique LVMlvftp
avec une taille de 3 Go, système de fichier ext3/tmp
créée sur un volume logique LVMlvtmp
avec une taille de 2Go, système ext3
Remarques sur ces choix de partitionnement
Pour avoir accès à LVM dans le menu déroulant de type de partition il faut déjà que le répertoire racine (
/
) soit installé. Au début deux points de montage sont proposés :/
etboot
. J'ai lu que l'on pouvait installer/boot
sur un volume LVM, mais je n'ai jamais tenté cette opération donc j'installe/boot
sur sa propre partition primaire, ce qui permettra en plus de la monter en lecture seule.Malgré cette précaution l'interface OVH ne permet pas d'installer la racine sur LVM. Il faut donc créer une partition racine sur une partition primaire, le swap sur une partition primaire également avant de créer les partitions LVM. L'interface ne permet pas de choisir d'offset d'installation, on peut penser que les partitions seront à la suite les unes des autres dans leur ordre de création.
Voici le résumé de la situation, partitions primaires, puis volumes LVM dans la dernière partition primaire :
- La partition
/boot
- Elle doit faire au moins 100Mo, 500Mo est sans doute un peu surdimentionné, mais nous avons de la place.
- La partition racine
/
- Le choix de la taille de la partition racine, qui n'est pas sur LVM et est donc difficilement redimentionnable, doit permettre de stocker toutes les applications dans
/usr
; les fichiers de configuration dans/etc
. Tous les gros consommateurs d'espace disque comme les logs, les mails,la base de données, les sites web ou les espaces utilisateurs devant être « externalisés » sur des partitions LVM, une taille entre 4 et 6 Go me paraît être raisonnable (on pourrait certainement se contenter d'un peu moins). - La partition
SWAP
- La machine dispose de 2 Go de mémoire. J'ai installé un swap égal à la mémoire, donc de 2 Go. C'est sans doute trop pour une machine moderne, 1 Go suffirait certainement.
- Partitions LVM
- Elles sont toutes créées avec une taille réduite, puisque grâce à LVM on pourra les agrandir à la demande pour coller aux besoins. Les systèmes de fichier proposés sont :
- ext3
- ext4
- reiserfs
- btrfs
- swap
ext3
pour les partitons utilisateur ou plus liées au système etext4
pour les mails, web et mysql. C'est assez arbitraire car chacun de ces systèmes a ses défauts (et principalement celui de demander au redémarrage une vérification de disque qui peut être très longue sur de gros disques). J'ai écartéreiserfs
car son avenir me semble incertain, etbtrfs
qui est un peu expérimental pour une machine en production.
L'installation sur le disque
La phase d'installation est totalement automatisée et il suffit de regarder le joli tableau affichant la progression de l'installation, une fois que c'est lancé on ne peut plus rien faire d'autre. Ou plutôt si, ça peut être l'occasion de commencer à lire ma page sur la gestion de LVM pendant que ça s'installe ! ;-)