Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| fr:xen [2024/07/24 09:49] – [Bugs récurrents] zatalyz | fr:xen [2025/10/25 08:38] (Version actuelle) – [Failed to free memory for the domain] Résolution à la noix zatalyz | ||
|---|---|---|---|
| Ligne 442: | Ligne 442: | ||
| xl create / | xl create / | ||
| + | ===== Pallier à une RAM trop basse ===== | ||
| + | Sur une machine pas très puissante, la RAM est vite un plafond limitant. Et même sur une grosse machine, on veut rapidement faire plus de VM qu'on n'a de ram. | ||
| + | |||
| + | Xen permet de négocier avec ça. | ||
| + | |||
| + | De base, on peut créer plus des VM avec plus de RAM cumulé que le serveur ne le permet. Par exemple si on a 4 Go de RAM physique, il est possible d' | ||
| + | |||
| + | <WRAP center round help 60%> | ||
| + | Swap ou pas swap ? | ||
| + | |||
| + | Ça dépend vraiment des besoins et des capacités. Sur une grosse machine, ça se discute vraiment, car le passage en swap va pourrir les disques durs et reculer le diagnostic d'une ram sur-utilisée. Sur une petite machine, cela permet de faire face à des surcharges ponctuelles. | ||
| + | </ | ||
| + | |||
| + | Xen a des mécanismes " | ||
| + | |||
| + | Exemple | ||
| + | < | ||
| + | # Mémoire pour le démarrage (en Mo) | ||
| + | memory = ' | ||
| + | # Mémoire qui peut être libéré par le Dom0 si disponible | ||
| + | maxmem = ' | ||
| + | </ | ||
| + | |||
| + | On peut ainsi temporairement et dynamiquement ajuster la mémoire sur une VM active, avec la commande suivante sur l' | ||
| + | xl mem-set < | ||
| + | Mais attention, cette valeur doit être au maximum celle de " | ||
| + | |||
| + | Pour faciliter l' | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | Je ne sais pas trop si automatiquement la VM va demander à utiliser jusque la valeur déclarée avec " | ||
| + | </ | ||
| + | |||
| + | |||
| + | <WRAP center round info 100%> | ||
| + | Il est conseillé de toujours garder 1 Go de RAM pour l' | ||
| + | |||
| + | Par ailleurs, il parait que cette option dans le GRUB peut forcer à réserver de la RAM à l' | ||
| + | GRUB_CMDLINE_XEN_DEFAULT=" | ||
| + | Mais par défaut, la commande '' | ||
| + | </ | ||
| + | |||
| + | ==== Failed to free memory for the domain ==== | ||
| + | J'ai découvert une erreur inattendue après une mise à jour système de l' | ||
| + | failed to free memory for the domain | ||
| + | |||
| + | Quelques vérifications de l' | ||
| + | < | ||
| + | xl info | grep -E " | ||
| + | xl dmesg | grep -i memory | ||
| + | xl list</ | ||
| + | |||
| + | Dans mon cas, le résultat significatiof est là : | ||
| + | |||
| + | < | ||
| + | total_memory | ||
| + | free_memory | ||
| + | # xl list | ||
| + | Name ID Mem VCPUs State Time(s) | ||
| + | Domain-0 | ||
| + | |||
| + | Je confirme : y'a ce qu'il faut, mais le Domain-0 s'est soudainement mis à se réserver 3Go de RAM, ne laissant plus rien pour mes VM sur ma petite machine. | ||
| + | |||
| + | On peut d' | ||
| + | |||
| + | Comme il consomme réellement 150 Mo de Ram, je peux temporairement lui forcer une utilisation moindre : | ||
| + | |||
| + | xl mem-set Domain-0 1024 | ||
| + | |||
| + | Là, mes VM peuvent se lancer... | ||
| + | |||
| + | Officiellement il faudrait bidouiller ''/ | ||
| + | < | ||
| + | |||
| + | Puis | ||
| + | update-grub | ||
| + | |||
| + | MAIS la gestion mémoire semble bien pétée et, en faisant ça, on se retrouve surtout avec un ordi qui ne boote plus... La solution va probablement être de lancer la commande "xl mem-set" | ||
| + | |||
| + | <code bash xen-memory-fix.service> | ||
| + | [Unit] | ||
| + | Description=Fix Xen Dom0 memory | ||
| + | After=xen.service | ||
| + | |||
| + | [Service] | ||
| + | Type=oneshot | ||
| + | ExecStart=/ | ||
| + | RemainAfterExit=yes | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | |||
| + | </ | ||
| + | |||
| + | On active et démarre le service : | ||
| + | < | ||
| + | sudo systemctl start xen-memory-fix.service</ | ||
| + | |||
| + | Je ne prétendrais pas que c'est l' | ||
| ===== Faire des snapshots, cloner une VM ===== | ===== Faire des snapshots, cloner une VM ===== | ||
| Il s'agit de manipulations propres à LVM((En tout cas, chez nous. Il y a d' | Il s'agit de manipulations propres à LVM((En tout cas, chez nous. Il y a d' | ||
| Ligne 473: | Ligne 572: | ||
| ==== Horloge ==== | ==== Horloge ==== | ||
| - | Les VM peuvent avoir une heure aberrante par rapport à Dom0. | + | Les VM peuvent avoir une heure aberrante par rapport à Dom0. Ce qui est lié à la timezone mal déclarée. |
| - | <WRAP center round todo 100%> | + | Ça se règle en exécutant en root |
| - | Lister quels genre d' | + | |
| - | | + | |
| - | + | ||
| - | Dans mon cas, '' | + | |
| - | + | ||
| - | sudo cat / | + | |
| - | + | ||
| - | Si ce n'est pas xen, ça explique peut-être un souci ? | + | |
| - | Et ajouter aussi la ligne suivante dans les ''/ | + | |
| - | extra = ' | + | |
| - | + | ||
| - | Solution trouvé et adaptée d'un [[https:// | + | |
| - | + | ||
| - | Mais c'est sans doute pas " | + | |
| - | </ | + | |
| + | Une liste de choix permet alors de cibler le bon fuseau. | ||
| ===== Sources et documentation ===== | ===== Sources et documentation ===== | ||





