Files

76 lines
2.2 KiB
Markdown

# L'infra avancée :
## Exercice 1
### Lancer une machine
`qemu-img create -f qcow2 'C:\Program Files\qemu\testVM.qcow2' 10G`
`qemu-system-x86_64 -m 2048 -hda 'C:\_VMs\testVM.qcow2' -cdrom 'D:\Users\GaWin\Downloads\_Compressed\debian-13.1.0-amd64-netinst.iso' -boot d`
Pour lancer une machine depuis le disque :
`qemu-system-x86_64 -m 4096 -smp 4 -hda 'C:\_VMs\testVM.qcow2' -boot c`
- -boot d : Boot sur le CD/ROM
- -boot c : Boot sur le Disque Dur
- m XXXX : Alloue une mémoire RAM fixe
- smp X : Alloue un nombre de coeurs virtuels fixe
Pour convertir le .qcow2 en .vdi, dans l'interface c'est plus clair.
## Exercice 2
### Créer une VM
Pour refaire une VM en CLI :
```
vboxmanage createvm --basefolder="C:\_VMs\VirtualCreationCLI" --register --name "VirtualBoxCLI"
vboxmanage storagectl "VirtualBoxCLI" --name "sata-controller" --add sata --controller IntelAHCI --portcount 1 --bootable on
vboxmanage storageattach "VirtualBoxCLI" --storagectl "sata-controller" --port 0 --device 0 --type hdd --medium ".\test_copy.vdi"
vboxmanage modifyvm "VirtualBoxCLI" --memory 4096 --cpus 4
```
### Convertir un disque virtuel .qcow2 en CLI
https://github.com/michaelrudy/qemu-img-convert
D'abord, dans la VM d'origine, il faut préparer la transition :
```
sudo tee /etc/dracut.conf.d/hyperv.conf >/dev/null <<'EOF'
add_drivers+=" hv_vmbus hv_storvsc hv_netvsc hv_utils "
hostonly="no"
EOF
sudo dracut -f --kver "$(uname -r)"
ls -lh /boot/initramfs-$(uname -r).img ### pour confirmer
cat /etc/fstab
blkid
sudo shutdown -h now
```
`qemu-img convert -f qcow2 -O vhdx -o subformat=dynamic .\test.qcow2 .\test_copy.vhdx`
Bizarrement, pour que la conversion soit prise en compte par Hyper-V, il faut lancer cette commande :
`fsutil sparse setflag .\test_copy.vhdx 0`
### Cloner une VM en CLI
Exporter pour VirtualBox
`vboxmanage clonevm "VirtualBoxCLI" --basefolder ".\NewVirtualBoxCLI" --name "NewVirtualBoxCLI" --register`
Exporter pour HyperV
```
Export-VM -Name "HyperVCLI" -Path "C:\_VMs\HyperVCLI" -CaptureLiveState CaptureSavedState
Import-VM -Name "NewHyperVCLI" -Path "C:\_VMs\HyperVCLI\{ID-de-ses-morts}.vmcx" -Copy -GenerateNewId -VirtualMachinePath "C:\_VMs\NewHyperVCLI" -VhdDestinationPath "C:\_VMs\NewHyperVCLI"
```