ローカル記憶域を使用する実行中の仮想マシンを移行すると、まず、ソース・サーバーのローカル・リポジトリから宛先サーバーのローカル・リポジトリに仮想ディスクが移行されます。 記憶域ライブ・マイグレーション時、追加のディスク・アクティビティがある場合にソースOracle VM Serverゲスト仮想マシンについて一時停止エラーが発生することがあります。 たとえば、宛先サーバーのローカル・リポジトリに移行されている間にソース・サーバーのローカル・リポジトリの仮想ディスクに書き込んでいるゲスト仮想マシンで実行されるプロセスが、追加のディスク・アクティビティに含まれることがあります。
一時停止操作では、追加のディスク・アクティビティのために完了するのにより多くの時間が必要となり、記憶域ライブ・マイグレーションが失敗する一時停止エラーが発生します。 次のような一時停止エラーがソースOracle VM Serverインスタンスの/var/log/xen/xend.log
に表示されます。
[timestamp
2792] DEBUG (XendDomainInfo:3509) waitForSuspend: domain 1 state: [timestamp
2792] INFO (XendCheckpoint:430) [9836] xc: error: Suspend request failed: Internal error [timestamp
2792] DEBUG (XendDomainInfo:1943) XendDomainInfo.handleShutdownWatch [timestamp
2792] INFO (XendCheckpoint:430) [9836] xc: error: Domain appears not to have suspended: Internal error
また、タイムアウト・エラーがソースOracle VM Serverゲスト仮想マシンのカーネル・ログに表示されます。
timestamp
server
kernel: [ 1601.227167] Freezing of tasks failed afterxx
seconds (0 tasks refusing to freeze, wq_busy=1):
回避策: ソースOracle VM Serverゲスト仮想マシンでミリ秒単位で指定する/sys/power/
pm_freeze_timeout
パラメータを更新し、記憶域ライブ・マイグレーション時に追加のディスク・アクティビティが発生した場合に十分な時間が使用できるようにします。
ゲスト仮想マシンにログインします。
pm_freeze_timeout
パラメータを、割くことができる最大停止時間、最大5分(300000ミリ秒)に更新することをお薦めします。 たとえば、/sys/power/
pm_freeze_timeout
パラメータを5分に更新するには、次のコマンドをゲスト仮想マシンで実行します。# echo "
300000
" > /sys/power/pm_freeze_timeout注意pm_freeze_timeout
パラメータに対して設定した値は、記憶域ライブ・マイグレーション時にソースOracle VM Serverゲスト仮想マシンがオフラインのままでいる時間に影響します。記憶域を使用してライブ・マイグレーションを再度実行すると、一時停止エラーは発生しません。
pm_freeze_timeout
パラメータの更新後に、ソースOracle VM Serverゲスト仮想マシンについて一時停止エラーが引き続き発生する場合は、追加のディスク・アクティビティが完了するまで記憶域ライブ・マイグレーションを避けるか、ゲスト仮想マシンが記憶域ライブ・マイグレーション時にオフラインのままでいるのに割ける最大時間を再考する必要があります。
バグ26289880