ライブマイグレーション技術の 解説と活用法 ·...

20
1 ライブマイグレーション技術の 解説と活用法 株式会社びぎねっと http://Begi.net/

Upload: others

Post on 18-Oct-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

1

ライブマイグレーション技術の解説と活用法

株式会社びぎねっと

http://Begi.net/

Page 2: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

2

アジェンダ

• ライブマイグレーションとは• 仕組み• 必要な環境• デモ環境解説• デモ• 活用方法• Q&A

Page 3: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

3

ライブマイグレーションとは

• 実行中の仮想マシンを別のホストに、無停止で移動させる技術

– 通常のマイグレーションには、停止時間がある

– 厳密には、ライブマイグレーションにもミリ秒単位の停止時間があるが、十分に短いのでネットワークの接続(セッション)も維持される

Page 4: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

4

仕組み

• 仮想マシンを構成する情報(VM state)を別のホストにコピーして動作させる。– CPUの状態– メモリの状態– I/Oの状態– ストレージの状態– ネットワークの状態

• 仮想マシンを構成する情報は、最終的にメモリの状態に帰着する

Page 5: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

5

実装上の困難

• 動作している仮想マシンのメモリは変更されつづけるので、差異なくコピーするには工夫が必要

• どのタイミングで仮想マシンを一時停止させて、動作により発生したメモリの差異を最終的に収束させるかを判断する処理が難しい– 移動に必要な時間と、停止時間はトレードオフの関係になる

Page 6: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

6

処理の流れ(1)

1. 前処理• 移動先のホストに、移動する仮想マシンを受け入れるだけの資源(メモリ・ストレージ・ネットワーク)があるかを確認する

2. 予約処理• 移動先のホストの資源を確保する処理を行う

3. 停止前反復コピー処理• 仮想マシンを一時停止する前に、移動元ホストから移動先ホストへメモリをコピーする

• コピー中にも、移動元のメモリに変更が加えられるので、差異が十分小さくなるまで反復してコピーする

Page 7: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

7

処理の流れ(2)

4. 停止後コピー処理– 仮想マシンを一時停止させて、移動元ホストから移動先ホストへ差異として残ったメモリをコピーする

– CPUの状態をコピーする– ネットワークによるアクセスが移動先ホストに届くようにする

– この処理が完了しても、処理の失敗に備えて移動元のメモリの状態やCPUの状態は保持する

Page 8: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

8

処理の流れ(3)

5. 引き渡し処理• 移動先ホストが、コピーされたメモリやその他の状態に矛盾がないことを確認後、移動元ホストにコピーが成功したことを通知する

• 移動元ホストから移動先ホストに仮想マシンが引き渡される

• 移動元ホストの資源が解放される

Page 9: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

9

処理の流れ(4)

6. 一時停止状態からの復帰処理• 移動先ホスト上で、一時停止状態だった仮想マシンを復帰させる

7. 後処理• 切り離されていたデバイスと再接続させる

• ARP等でIPアドレスが移動したことを周りのネットワーク機器やホストに伝える

Page 10: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

10

必要な環境

• 2台以上のXenが動作するサーバ• iSCSIやFibreChannelなどの共有ストレージ– GNBDやNFSでもOK

• サーバ間を接続するネットワーク– GigabitEthernet推奨

• サーバとストレージ間を接続するネットワーク

Page 11: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

11

必要な設定(1)• Xenの設定

– /etc/xen/xend-config.sxp• ライブマイグレーションに利用する機能を有効にする

(xend-relocation-server yes)• アクセス制限を解除する

(xend-relocation-hosts-allow '^localhost$ 192.168.100.235')

• 仮想マシンの設定– /etc/xen/xm-domainU

• 仮想ブロックデバイスの接続先に共有ストレージを指定– 他のホストに移動した際に、同じ記述で接続可能な事

• 仮想ネットワークデバイスを他ホストと同じセグメントに指定– 他のホストに移動した際に、同じ記述で接続可能な事

Page 12: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

12

必要な設定(2)

• 共有ストレージの設定– すべてのサーバからアクセス可能にする

• ネットワーク機器の設定– ARPブロードキャストによるIPアドレスの移動通知に対応するように設定する

• セキュリティを理由に、対応しない設定になっている場合もあるので、注意する

Page 13: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

13

デモ

• 連続ライブマイグレーション– スクリプトで2台のサーバ間を仮想マシンが行ったり来たり

– クライアントからの仮想マシンへの接続(VNC)が切断されない

• ブラウザ上で再生している動画がコマ落ちするのが判る

• デモ環境は、100BASE-Tでの接続の為 切り替えを意識することが可能

Page 14: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

14

デモ環境 構成図

iSCSI 共有ストレージEMC CLARiX AX150SCi

XenサーバTestA

XenサーバTestB

クライアント

HUB

Page 15: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

15

デモ環境

• Xen-unstable(開発版)– リリース版でもOK

• CentOS 4.3– ディストリビューションは自由

• Open-iSCSI(開発版)– Software iSCSI initiator

Page 16: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

16

活用方法

• 保守

• 動的な資源割り当て

• 省電力

Page 17: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

17

保守

• 保守対象から他のサーバへ仮想マシンをライブマイグレーションさせる

– ダウンタイムなし– 保守対象を完全に停止させられる

– ハードウェアのメンテ– 新サーバH/Wへの移行作業

Page 18: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

18

動的な資源割り当て

• ライブマイグレーションで、負荷の増減にあわせて、仮想マシンを動作させるサーバを変更することができる。– Xenの動的な資源割り当て機能を併用すれば、より自由度の高い管理が可能

– 高負荷時には高速なサーバを占有させたり、低負荷時には、メモリは大量に積んでいるがCPUが遅いサーバに集約したりすることが可能

Page 19: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

19

省電力

• 低負荷時には– CPU性能に比べてメモリを大量に搭載しているサーバに仮想マシンを集約する

– あまったサーバをシャットダウンもしくはスタンバイ状態することができる

– 消費電力を押さえることができる

Page 20: ライブマイグレーション技術の 解説と活用法 · –Xenの動的な資源割り当て機能を併用すれ ば、より自由度の高い管理が可能 –高負荷時には高速なサーバを占有させたり、

20

課題

• 実績が少ない

• 安定度が未知数– 高負荷時に行うには、勇気が必要

• 導入が面倒– 共有ストレージ– 分散ファイルシステム