Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
R
report
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
ISC2
virtu
report
Commits
9f8e56af
Verified
Commit
9f8e56af
authored
1 year ago
by
iliya.saroukha
Browse files
Options
Downloads
Patches
Plain Diff
feat: pt4 of lab4 done
parent
9f6cf375
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
content/04_qemu_advanced.md
+93
-2
93 additions, 2 deletions
content/04_qemu_advanced.md
with
93 additions
and
2 deletions
content/04_qemu_advanced.md
+
93
−
2
View file @
9f8e56af
...
@@ -20,7 +20,7 @@ autre système d'exploitation"_
...
@@ -20,7 +20,7 @@ autre système d'exploitation"_
Initialement, il n'est pas possible de le faire car les formats
`.vdi`
et
`.vmdk`
Initialement, il n'est pas possible de le faire car les formats
`.vdi`
et
`.vmdk`
ne sont pas géré comme des images natives au format
`qcow2`
. Par conséquent,
ne sont pas géré comme des images natives au format
`qcow2`
. Par conséquent,
il est néc
é
ssaire de le convertir dans le bon format grâce à l'outil
`qemu-img
il est néc
e
ssaire de le convertir dans le bon format grâce à l'outil
`qemu-img
convert`
.
convert`
.
```
bash
```
bash
...
@@ -90,7 +90,7 @@ linustorvalds:x:1001:1001:Linus Torvalds,,,:/home/linustorvalds:/bin/bash
...
@@ -90,7 +90,7 @@ linustorvalds:x:1001:1001:Linus Torvalds,,,:/home/linustorvalds:/bin/bash
### Modification pour se connecter en tant que `root` et en tant qu'utilisateur normal
### Modification pour se connecter en tant que `root` et en tant qu'utilisateur normal
Pour cela, il est néc
é
ssaire de modifier le fichier
`/etc/passwd`
en retirant
Pour cela, il est néc
e
ssaire de modifier le fichier
`/etc/passwd`
en retirant
le caractère
`x`
à la suite du nom d'utilisateur comme ci-dessous :
le caractère
`x`
à la suite du nom d'utilisateur comme ci-dessous :
```
bash
```
bash
...
@@ -439,3 +439,94 @@ qemu-system-x86_64: Error -22 while loading VM state
...
@@ -439,3 +439,94 @@ qemu-system-x86_64: Error -22 while loading VM state
```
```
## Virtualisation de _desktop_ (VDI)
## Virtualisation de _desktop_ (VDI)
### Téléchargement de l'image `doom.qcow`
La première chose à faire est de télécharger l'image compressée en local, pas
sur le serveur distant, puis de l'extraire
```
bash
curl
-o
doom.qcow.gz https://drive.switch.ch/index.php/s/rHScyU6IVNyoZYD/download
```
```
bash
gzip
-d
doom.qcow.gz
```
### Conversion de l'image en _sparse file_
Afin de récupérer de l'espace non-utilisée dans l'image decompressée de 15GB,
il est possible de la convertir en _sparse-file_ à l'aide de la commande ci-dessous :
```
bash
fallocate
-v
-d
doom.qcow
```
```
bash
doom.qcow: 4.3 GiB
(
4637921280 bytes
)
converted to sparse holes
```
Ceci nous a permis d'économiser un peu plus de 4GB. À présent il est possible
de transférer l'image sur le serveur distant.
### Transfert de l'image `doom.qcow` sur le serveur distant
Vu que
`scp`
**ne supporte pas**
les fichiers _sparse_, il est nécessaire
d'effectuer le transfert grâce à
`rsync`
à travers le réseau.
```
bash
rsync
-zP
--sparse
doom.qcow <username>@<server_addr>:<dst_path_server>
```
### Modification du script `vm_run.sh` de sorte à pouvoir lancer un serveur `spice`
```
bash
MEM_COUNT
=
"4G"
CPU_COUNT
=
"2"
NET_PV
=
"-nic user,model=virtio-net-pci"
GPU_PV
=
"-vga virtio"
SPICE_SERVER
=
"-device virtio-serial-pci
\
-spice port=8000,disable-ticketing=on
\
-device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0
\
-chardev spicevmc,id=spicechannel0,name=vdagent,clipboard=on"
QEMU_GA
=
"-device virtio-serial
\
-device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0
\
-chardev socket,path=/tmp/qga.sock,server=on,wait=off,id=qga0"
if
$DISK_OPT
;
then
qemu-system-x86_64
-m
$MEM_COUNT
-smp
cpus
=
$CPU_COUNT
$NET_PV
\
$GPU_PV
$DISK_PATH
$QEMU_GA
$SPICE_SERVER
fi
```
### Lancement du client sur la machine local
```
bash
remote-viewer
"spice://10.136.27.45?port=8000"
```
### Le jeu est-il jouable ?
Oui.
### Même question mais depuis chez vous avec le VPN ?
Oui.
### Sur quelle machine physique s'exécute le jeu exactement ?
Sur le serveur distant.
### Vous devriez entrendre la bande sonore du jeu pourtant le serveur ne possède pas de carte audio ?
La carte audio est émulée.
### Si vous fermez la fenêtre du client, que se passe-t-il du côté du serveur ?
La VM continue de fonctionner même si le client s'est déconnecté.
### Vous est-il possible de copier coller du texte entre la VM et la machine hôte
Oui, magie.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment