More Related Content More from Kazuaki Fujikura More from Kazuaki Fujikura (9) Open VZ11. とある4 GB つんだ OpenVZ サーバのコンテナ数 [root@st-virtual ~]# vzlist CTID NPROC STATUS IP_ADDR HOSTNAME 1212 25 running 192.168.1.10 1212.CT 1214 10 running 192.168.1.41 1214.CT 1220 33 running 192.168.1.3 1220.CT 1231 19 running 192.168.1.4 1231.CT 1232 27 running 192.168.1.9 1232.CT 1233 12 running 192.168.1.20 1233.CT 2001 19 running 192.168.1.25 2001.CT 2020 21 running 192.168.1.51 2020.CT 2021 22 running 192.168.1.52 2021.CT 5050 36 running 192.168.1.200 5050.CT 5051 36 running 192.168.1.197 5051.CT 6001 28 running - 6001.CT 6002 7 running 192.168.1.29 6002.CT 6003 17 running 192.168.1.30 6003.CT 7001 21 running 192.168.1.34 7001.CT 8001 29 running 192.168.1.36 8001.CT 8002 29 running 192.168.1.37 8002.CT 9001 18 running 192.168.1.50 9001.CT [root@st-virtual ~]# vzlist | grep –v VEID | wc -l 18 18台が同時稼動 13. OpenVZ とハイパーバイザの違い Dom0 256/512MB 256/512MB 128/512MB 384/512MB 物理メモリ合計2 GB 使用量 残量 DomU 01 DomU 03 DomU 02 仮想マシンでメモリを占有。 ホントは1GBあまってるのに・・・ 14. OpenVZ とハイパーバイザの違い ホスト 1024(256+256+128+384)/2048MB 256/2048MB 128/2048MB 384/2048MB 物理メモリ合計2 GB 使用量 残量 CTID 101 CTID103 CTID 102 残り使えるメモリは1GB! 26. Memcached が使えない!!!?? 解答編 eth0 eth0 vent0 vent0 Memcached- client Memcached-server Vent0:0 Vent0:0 OpenVZ リリース後の構成 A ホスト B ホスト コンテナ 102 コンテナ 101 0.3 秒 46. P2V(Physical to Virtual) [root@physical]# cat << EOL > /tmp/excludes.excl .bash_history /dev/* /mnt/* /tmp/* /proc/* /sys/* /usr/src/* EOL [root@physical]# tar cjpf /tmp/mysystem.tar.bz2 / -X /tmp/excludes.excl [root@physical]# scp /tmp/mysystem.tar.bz2 user@openvz:/tmp 1.Physical image の作成 47. P2V(Physical to Virtual) [root@openvz]# mkdir /vz/root/1001 /vz/private/1001 [root@openvz]# cat /etc/vz/conf/ve-vps.basic.conf-sample > /etc/vz/conf/1001.conf [root@openvz]# vzctl set 1001 ipadd x.x.x.x --save [root@openvz]# mv /tmp/mysystem.tar.bz2 /vz/private/1001 [root@openvz]# tar xjpf /vz/private/1001/mysystem.tar.bz2 [root@openvz]# sed -i -e '/getty/d' /vz/private/1001/etc/inittab [root@openvz]# rm -f /vz/private/1001/etc/mtab [root@openvz]# ln -s /proc/mounts /vz/private/1001/etc/mtab [root@openvz]# cp /vz/private/1001/etc/fstab /vz/private/1001/etc/fstab.old [root@openvz]# grep devpts /vz/private/1001/etc/fstab.old > /vz/private/1001/etc/fstab [root@openvz]# mknod --mode 666 /vz/private/1001/dev/ptmx c 5 2 [root@openvz]# mkdir /vz/private/1001/dev/pts [root@openvz]# cp -a /dev/ttyp* /dev/ptyp* /vz/private/1001/dev/ [root@openvz]# /sbin/MAKEDEV -d /vz/private/1001/dev ttyp ptyp [root@openvz]# rm -f /vz/private/1001/dev/null [root@openvz]# mknod --mode 666 /vz/private/1001/dev/null c 1 3 [root@openvz]# mknod --mode 444 /vz/private/1001/dev/urandom c 1 9 [root@openvz]# mkdir /vz/private/1001/proc 2.Openvz server settings 50. Excellent Redundancy system DRBD で /vz を sync OpenVZ サーバ( A) OpenVZ サーバ( B) /vz /vz CTID101 (death) CTID101 (stopped) Down!! HB で相互監視 51. Excellent Redundancy system OpenVZ サーバ( A) OpenVZ サーバ( B) /vz /vz CTID101 (death) CTID101 (Running) Down!! HB で相互監視 サーバ( A )の Down を確認後 サーバ( B) の CTID1001 を起動 Editor's Notes OpenVZ とは Linux カーネルをベースに開発された「 OS レベルの仮想化ソフト」 ライセンスは GPL のバージョン2 商用版として Parallels 社の Viruozzo がある 稼働中のコンテナのメモリの設定も可能(512 MB->1GB など) CPU,IO 周りは Linux のスケジューラに準拠 18 台のコンテナが 4GB メモリのマシン上でネイティブの速度で稼動 ハイパーパイザ型の場合はメモリを占有で割り振る メモリの free も占有するので、全体で共有できない OpenVZ ではメモリは占有ではなく、利用する権限を与える メモリの free 部分も共有するので、たくさんのコンテナを稼動させることが可能 arp broadcast を venet0 がコンテナに転送する際に遅延が発生していました。 ※ Kazuho さん情報ありがとうございました!! http://d.hatena.ne.jp/kazuhooku/20091007/1254890935 P2V による物理サーバをコンテナをイメージ化 LVM2 の snapshot の機能を利用してコンテナのスナップショットの作成 ダウンタイム、バックアップタイムが0で可能 物理サーバでイメージの作成 OpenVZ サーバでイメージの展開 デバイスファイルなどの作成 起動して完了 DRBD で /vz があるデバイスをネットワーク同期 HB で OpenVZ サーバの相互監視 HB でコンテナの起動をコントロール Active サーバがダウンした場合に HB が Standby サーバのコンテナを稼動させる これでほぼダウンタイムが0の冗長構成が可能 移動元サーバでメモリダンプを作成 設定ファイル、ファイルシステム、メモリダンプをすべて転送 (rsync で同期 ) この間コンテナは一時停止状態 すべて転送が完了したらメモリダンプを復元し、コンテナの稼動 ネットワーク周りは arpsend とかすると思う