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 [2020/02/20 11:48] – Ajout d'un renvoi vers le détail d'une résolution de bug zatalyz | fr:xen [2025/10/25 08:38] (Version actuelle) – [Failed to free memory for the domain] Résolution à la noix zatalyz | ||
|---|---|---|---|
| Ligne 304: | Ligne 304: | ||
| Si vous avez les éléments pour expliquer la théorie, complétez l' | Si vous avez les éléments pour expliquer la théorie, complétez l' | ||
| - | --- //[[wiki:user: | + | --- // |
| </ | </ | ||
| 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 472: | Ligne 571: | ||
| Allez voir [[fr: | Allez voir [[fr: | ||
| + | ==== Horloge ==== | ||
| + | Les VM peuvent avoir une heure aberrante par rapport à Dom0. Ce qui est lié à la timezone mal déclarée. | ||
| + | |||
| + | Ça se règle en exécutant en root | ||
| + | dpkg-reconfigure tzdata | ||
| + | Une liste de choix permet alors de cibler le bon fuseau. | ||
| ===== Sources et documentation ===== | ===== Sources et documentation ===== | ||





