SlideShare a Scribd company logo
本日私のハイライト
コンテナ勉強会初参加だけど
せっかくだからLTしよう
VPSの話ならまぁ誰もやらないよな~
FreeBSD VPSでLive Migration
_人人人人人人人人人人_
> まさかの同じネタ <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
FreeBSD VPSで
Live Migration
@spg_games
第8回 コンテナ型仮想化の情報交換会@東京
自己紹介
• 仕事 インフラエンジニア
• 社会人2年目
• 学生時代からFreeBSDユーザ
名前 spg(初心者pg)
@spg_games
FreeBSD VPSとは
http://vps.sakura.ad.jp/
ではなく
http://www.7he.at/freebsd/vps/
VPS(Virtual Private Systems)とは
• FreeBSDのjailをLive Migrationを可能に
した実装
• カーネルベースで動作するため高速
– LXDに相当
• VPSで作成したコンテナをVPSインスタン
スと言います
• EuroBSDCon 2010で発表
– http://news.mynavi.jp/articles/2010/10/18/eurobsdcon20
10-vps/
参考) jail process
JailのLive Migrationで必要な事
• プロセステーブルをホストで1つずつ持っ
ている。
– psのSTATにJが付くプロセス
• 他ホストへMigrationするとプロセス番号
が衝突する可能性
• コンテナ毎にプロセステーブルを分離
– Namespace(Linux)
– VPS(FreeBSD)
VPS install
• カーネルにパッチ当てる
– パッチサイズ1MB超え&約5万行パッチ
• VPS管理用バイナリのインストール
– vpsctl, rsync_vps等
• 対応OSバージョン(公式)
– FreeBSD 9.0-RELEASE
– FreeBSD 9.1-RELEASE
– FreeBSD 10.0-RELEASE
もうすべてEoL…
FreeBSD 10.1-RELEASE by spg
VPSパッチ作成!!
https://github.com/spg-games/vps
VPSインスタンスの操作
VPSCTL(8)で操作可能
vpsctl
start <id> <file>
stop <id> <file>
list
show <id>
execin <id> <cmd> [args ...]
execwt <id> <cmd> [args ...]
shell <id>
console <id>
ifmove <id> <ifname> [ifnewname]
suspend <id>
resume <id>
snapshot <id> <file>
abort <id>
restore <id> <file>
migrate <id> <remote-host> [norsync|onersync|tworsync]
argshow <id>
ipnet <id> add <address/network, ...>
ipnet <id> rem <address/network, ...>
priv <id> allow <privilege number, ...>
priv <id> deny <privilege number, ...>
priv <id> nosys <privilege number, ...>
limit <id> <resource:soft:hard,...>
showdump <file> (attention: loads of output !)
FreeBSD 10.1
Live Migration
DEMO
まとめ
• VPSとはFreeBSDのjailコンテナをLive
Migrationする実装
• VPSの中でプロセステーブルをコンテナ毎
に持つように実装
• ソースにマージされていないため、パッ
チを当てる必要がある
• FreeBSD 10.1のパッチ作りました
オチ
最後に
• フィーリングでパッチ書いたらbuild通っ
て動いた
– 実際マイナーアップデートでもvnet系の変更
が結構あり、カーネルデバッグ力なく苦戦…
というか今でも…
• Clang最高!
• vSphere DRSの様に負荷均等化したい
• ダウンタイムなしのkernel security
updateで脆弱性対策のPoCしたい

More Related Content

PDF
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
PPTX
Packerで自動化
PPTX
Azure Bastion の紹介
PDF
Node.js入門
PDF
Nodeについて
PDF
Xenとzfsで作る家庭内VDIサーバ
ODP
自宅サーバ仮想化
PPT
[大図解]ピグライフはこう動いている
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
Packerで自動化
Azure Bastion の紹介
Node.js入門
Nodeについて
Xenとzfsで作る家庭内VDIサーバ
自宅サーバ仮想化
[大図解]ピグライフはこう動いている

What's hot (20)

PDF
Node.js を選ぶとき 選ばないとき
PDF
Node.jsでブラウザメッセンジャー
PPTX
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
PPTX
Hokuriku.net 2013 01-26 node.js
PPT
Node.js で Web アプリ開発
PDF
[Vitocha.iso] FreeBSDカスタムiso作ってみた
PDF
後期第六回ネットワークチーム講座資料2016
PDF
Node.js基礎の基礎 - Miyazaki.js vol.2
PPTX
Sails.jsのメリット・デメリット
PDF
Node js 入門
PPT
20131012 nodejs
PPTX
勉強会0614 vagrant
PDF
初心者がOpenIndianaで自宅サーバを作ったよって話
PDF
FreeBSD の小ネタ
PDF
Linux KVMではじめるカンタン仮想化入門
PDF
FreeBSD を VirtualBox にインストールしてみた
PDF
MVCフレームワーク Sails.jsについて機能紹介
PPTX
クラウドのようなVPS 「ConoHa」 を使ってみよう。
PPTX
このべん第一回 ~ 「ConoHaってどんなVPS?」を勉強して3,000円クーポンをもらっちゃおうの会
PDF
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Node.js を選ぶとき 選ばないとき
Node.jsでブラウザメッセンジャー
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
Hokuriku.net 2013 01-26 node.js
Node.js で Web アプリ開発
[Vitocha.iso] FreeBSDカスタムiso作ってみた
後期第六回ネットワークチーム講座資料2016
Node.js基礎の基礎 - Miyazaki.js vol.2
Sails.jsのメリット・デメリット
Node js 入門
20131012 nodejs
勉強会0614 vagrant
初心者がOpenIndianaで自宅サーバを作ったよって話
FreeBSD の小ネタ
Linux KVMではじめるカンタン仮想化入門
FreeBSD を VirtualBox にインストールしてみた
MVCフレームワーク Sails.jsについて機能紹介
クラウドのようなVPS 「ConoHa」 を使ってみよう。
このべん第一回 ~ 「ConoHaってどんなVPS?」を勉強して3,000円クーポンをもらっちゃおうの会
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Ad

Viewers also liked (6)

PDF
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
PDF
Smart OS入門
PDF
ちょっとOverlayfsの実装、読んでみました(A brief report of overlayfs source code reading)
PDF
Cgroupあれこれ-第4回コンテナ型仮想化の情報交換会資料
PDF
コンテナー型仮想環境の情報交換会
PDF
Docker Swarm入門
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
Smart OS入門
ちょっとOverlayfsの実装、読んでみました(A brief report of overlayfs source code reading)
Cgroupあれこれ-第4回コンテナ型仮想化の情報交換会資料
コンテナー型仮想環境の情報交換会
Docker Swarm入門
Ad

FreeBSD VPSでLive Migration