2013/12/22 - 第4回とある勉強会での発表資料 - Yuki Kawaguchi CentOS 6.5 で Xen を使う話 1
2013/12/22 - 第4回とある勉強会での発表資料 -
Yuki Kawaguchi
CentOS 6.5 で Xen を使う話
���1
自己紹介
���2
名前: Yuki Kawaguchi twitter: @kawa0810 はてな id: kawa0810
・学生時代の研究 並列・分散処理,GPGPU,数値計算関係
・本業 ラブライバー
仮想マシンの利用数
���3
出典) IDC - 国内サーバ市場における仮想マシンの出荷予想 - http://www.idcjapan.co.jp/Press/Current/20130411Apr.html
仮想マシンの出荷台数は増加傾向
2012年以降は仮想マシンの 出荷台数のほうが多くなる見込み
仮想化アーキテクチャ
���4
パーティショニング ハイパーバイザ
アプリケーション Linux Containersハードウェア
ファームウェア (仮想ソフト)ゲスト OS ゲスト OS
ハードウェア仮想マシンソフト
管理 OS ゲスト OS
ハードウェアホスト OS
ゲスト OS ゲスト OS仮想マシンソフト 調査中
ex) Hyper-V,Xen
ex) VirtualBox,KVM
ベンダーに依存
時代は Xen から KVM?
���5
CentOS 5 までは Xen だったが, CentOS 6 から KVM に変更
ではなぜ今回 Xen を扱うか?
���6
愛でしょう
(KVM は @wahho_yahho さんがやるしね)
発表の趣旨
���7
Xen の概要について
Xen のインストール方法
Xen における仮想マシンの管理方法
Xen とは - 仮想化のタイプ 1 -
���8
OSS のハイパーバイザ型仮想化ソフトウェア http://www.xenproject.org
準仮想化 Para-Virtualization
完全仮想化 Full-Virtualization
ハードウェア仮想マシンモニタ
Domain 0 Domain U
ハードウェア仮想マシンモニタ
Domain 0 HVMAPI API
・オーバヘッドが少ない ・専用カーネルやドライバが必要 ・BIOS なし
・オーバヘッドが大きい //PV ドライバの設定で改善可能 ・CPU の仮想化支援機能が必要 ・BIOS がある ・QEMU を使用する
Xen とは - 仮想化のタイプ 2 -
���9
OSS のハイパーバイザ型仮想化ソフトウェア http://www.xenproject.org
準仮想化 Para-Virtualization
完全仮想化 Full-Virtualization
ハードウェア仮想マシンモニタ
Domain 0 Domain U
ハードウェア仮想マシンモニタ
Domain 0 HVMAPI API
使用できる OS に制限がある - 基本的に Linux only - Domain 0 が 32bit だと Domain U も 32bit のみ使用可能
使用できる OS に制限はない - Domain 0 が 32bit だと Domain U も 32bit のみ使用可能
とりあえず,そのままインストール
Xen の設定
���10
管理OSを インストール
Xen 用の カーネルを用意
Xen 用の カーネルで起動
仮想マシン の作成・管理
Xen の設定
���11
管理OSを インストール
Xen 用の カーネルを用意
Xen 用の カーネルで起動
仮想マシン の作成・管理
お約束の実行!# yum update!# yum upgrade!# yum install emacs!# reboot
Xen の設定
���12
管理OSを インストール
Xen 用の カーネルを用意
Xen 用の カーネルで起動
仮想マシン の作成・管理
Xen のリポジトリを追加!# yum centos-release-xen!# reboot!# yum update //Xen カーネルの更新!# yum upgrade!# reboot //カーネルの切り替え
参考: http://wiki.centos.org/HowTos/Xen/Xen4QuickStart
Xen の設定
���13
管理OSを インストール
Xen 用の カーネルを用意
Xen 用の カーネルで起動
仮想マシン の作成・管理
# yum install xen!# /usr/bin/grub-bootxen.sh! //GRUB の更新!# less /boot/grub/grub.conf
title CentOS (3.10.23-11.el6.centos.alt.x86_64) root (hd0,0) kernel /xen.gz dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all module /vmlinuz-3.10.23-11.el6.centos.alt.x86_64 ro root=/dev/mapper/vg_tx130s3-lv_root rd_LVM_LV=vg_tx130s3/lv_root rd_NO_LUKS rd_NO_MD crashkernel=128M KEYBOARDTYPE=pc KEYTABLE=jp106 rd_DM_UUID=ddf1_4c53492020202020808627c3000000004711471100001450 rd_LVM_LV=vg_tx130s3/lv_swap LANG=ja_JP.UTF-8 rhgb quiet module /initramfs-3.10.23-11.el6.centos.alt.x86_64.img
/boot/grub/grub.conf の中身
参考: http://wiki.centos.org/HowTos/Xen/Xen4QuickStart
Xen の設定
���14
管理OSを インストール
Xen 用の カーネルを用意
Xen 用の カーネルで起動
仮想マシン の作成・管理
Xen が正常に動いているか確認する!# xm info!# xm list!# service xend status!etc...
# reboot //カーネルを切り替え!# uname -r!3.10.23-11.el6.centos.alt.x86_64
Xen 用カーネルか確認
参考: http://wiki.centos.org/HowTos/Xen/Xen4QuickStart
Xen の設定
���15
管理OSを インストール
Xen 用の カーネルを用意
Xen 用の カーネルで起動
仮想マシン の作成・管理
libvirt をインストールする!# yum install libvirt!# yum install virt-install //CUI!# yum install virt-manager //GUI!# service libvirtd start //起動
余談: libvirt とは
���16
Redhat が主体となって開発を進めている 仮想マシンを制御するための抽象化ライブラリ
http://libvirt.org
virtsh virtsh-manager virtsh-factory oVirt
KVM LXC OpenVZ UML Xen ESX other…
libvirt (VIRTULIZATION API)
GUI で仮想マシンを簡単に作成・管理する!# virt-manager
Xen の設定
���17
管理OSを インストール
Xen 用の カーネルを用意
Xen 用の カーネルで起動
仮想マシン の作成・管理
Xen の設定
���18
管理OSを インストール
Xen 用の カーネルを用意
Xen 用の カーネルで起動
仮想マシン の作成・管理
GUI で仮想マシンを簡単に作成・管理する!# virt-manager
Xen の設定
���19
管理OSを インストール
Xen 用の カーネルを用意
Xen 用の カーネルで起動
仮想マシン の作成・管理
いや,Linux なんだから CUI やろ?!# virt-install --prompt
時間なくて未確認 orz
Xen の設定
���20
管理OSを インストール
Xen 用の カーネルを用意
Xen 用の カーネルで起動
仮想マシン の作成・管理
仮想マシンの電源オン!# xm create <ドメイン名>
仮想マシンの仮想コンソールを開く!# xm console <ドメイン名>!
Ctrl + ] でドメイン0に戻る
仮想マシンの電源オフ!# xm shutdown <ドメイン名>
仮想マシンを強制終了!# xm destroy <ドメイン名>
まとめ
���21
CentOS 6 でも簡単に (?) Xen 環境が使用可能
libvirt と xm コマンドで 楽に仮想マシンの管理が可能
マイグレーションとかもできるらしいので 今後も調査がんばります
@wahho_yahho 先生へ あとはよろしく!!