Il est à noter que ça doit aussi marcher pour qemu avec un petit peu d'adaptation.

Pré-requis

  • un zpool avec de la place de disponible (appelé ici vbox)
  • un virtualbox qui foncionne

Préparation du disque

Règles devfs

Pour que les volumes puissent modifiés par virtualbox nous ferons appartenir les disques au groupe vbox mettrons les droits pour que celui-ci puissent les modifier.

dans le fichier /etc/devfs.rules :

[localrules=1]
add path 'zvol/vbox/*' mode 0660 group vbox

Du coup il faut ajouter la ligne suivante dans /etc/rc.conf

devfs_system_ruleset="localrules"

et pour la prise en compte :

# /etc/rc.d/devfs restart

Création du volume

# zfs create -V 5G vbox/melebian

le volume est maintenant créé, il ne reste plus qu'a l'ajouter dans le pool de disque VirtualBox :

# VBoxManage internalcommands createrawvmdk -filename melebian.vmdk -rawdisk /dev/zvol/vbox/melebian
# VBoxManage registerimage disk melebian.vmdk

Création de la VM

Création basique de la VM

ici nous créons une machine virtual avec le support des extensions VT-x et limitée a 256Mo de RAM

# VBoxManage createvm -name melebianVM -register
# VBoxManage modifyvm melebianVM -ostype debian -memory 256M
# VBoxManage modifyvm melebianVM --vtxvpid on

Ajout du nouveau disque

Tout d'abord on liste les disques disponibles pour récupérer l'identifiant :

# VBoxManage list hdds
UUID:         b6db4102-90fd-4073-ae61-c1c57556bb85
Format:       VMDK
Location:     /home/bapt/melebian.vmdk
Accessible:   yes

On ajoute ce disque à la VM :

# VBoxManage modifyvm melebianVM -hda b6db4102-90fd-4073-ae61-c1c57556bb85

On enregistre l'iso de l'installeur melebian

# VBoxManage registerimage dvd /home/bapt/Desktop/debian-501-i386-netinst.iso

On l'ajoute à la VM :

# VBoxManage list dvds

UUID:       b3329255-221a-4bb6-b1f4-be2d4bdc0f2f
Path:       /home/bapt/Desktop/debian-501-i386-netinst.iso
Accessible: yes
# VBoxManage modifyvm melebianVM -dvd b3329255-221a-4bb6-b1f4-be2d4bdc0f2f -boot1 dvd

Il n'y a plus qu'à démarrer la VM :

# VBoxManage startvm melebianVM --type sdl

pour l'installation on utilise sdl pour avoir un affichage, pour la suite un simple –type headless suffira.

Conversion d'un disque vdi en zvol

Il faut d'abord avoir créé le volume zfs et le fichier vmdk associé (cf. ci-dessus).

Cloner le disque

# VBoxManage clonehd melebian.vdi melebian.vmdk --existing

Associer le nouveau disque

# VBoxManage modifyvm melebianVM -hda melebian.vmdk

Nettoyage

La VM est prête a démarrer sur le nouveau disque, il ne reste plus qu'à supprimer le vieux vdi :

# VBoxManage unregisterimage ./melebian.vdi
# rm ./melebian.vdi
freebsd/utiliser_les_volumes_zfs_pour_les_disques_virtualbox.txt · Last modified: 2010/01/12 13:29 (external edit)