gestion multi disque #32

Closed
opened 2026-05-23 20:51:24 +00:00 by nicolas.boufideline · 1 comment

il faut implementer une gestion multi disque, l'api la gere deja il faut le faire coter dispatcher et gestion qemu

vda en virtio blk-pci

    -drive file=${disk_dir}/${os}-tmp.qcow2,format=qcow2,if=none,id=vda \
    -device virtio-blk-pci,drive=vda,bootindex=0 \

les disque en sd quelque chose en virtio-scsi-pci

    -device virtio-scsi-pci,id=scsi0 \

    -drive file=${disk_dir}/${os}-root.qcow2,if=none,id=hd0 \
    -device scsi-hd,drive=hd0,bus=scsi0.0 \
il faut implementer une gestion multi disque, l'api la gere deja il faut le faire coter dispatcher et gestion qemu vda en virtio blk-pci ``` -drive file=${disk_dir}/${os}-tmp.qcow2,format=qcow2,if=none,id=vda \ -device virtio-blk-pci,drive=vda,bootindex=0 \ ``` les disque en sd quelque chose en virtio-scsi-pci ``` -device virtio-scsi-pci,id=scsi0 \ -drive file=${disk_dir}/${os}-root.qcow2,if=none,id=hd0 \ -device scsi-hd,drive=hd0,bus=scsi0.0 \ ```
Author
Owner

Livré.

Changement de schéma KV — vm/<name>/volume_path remplacé par vm/<name>/disk/<dev> → <path>. C'est ce motif « une clé par élément » qui a servi de modèle aux documents cloud-init (#34).

Génération des arguments QEMU

  • -device virtio-scsi-pci,id=scsi0 ajouté seulement si au moins un dev commence par sd
  • sd* → -drive if=none,id=<dev> + -device scsi-hd,bus=scsi0.0,scsi-id=<int(dev[2]-'a')>
  • vd* → -drive if=virtio,id=<dev>

Le scsi-id est dérivé de la lettre (a→0, b→1, …) plutôt que de la position dans la liste : le nommage reste stable dans le guest même si des slots sont vides au démarrage, ce qui laisse la porte ouverte au hotplug par QMP.

Les disques sont triés par Dev avant génération, pour que la ligne de commande reste lisible dans les logs.

Invariant confirmé sur lab1 : un seul disque vdX par VM, les autres en sdX (cf. #36 pour la carte PCI qui en dépend).

Livré. **Changement de schéma KV** — `vm/<name>/volume_path` remplacé par `vm/<name>/disk/<dev>` → `<path>`. C'est ce motif « une clé par élément » qui a servi de modèle aux documents cloud-init (#34). **Génération des arguments QEMU** - `-device virtio-scsi-pci,id=scsi0` ajouté **seulement** si au moins un `dev` commence par `sd` - `sd*` → `-drive if=none,id=<dev>` + `-device scsi-hd,bus=scsi0.0,scsi-id=<int(dev[2]-'a')>` - `vd*` → `-drive if=virtio,id=<dev>` Le `scsi-id` est **dérivé de la lettre** (`a`→0, `b`→1, …) plutôt que de la position dans la liste : le nommage reste stable dans le guest même si des slots sont vides au démarrage, ce qui laisse la porte ouverte au hotplug par QMP. Les disques sont triés par `Dev` avant génération, pour que la ligne de commande reste lisible dans les logs. **Invariant** confirmé sur lab1 : un seul disque `vdX` par VM, les autres en `sdX` (cf. #36 pour la carte PCI qui en dépend).
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
syonad/two#32
No description provided.