Il y a quelques semaines, j'ai décidé de changer la façon de gérer mes services. Après réflexion, la mise en place d'un serveur de virtualisation s'est imposé comme le meilleur choix pour y accueillir l’ensemble des serveurs dont j'ai et aurai besoin à l'avenir. Je ferai un article à ce sujet bientot. Ce serveur fonctionne donc sous Proxmox VE 3 dont vous trouverez une description sur le wiki de HomeServer-DIY. Détail auquel je n'avais pas pensé au départ: comment utiliser mes disques durs sur lesquels sont mes fichiers personnels sur un serveur virtualisé ? Proxmox propose une solution relativement simple, bien qu'un peu bancale.
Pour ce faire, il faut commencer par lister les disques durs physiques présents sur votre serveur. Donc on se connecte au serveur proxmox en SSH (pas à la VM, mais bien le serveur de virtualisation), et on lance un petit :
fdisk -l
Ce qui donne chez moi un gros pavé que j'ai raccourcis (un peu) pour garder un minimum de lisibilité:
Disk /dev/sda: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders, total 1250263728 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00099fe1
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1048575 523264 83 Linux
/dev/sda2 1048576 1250263039 624607232 8e Linux LVM
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000f101
Device Boot Start End Blocks Id System
/dev/sdb1 63 1953520064 976760001 83 Linux
Disk /dev/sdc: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc50a76a3
Device Boot Start End Blocks Id System
/dev/sdc1 63 3907024064 1953512001 83 Linux
On y voit 2 disques en plus du disque sur lequel proxmox est installé: /dev/sdb et /dev/sdc, et la présence de partition sur chacun d'eux /dev/sdb1 et /dev/sdd1.
Pour dédier ces disques à une VM, une simple ligne de commande suffit. Toujours en ssh:
qm set 104 -ide1 /dev/sdb
Les variables de cette commandes sont relativement simples:
104 est l'id de la VM
- -ide1 est le numéro de port IDE sur lequel la VM verra le disque branché. Sur proxmox les ports IDE vont de 0 à 4 (ide0, etc) J'ai aussi testé avec succès l'attribution d'un port sata via la variable -sata0.
- /dev/sdb est l'emplacement du disque physique sur votre serveur. J'ai réussi le montage d'une partition sur une VM en remplaçant /dev/sdb par /dev/sdb1.
Une fois votre commande entrée votre disque dur physique sera attribué à votre VM à son prochain démarrage. Cette attribution est persistante, pas besoin de recommencer la manip. Il est par contre nécessaire d'arrêter complètement la VM pour que ce soit pris en compte.
J'ai dit en introduction que cette solution est bancale. En effet, si la première attribution d'un disque sur le port ide1 n'a poser aucun soucis, je n'ai pas réussi ensuite à faire pareil pour un deuxième disque sur le port ide2 ou un autre. J'avais systématiquement le message:
unable to change media type
La seule solution que j'ai trouvée a été d'attribuer ce deuxième disque à un port sata par la variable -sata0. D'autres on ce même problème d’après mes rapides recherches, mais je n'ai pas eu le temps d'approfondir la question.