====== 2025.05.02 KVM ホットマイグレーション終わらない ====== KVMでメモリが大量でメモリが頻繁に利用している場合マイグレーションが終わらない事があります。 ===== 現在の状態確認 ===== この状態だと、ダウンタイムが0.3秒に収まるまでメモリをコピーしてから、切り替える設定になってます。 つまり、メモリが頻繁に利用されている場合、0.3秒内に収まらないと最後の切り替えを行わない。 # virsh qemu-monitor-command [ドメインID] --hmp --cmd "info migrate_parameters" announce-initial: 50 ms announce-max: 550 ms announce-rounds: 5 announce-step: 100 ms compress-level: 1 compress-threads: 8 compress-wait-thread: on decompress-threads: 2 throttle-trigger-threshold: 50 cpu-throttle-initial: 20 cpu-throttle-increment: 10 cpu-throttle-tailslow: off max-cpu-throttle: 99 tls-creds: '' tls-hostname: '' max-bandwidth: 134217728 bytes/second downtime-limit: 300 ms x-checkpoint-delay: 20000 ms block-incremental: off multifd-channels: 2 multifd-compression: none xbzrle-cache-size: 67108864 bytes max-postcopy-bandwidth: 0 tls-authz: '' ===== 終わらない場合の対応方法 ===== 下記のコマンドで、ダウンタイムを3秒まで伸ばしてやると、メモリが頻繁に書き換えられてても3秒に収まれば、最終切り替えが実施されます。 virsh migrate-setmaxdowntime [ドメインID] 3000 ===== 終わらない時のログ ===== remainingが減って増えてを繰り返す。 # tail -f /var/log/libvirt/qemu/instance.log 857616@1751158543.161471:qmp_exit_query_migrate {"expected-downtime": 23080, "cpu-throttle-percentage": 60, "status": "active", "setup-time": 18, "total-time": 630524, "ram": {"total": 34495348736, "postcopy-requests": 0, "dirty-sync-count": 13, "multifd-bytes": 0, "pages-per-second": 27914, "downtime-bytes": 0, "page-size": 4096, "remaining": 60735488, "postcopy-bytes": 0, "mbps": 916.49230769230758, "transferred": 66350721470, "dirty-sync-missed-zero-copy": 0, "precopy-bytes": 66350721470, "duplicate": 658769, "dirty-pages-rate": 31935, "skipped": 0, "normal-bytes": 66215378944, "normal": 16165864}} 1 857616@1751158543.665727:qmp_enter_query_migrate {} 857616@1751158543.665861:qmp_exit_query_migrate {"expected-downtime": 24748, "cpu-throttle-percentage": 60, "status": "active", "setup-time": 18, "total-time": 631028, "ram": {"total": 34495348736, "postcopy-requests": 0, "dirty-sync-count": 13, "multifd-bytes": 0, "pages-per-second": 26032, "downtime-bytes": 0, "page-size": 4096, "remaining": 5259264, "postcopy-bytes": 0, "mbps": 854.70204878048776, "transferred": 66406306110, "dirty-sync-missed-zero-copy": 0, "precopy-bytes": 66406306110, "duplicate": 658769, "dirty-pages-rate": 31935, "skipped": 0, "normal-bytes": 66270855168, "normal": 16179408}} 1 523067@1751158543.698388:migration_throttle guest CPU throttled by 70% 857616@1751158544.169761:qmp_enter_query_migrate {} 857616@1751158544.169871:qmp_exit_query_migrate {"expected-downtime": 22914, "cpu-throttle-percentage": 70, "status": "active", "setup-time": 18, "total-time": 631532, "ram": {"total": 34495348736, "postcopy-requests": 0, "dirty-sync-count": 14, "multifd-bytes": 0, "pages-per-second": 28527, "downtime-bytes": 0, "page-size": 4096, "remaining": 2569916416, "postcopy-bytes": 0, "mbps": 915.7639272727273, "transferred": 66457643081, "dirty-sync-missed-zero-copy": 0, "precopy-bytes": 66457643081, "duplicate": 659220, "dirty-pages-rate": 26953, "skipped": 0, "normal-bytes": 66322087936, "normal": 16191916}} 1 857616@1751158544.672753:qmp_enter_query_migrate {} {{tag>日記 KVM}}