SlideShare a Scribd company logo
1 of 56
       ~ High-Performance Virtualization ~ www.shanon.co.jp id: ふじゃ fujya
自己紹介 ,[object Object],[object Object],[object Object]
略歴 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
目次 ,[object Object],[object Object],[object Object],[object Object],[object Object]
OpenVZ とは ,[object Object],[object Object],[object Object],[object Object]
仮想化の種類
OS レベルの仮想化ってなんぞ? ,[object Object],[object Object],[object Object],[object Object],[object Object]
結論から言うと ,[object Object],[object Object],早い!たくさん立てれる! でも自由度が低い
OpenVZ の特徴 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],migration!
Fujya が OpenVZ を選んだ理由 ,[object Object],[object Object],[object Object],[object Object],[object Object]
とある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台が同時稼動
他仮想化との違い メリット / デメリット
OpenVZ とハイパーバイザの違い Dom0 256/512MB 256/512MB 128/512MB 384/512MB 物理メモリ合計2 GB 使用量 残量 DomU 01 DomU 03 DomU 02 仮想マシンでメモリを占有。 ホントは1GBあまってるのに・・・
OpenVZ とハイパーバイザの違い ホスト 1024(256+256+128+384)/2048MB 256/2048MB 128/2048MB 384/2048MB 物理メモリ合計2 GB 使用量 残量 CTID 101 CTID103 CTID 102 残り使えるメモリは1GB!
クイックインストールガイド ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],# cd /etc/yum.repos.d # wget http://download.openvz.org/openvz.repo # rpm --import  http://download.openvz.org/RPM-GPG-Key-OpenVZ # cd /etc/yum.repos.d # yum install openvz-kernel
コンテナの立ち上げ ,[object Object],[object Object],# vzctl create 1003 –ostemplate centos-4-i386-default –config sample --hostname example.com http:// wiki.openvz.org /Download/template/metadata
コンテナの設定 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],# vzctl set 1003 –cpulimit 1000 –privvmpages $((256*128)) –diskspace 1G  --hotname hbstudy4.test. –ipadd 192.168.100.100 –nameserver 10.8.15.1  --userpasswd root:hbstudy4  --save
コンテナの起動と停止とか ,[object Object],[object Object],[object Object],# vzctl start 1001 # vzctl stop 1001 # vzctl destroy 1001
各種 VZ コマンド ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
運用中に出くわしたトラブル集               だワン
第一話   memcahed が使えない!!!?? Cache 死亡フラグ
Memcached が使えない!!!??    序章 ,[object Object],[object Object],[object Object],[object Object]
Memcached が使えない!!!??  序章 ,[object Object]
Memcached が使えない!!!?? 調査 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Memcached が使えない!!!??  解答編 Memcached- client Memcached-server eth0 eth0 OpenVZ リリース前の構成 物理サーバ A 物理サーバ B 0.006 秒
Memcached が使えない!!!??  解答編 eth0 eth0 vent0 vent0 Memcached- client Memcached-server Vent0:0 Vent0:0 OpenVZ リリース後の構成 A  ホスト B  ホスト コンテナ 102 コンテナ 101 0.3 秒
Memcached が使えない!!!??  解答編 ,[object Object],[object Object],eth0 eth0 vent0 vent0 Memcached- client Memcached-server Vent0:0 Vent0:0 A  ホスト B  ホスト コンテナ 101 コンテナ 102 arp broadcast forward
Memcached が使えない!!!??  解決編 ,[object Object],[object Object],[object Object],eth0 eth0 br0 br0 Memcached- client Memcached-server eth0 eth0 A  ホスト B  ホスト コンテナ 101 コンテナ 102 0.006 秒
第二話                     届かない e-mail
届かない e-mail    はじめ ,[object Object],[object Object]
届かない e-mail    苦情編 ,[object Object],[object Object]
届かない e-mail     危機編 ,[object Object],[user@CTID1001]$ free -m 合計  使用済  空き領域  共有領域  バッファ キャッシュ Mem:  4047  3530  517  0  0  0 -/+  バッファ :  3530  517 Swap:  0  0  0 privvmpages  1572864(6GB) 物理メモリ :4GB Swap  :2GB [user@CTID1001]$ ps auxww USER  PID %CPU %MEM  VSZ  RSS  TTY  STAT START  TIME COMMAND root  1  0.0  0.0  1700  524  ?  Ss  Jul30  0:01  init [3]  … .. user  32390  0.0  74.1  3572043 3072000 ?  S  Sep04  0:00 perl-fcgi
届かない e-mail     危機編 ,[object Object],[user@CTID1001]$ free -m 合計  使用済  空き領域  共有領域  バッファ キャッシュ Mem:  4047  3530  517  0  0  0 -/+  バッファ :  3530  517 Swap:  0  0  0 privvmpages  1572864(6GB) 物理メモリ :4GB Swap  :2GB [user@CTID1001]$ ps auxww USER  PID %CPU %MEM  VSZ  RSS  TTY  STAT START  TIME COMMAND root  1  0.0  0.0  1700  524  ?  Ss  Jul30  0:01  init [3]  … .. user  32390  0.0  74.1  3572043 3072000 ?  S  Sep04  0:00 perl-fcgi user  32391  0.0  0.1  1203  756  ?  S  Sep04  0:00  \ _ - qmail-inject cannot allocate memory
届かない e-mail     危機編 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],2番で仮想アドレス空間が枯渇
届かない e-mail     解決? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]
NFS トラブル      序章 ,[object Object],[object Object],[object Object],P2V 現行ファイルサーバ 新ファイルサーバ ( OpenVZ )
NFS トラブル      序章 ,[object Object],# /etc/rc.d/init.d/nfs start NFS サービスを起動中  [OK] NFS クォータを起動中   [OK] NFS デーモンを起動中  [NG] NFS mount を起動中  [OK] なんか失敗したんですが
NFS トラブル      調査編 ,[object Object],カーネルの再構築が必要だよ by
NFS トラブル      問合編 ,[object Object],[object Object],NFSD がダメなら UNFS 使えば良いじゃない? by
NFS トラブル       what UNFS? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],http:// www.connectathon.org/nfstests.html
NFS トラブル       UNFS で解決 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Twitter で集めてた質疑に応答 ,[object Object]
OpenVZ 応用編 ,[object Object],[object Object],[object Object],[object Object]
No downTime backup ,[object Object],OpenVZ  サーバ CTID101 (Running) /vz  (LVM2) [root@openvz]# vzdump --dumpdir /vz/backup --snapshot 1001 CTID 1001 snapshot backup image
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  の作成
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
P2V(Physical to Virtual) [root@openvz]# vzctl start 1001 3. Container start P2V 完了!!
Excellent Redundancy system DRBD で /vz を sync OpenVZ  サーバ( A) OpenVZ  サーバ( B) /vz /vz CTID101 (Running) CTID101 (stopped) HB で相互監視
Excellent Redundancy system DRBD で /vz を sync OpenVZ  サーバ( A) OpenVZ  サーバ( B) /vz /vz CTID101 (death) CTID101 (stopped) Down!! HB で相互監視
Excellent Redundancy system OpenVZ  サーバ( A) OpenVZ  サーバ( B) /vz /vz CTID101 (death) CTID101 (Running) Down!! HB で相互監視 サーバ( A )の Down を確認後 サーバ( B) の CTID1001 を起動
[object Object],Live migration
Live migration OpenVZ  サーバ( A) OpenVZ  サーバ( B) /vz /vz CTID101 (Running) メモリーダンプ ファイルシステムを移動
[object Object],Live migration OpenVZ  サーバ( A) OpenVZ  サーバ( B) /vz /vz CTID101 (Running) メモリーダンプを復元 リソースの配分し稼動
まとめ ,[object Object],[object Object],[object Object],[object Object]
[object Object]

More Related Content

What's hot

Trema での Open vSwitch
Trema での Open vSwitchTrema での Open vSwitch
Trema での Open vSwitchkazuyas
 
BHyVeってなんや
BHyVeってなんやBHyVeってなんや
BHyVeってなんやTakuya ASADA
 
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0Satoshi Kume
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみたKazuya Wada
 
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)Kazuyuki Sato
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondTaisuke Yamada
 
MySQLをプロファイる(仮)
MySQLをプロファイる(仮)MySQLをプロファイる(仮)
MySQLをプロファイる(仮)yoku0825
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Sho Shimizu
 
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -zgock
 
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料Yasutaka Hamada
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会Yasutaka Hamada
 
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)株式会社サードウェア
 
Bhyve code reading
Bhyve code readingBhyve code reading
Bhyve code readingTakuya ASADA
 
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and DracutIntroduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and DracutTaisuke Yamada
 
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12Nobuto Murata
 
BHyVe: The BSD Hypervisor
BHyVe: The BSD HypervisorBHyVe: The BSD Hypervisor
BHyVe: The BSD HypervisorTakuya ASADA
 

What's hot (20)

Trema での Open vSwitch
Trema での Open vSwitchTrema での Open vSwitch
Trema での Open vSwitch
 
initramfsについて
initramfsについてinitramfsについて
initramfsについて
 
BHyVeってなんや
BHyVeってなんやBHyVeってなんや
BHyVeってなんや
 
KVM+cgroup
KVM+cgroupKVM+cgroup
KVM+cgroup
 
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみた
 
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
 
OpenvswitchでVPS
OpenvswitchでVPSOpenvswitchでVPS
OpenvswitchでVPS
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
 
MySQLをプロファイる(仮)
MySQLをプロファイる(仮)MySQLをプロファイる(仮)
MySQLをプロファイる(仮)
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
 
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
 
Kernel fcache-bug
Kernel fcache-bugKernel fcache-bug
Kernel fcache-bug
 
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
 
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
KVM Cluster with DRBD, ioDrive2 and Infiniband (130802 OSC京都)
 
Bhyve code reading
Bhyve code readingBhyve code reading
Bhyve code reading
 
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and DracutIntroduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and Dracut
 
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
 
BHyVe: The BSD Hypervisor
BHyVe: The BSD HypervisorBHyVe: The BSD Hypervisor
BHyVe: The BSD Hypervisor
 

Similar to Open VZ

PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~Preferred Networks
 
MINCS – containers in the shell script
MINCS – containers in the shell scriptMINCS – containers in the shell script
MINCS – containers in the shell scriptMasami Hiramatsu
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾外道 父
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)Satoshi Shimazaki
 
IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0Etsuji Nakai
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストールYasuhiro Arai
 
自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介Kentaro Mitsuyasu
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西Masahide Yamamoto
 
A story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88kA story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88kKenji Aoyama
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかえむ ばーど
 
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)Satoshi Shimazaki
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Mori Shingo
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1Etsuji Nakai
 
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成Izumi Tsutsui
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Masahito Zembutsu
 
Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化hiroyuki nakajima
 
Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514samemoon
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Yasuhiro Arai
 

Similar to Open VZ (20)

PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
 
MINCS – containers in the shell script
MINCS – containers in the shell scriptMINCS – containers in the shell script
MINCS – containers in the shell script
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)
 
IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介
 
Gingerbread
GingerbreadGingerbread
Gingerbread
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
 
A story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88kA story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88k
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
 
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
 
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴
 
Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化
 
Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
 

More from Kazuaki Fujikura

Aws re invent2018_security_recap_introducing_securityhub_ja
Aws re invent2018_security_recap_introducing_securityhub_jaAws re invent2018_security_recap_introducing_securityhub_ja
Aws re invent2018_security_recap_introducing_securityhub_jaKazuaki Fujikura
 
通信の安全を守るためにエンジニアができること
通信の安全を守るためにエンジニアができること通信の安全を守るためにエンジニアができること
通信の安全を守るためにエンジニアができることKazuaki Fujikura
 
テスト環境まるごとAwsにのっけてみた
テスト環境まるごとAwsにのっけてみたテスト環境まるごとAwsにのっけてみた
テスト環境まるごとAwsにのっけてみたKazuaki Fujikura
 

More from Kazuaki Fujikura (9)

Aws re invent2018_security_recap_introducing_securityhub_ja
Aws re invent2018_security_recap_introducing_securityhub_jaAws re invent2018_security_recap_introducing_securityhub_ja
Aws re invent2018_security_recap_introducing_securityhub_ja
 
通信の安全を守るためにエンジニアができること
通信の安全を守るためにエンジニアができること通信の安全を守るためにエンジニアができること
通信の安全を守るためにエンジニアができること
 
Docker inside containers
Docker inside containersDocker inside containers
Docker inside containers
 
20120914 aws summit_lt
20120914 aws summit_lt20120914 aws summit_lt
20120914 aws summit_lt
 
cross2012a fujya
cross2012a fujyacross2012a fujya
cross2012a fujya
 
テスト環境まるごとAwsにのっけてみた
テスト環境まるごとAwsにのっけてみたテスト環境まるごとAwsにのっけてみた
テスト環境まるごとAwsにのっけてみた
 
Open vzでdr hbstudy
Open vzでdr hbstudyOpen vzでdr hbstudy
Open vzでdr hbstudy
 
Open vzでdr
Open vzでdrOpen vzでdr
Open vzでdr
 
Monit
MonitMonit
Monit
 

Recently uploaded

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (9)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 

Open VZ

  • 1.        ~ High-Performance Virtualization ~ www.shanon.co.jp id: ふじゃ fujya
  • 2.
  • 3.
  • 4.
  • 5.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. とある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!
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 21. 第一話   memcahed が使えない!!!?? Cache 死亡フラグ
  • 22.
  • 23.
  • 24.
  • 25. Memcached が使えない!!!??  解答編 Memcached- client Memcached-server eth0 eth0 OpenVZ リリース前の構成 物理サーバ A 物理サーバ B 0.006 秒
  • 26. Memcached が使えない!!!??  解答編 eth0 eth0 vent0 vent0 Memcached- client Memcached-server Vent0:0 Vent0:0 OpenVZ リリース後の構成 A  ホスト B  ホスト コンテナ 102 コンテナ 101 0.3 秒
  • 27.
  • 28.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 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
  • 48. P2V(Physical to Virtual) [root@openvz]# vzctl start 1001 3. Container start P2V 完了!!
  • 49. Excellent Redundancy system DRBD で /vz を sync OpenVZ  サーバ( A) OpenVZ  サーバ( B) /vz /vz CTID101 (Running) CTID101 (stopped) HB で相互監視
  • 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 を起動
  • 52.
  • 53. Live migration OpenVZ  サーバ( A) OpenVZ  サーバ( B) /vz /vz CTID101 (Running) メモリーダンプ ファイルシステムを移動
  • 54.
  • 55.
  • 56.

Editor's Notes

  1. OpenVZ とは Linux カーネルをベースに開発された「 OS レベルの仮想化ソフト」 ライセンスは GPL のバージョン2 商用版として Parallels 社の Viruozzo がある
  2. 稼働中のコンテナのメモリの設定も可能(512 MB-&gt;1GB  など) CPU,IO 周りは Linux のスケジューラに準拠
  3. 18 台のコンテナが 4GB メモリのマシン上でネイティブの速度で稼動
  4. ハイパーパイザ型の場合はメモリを占有で割り振る メモリの free も占有するので、全体で共有できない
  5. OpenVZ ではメモリは占有ではなく、利用する権限を与える メモリの free 部分も共有するので、たくさんのコンテナを稼動させることが可能
  6. arp broadcast を venet0 がコンテナに転送する際に遅延が発生していました。 ※   Kazuho さん情報ありがとうございました!! http://d.hatena.ne.jp/kazuhooku/20091007/1254890935
  7. P2V による物理サーバをコンテナをイメージ化
  8. LVM2 の snapshot の機能を利用してコンテナのスナップショットの作成 ダウンタイム、バックアップタイムが0で可能
  9. 物理サーバでイメージの作成
  10. OpenVZ サーバでイメージの展開 デバイスファイルなどの作成
  11. 起動して完了
  12. DRBD で /vz があるデバイスをネットワーク同期 HB で OpenVZ サーバの相互監視 HB でコンテナの起動をコントロール
  13. Active サーバがダウンした場合に HB が Standby サーバのコンテナを稼動させる これでほぼダウンタイムが0の冗長構成が可能
  14. 移動元サーバでメモリダンプを作成 設定ファイル、ファイルシステム、メモリダンプをすべて転送 (rsync で同期 ) この間コンテナは一時停止状態
  15. すべて転送が完了したらメモリダンプを復元し、コンテナの稼動 ネットワーク周りは arpsend とかすると思う