Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜

2,573 views

Published on

第8回 コンテナ型仮想化の情報交換会@東京(http://ct-study.connpass.com/event/18052/)のLT発表資料です。

Published in: Software
  • Be the first to comment

こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜

  1. 1. @furandon_pig ∼FreeBSD VPSでライブマイグレーション∼
  2. 2. 自己紹介 • Twitter ID: @furandon_pig • 家ではNetBSDを使っています • 興味ドリブンで勉強会開催しています • ECMA-262 Edition5.1読書会 • https://ecma262reading.doorkeeper.jp/ • 「理論から学ぶ データベース実践入門」読書会 • http://riron-db.connpass.com • ゆるいUNIX勉強会∼ゆるゆに∼ • https://yry2.doorkeeper.jp/ • Live2Dで遊ぶ会 • https://enjoying-live2d.doorkeeper.jp/
  3. 3. 本日の内容 FreeBSDでのコンテナ実装である VPS(Virtual Private Systems)を 試してみた、という話です。 VPSの機能として、コンテナの ライブマイグレーションが提供 されているので、その様子を 実際にデモする形で紹介します。
  4. 4. VPSとは? • VPS(Virtual Private Systems) • FreeBSDにおけるコンテナ型仮想化の一実装 • 現状ではまだexperimentlな印象が強い OS level virtualization FreeBSDでの実装 Hypervisor Emulation of Hardware AIX Workload Partitions Solaris Containers Virtuozzo/OpenVZ LXC Docker VPS Jail Xen VMware ESX bochs
  5. 5. VPSの機能/Jailとの違い • VPSの機能 • 小さいオーバーヘッドで仮想環境を提供 • ライブマイグレーション機能 • Nested virtualization • Fine grained resource control • Jailとの違い • Jailはセキュリテイ面からの資源分割 • VPSはコンテナ型仮想化自体を意識した設計 • Jailはグローバルテーブルを各エントリに区切っている • VPSはインスタンス毎にプロセスツリー/グループを持つ
  6. 6. テスト用環境 • vps{03,04}のそれぞれにVPSをインストール • vps03でコンテナ作成、vps04にマイグレーション vps03 vps04 192.168.98.0/24 192.168.10.55 192.168.10.54
  7. 7. VPSのインストール • FreeBSD-9.1-RELEASE(i386) • 9.1のISOイメージは既に公式サイトからは削除 • 以下のURLよりダウンロードする • https://archive.org/details/freebsd-9.1_release_i386 • VPS関連のバイナリ • VPS for FreeBSD • http://www.7he.at/freebsd/vps/
  8. 8. FreeBSD-10でVPS • 最新のVPSバイナリはFreeBSD-10系向けの模様 • が、それでも対象はFreeBSD-10.1と若干古い • 幾つかの機能を利用する際にpanicが発生する • 例えばライブマイグレーション • マイグレーション後のリストアでpanic
  9. 9. インストール手順 # uname -rms FreeBSD 9.1-RELEASE i386 # # fetch http://www.7he.at/freebsd/vps/files/pkgs/vps-fbsd91-r130-i386-dbg.tbz # pkg_add vps-fbsd91-r130-i386-dbg.tbz # (VPS対応カーネルと関連するカーネルモジュールがインストールされる) # shutdown -r now (VPS対応カーネルで起動してくる) # /etc/rc.vpssetup.sh # # mount -t cd9660 /dev/cd0 /mnt # find /mnt/ -name base.txz /mnt/usr/freebsd-dist/base.txz # cp /mnt/usr/freebsd-dist/base.txz .
  10. 10. コンテナを作成する • 公式サイトの以下の手順に従いコンテナを作成する • http://www.7he.at/freebsd/vps/docs/setup_testenv.txt • とはいえ、毎回手順を頭から実施するのは煩雑 • 以下のスクリプトでコンテナを作成すると楽 • https://gist.github.com/furandon-pig/02f3f9c097d20f22b017
  11. 11. コンテナを起動する • vpsctl startでVPSコンテナを起動する • 起動しているコンテナはvpsctl listで確認できる vpsctl start vps_id vpsctl list
  12. 12. *コンテナのなかにいる* • VPSコンテナに入るにはvpsctl shellを実行する vpsctl shell vps_id
  13. 13. コンテナのマイグレーション(1/2) • vpsctl migrateでコンテナをライブマイグレーション できる • 事前にssh root@migrate_hostでログイン可能にし ておく必要がある • sshd_configで PermitRootLoing yes を設定する vpsctl migrate node_id migrate_host
  14. 14. コンテナのマイグレーション(2/2) vps03 vps04 192.168.98.0/24 192.168.10.55 192.168.10.54 # vpsctl migrate test01 vps04
  15. 15. マイグレーション時の注意点 • コンテナから抜けている状態でないとマイグレーション が失敗する • 場合によってはpanicする • 端末を掴んだ状態でのマイグレーションがダメ? • vps0のインタフェース以外と疎通しながらマイグレーショ ンすると効果覿面(panic的な意味で) • これはこちらの設定に抜けがあるのかも…
  16. 16. まとめ • FreeBSDのVPS(Virtual Private Systems)機能の紹介と デモ • 現状、ライブマイグレーションは古いバージョンの FreeBSDでないと試すことができない • ライブマイグレーション機能自体がJail側に取り込まれ ると良いのにという気もする • やはりまだexperimentalな感じ+FreeBSD-10,11系に対 応してほしい

×