xen熱移行プロセスおよび汚れページ率のテスト

1981 ワード

xenバージョン:3.4.4
linuxバージョン:ubuntu 9.10
実験環境2台のホスト:
server2:  *.*.81.201
dirtyserver: *.*.87.8
熱移行コマンド:
$:xm migrate --help
Usage: xm migrate Migrate a domain to another machine. Options: -h, --help           Print this help. -l, --live           Use live migration. -p=portnum, --port=portnum                      Use specified port for migration. -n=nodenum, --node=nodenum                      Use specified NUMA node on target. -s, --ssl            Use ssl connection for migration.
構想は熱移行のために1つの標識を伝送して、システムに私がただ汚いページ率を測定したいことを知らせて、熱移行したくないことを知らせて、ちょうどポート番号を使うつもりで、しかしデフォルトのポート番号を修正する時ずっと正しく接続することができなくて、connect refuse、別のサーバーがポートを用意していないかもしれなくて、そこで-nパラメータを採用して、具体的な意味ははっきりしなくて、どうせ使えません.
ダーティ・ページ使用率のテストコマンド:
$: sudo xm migrate -l -n 1 centos server2
-n 1は表示としてのみ使用され、コードではnがデフォルト値-1に戻されます.
XendDomainを変更します.pyファイル、pycファイルを削除できます.場所は次のとおりです.
/usr/lib/python2.6/dist-packages/xen/xend/XendDomain.py
domain_migrate関数では、1326行ほど追加されます.
        if(node==1):
            live = live | 128
        
        node = -1

注意node=-1はif文ではなく、live=live|128はliveの7番目の位置1をダーティページ率を測定するフラグとする
xcを変更する.domain.save.cファイル、場所:
xen-3.4.4/tools/libxc/xc_domain_save.c
xc_でdomain_save関数では,汚れページ率を測定した後にflagsパラメータの値,flagsパラメータである前から伝わってきたlive値をチェックし,それぞれ異なるフラグを表示し,7位を用いて汚れページ率のみをテストするフラグであるかどうかを示した.
追加:
      if(flags & 128){

                DPRINTF("I just measure dirty page rate,lalalala,baby");
                ERROR("just make a mark,inside ,qwm, measure dirty page end ,goto out");
                goto out;
        }

7位が0でないことを確認した場合,直接gotoし,熱移動操作を行わない.変更後、xenを再インストールし、xenディレクトリの下で実行する必要があります.
$ make xen tools
$ sudo make install-xen install-tools

システムを再起動し、正常な熱移行で使用するコマンドは次のとおりです.
xm migrate -l centos server2
すなわち-nパラメータを指定しない