Comment utiliser VboxManage pour gérer ses VM ?

Ayant récemment commencé à étudier l’exadata et me faire mon propre 1/4 rack (enfin presque!) sur mon portable avec Virtualbox, je me suis retrouvé à devoir créer les 18 disques que l’on trouve normalement dans une cellule de stockage: les 12 disques SAS ou SATA et les 6 disques de cache flash. Et, moi, je n’aime pas les tâches répétitives car au bout de la 5ème itération, environ, on se trompe et il faut tout recommencer. J’ai donc cherché à voir si on pouvait faire quelque chose en ligne de commande comme avec OracleVM par exemple, et j’ai trouvé VBoxManage.Les instructions qui suivent sont en Linux car je travaille actuellement sur une base d’Ubuntu 14.04, mais le binaire VBoxManage existe aussi pour la version Windows de Virtuabox.
L’ajout se fait en deux étapes:

  • la création du disque
  • son rattachement ou association à une VM

Créer le disque

Ou l’équivalent de sortir un disque physique de son emballage:

VBoxManage createhd --filename /vm/exacell02/exacell02DISK03.vdi --size 1024
  • createhd: l’ordre de création du disque
  • –filename: le chemin absolu et le nom du fichier représentant le disque souhaité
  • –size: la taille de notre disque en Mo, donc ici 1G (je n’ai pas tant de place que ça non plus…) mais le disque est créé en auto-extensible par défaut, donc n’occupera pas 1Gb tout de suite

Attacher le disque

Ou l’équivalent de brancher le disque dans le châssis:

VBoxManage storageattach exacell02 --storagectl SATA --type hdd --port 3 --device 0 --medium /vm/exacell02/exacell02DISK03.vdi
  • storageattach: on rattache le disque qui suit à la VM exacell02
  • –storagectl: le type de contrôleur qui doit exister déjà sur la VM, on aussi le choix entre IDE, SCSI, SAS, les majuscules semblent avoir de l’importance
  • –type: sera de type disque dur (hdd) on peut aussi faire DVD ou disquette…
  • –port: le port unique de chaque disque virtuel, ici je mets le même que le numéro du disque
  • –device: sur un port, il est possible brancher plusieurs disques, comme ici on ne met qu’un disque par port, ce paramètre serait optionnel
  • –medium: le chemin complet vers le fichier représentant le disque virtuel, tel qu’il a été créé plus haut

Et là il n’y a plus qu’à répéter la même commande 17 autres fois pour avoir les 18 disques.
Bon d’accord:

VM=exacell02
numDisks=18
inum=1
while [ $inum -le $numDisks ]
do
    i=`printf %02d $inum`
    echo "VBoxManage createhd --filename /vm/${VM}/${VM}DISK${i}.vdi --size 1024"
    echo "VBoxManage storageattach ${VM} --storagectl SATA --type hdd --port ${inum} --device 0 --medium /vm/${VM}/${VM}DISK${i}.vdi"
    let "inum=inum+1"
done

Reste après à créer des systèmes de fichiers sur ces disque, sauf dans mon cas ici, où ce sont les binaires Oracle qui ont prit la main pour en faire, au final, des disques ASM, mais là c’est une autre histoire.
Et sinon mon cluster tourne: 2 cellules de stockage et 2 nœuds de calcul sur un PC avec 16Gb RAM, Core i7 et disque SSD:

  • installation des binaires: 9′
  • les load average des cellules de stockage ont parfois atteint le 15+, sur un seul vcpu…
  • le dbca a donc pris plus d’une heure…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *