Initial commit
This commit is contained in:
76
Semaine_01/Jour_01.md
Normal file
76
Semaine_01/Jour_01.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# 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"
|
||||
```
|
||||
55
Semaine_01/Jour_02.md
Normal file
55
Semaine_01/Jour_02.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Infra avancée
|
||||
|
||||
## Cours
|
||||
|
||||
### Contenerisation
|
||||
|
||||
- Namespace : les processus ne peuvent pas voir les ressources utilisées par l'hôte ou ses congénères
|
||||
- cgroups : contrôle des ressources allouées à un processus
|
||||
|
||||
#### Solutions :
|
||||
|
||||
- Docker / Podman
|
||||
- OpenVZ
|
||||
- Les zones (Solaris)
|
||||
- Les jails (FreeBSD)
|
||||
- LXC
|
||||
|
||||
### LXC
|
||||
|
||||
```
|
||||
# Avec interactivté
|
||||
sudo lxc-create -n NOM_CONTENEUR -t download
|
||||
|
||||
# Sans interactivité (pour script)
|
||||
sudo lxc-create --template=download --name NOM_CONTENEUR -- --dist NOM_DISTRIBUTION --release NUMERO_VERSION --arch amd64
|
||||
```
|
||||
|
||||
```
|
||||
# Démarrer
|
||||
sudo lxc-start -n NOM_CONTENEUR
|
||||
|
||||
# Entrer dans un conteneur
|
||||
sudo lxc-attach -n NOM_CONTENEUR
|
||||
|
||||
# Stopper
|
||||
sudo lxc-
|
||||
|
||||
# Supprimer
|
||||
sudo lxc-destroy -n NOM_CONTENEUR
|
||||
|
||||
# Lister
|
||||
sudo lxc-ls (--active, --running, --frozen)
|
||||
|
||||
# Info sur conteneur précis
|
||||
sudo lxc-info -n NOM_CONTENEUR
|
||||
```
|
||||
|
||||
Fichier config du conteneur (/var/lib/lxc/xxx) :
|
||||
```
|
||||
# Méthode 1 : Montage d'un dossier de l'hôte
|
||||
lxc.mount.entry = /dossier_hote dossier_interne_conteneur none bind,create=dir 0 0
|
||||
|
||||
# Méthode 2 : Montage d'un disque entier ou partition de l'hôte
|
||||
lxc.mount.entry = /dev/disque_ou_partition dossier_interne_conteneur FS_type defaults,create=dir 0 0
|
||||
```
|
||||
6
desktop.ini
Normal file
6
desktop.ini
Normal file
@@ -0,0 +1,6 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=C:\WINDOWS\System32\SHELL32.dll,314
|
||||
[ViewState]
|
||||
Mode=
|
||||
Vid=
|
||||
FolderType=Generic
|
||||
Reference in New Issue
Block a user