SlideShare une entreprise Scribd logo
1  sur  20
本日私のハイライト
コンテナ勉強会初参加だけど
せっかくだからLTしよう
VPSの話ならまぁ誰もやらないよな~
_人人人人人人人人人人_
> まさかの同じネタ <
 ̄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したい

Contenu connexe

Tendances

Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsHokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
Tadahiro Ishisaka
 

Tendances (20)

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

Similaire à FreeBSD VPSでLive Migration

WordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオンWordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオン
Masaki Takeda
 
ななめ45°から見たJavaOne
ななめ45°から見たJavaOneななめ45°から見たJavaOne
ななめ45°から見たJavaOne
AdvancedTechNight
 
商用VPSのここだけの話
商用VPSのここだけの話商用VPSのここだけの話
商用VPSのここだけの話
joeswebhosting
 
たのしいNode.js
たのしいNode.jsたのしいNode.js
たのしいNode.js
ishiki-takai
 
Hyper-V 虎の巻
Hyper-V 虎の巻Hyper-V 虎の巻
Hyper-V 虎の巻
hirookun
 

Similaire à FreeBSD VPSでLive Migration (20)

WordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオンWordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオン
 
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
 
Osoljp201204
Osoljp201204Osoljp201204
Osoljp201204
 
vSphere環境での自動化とテスト
vSphere環境での自動化とテストvSphere環境での自動化とテスト
vSphere環境での自動化とテスト
 
ななめ45°から見たJavaOne
ななめ45°から見たJavaOneななめ45°から見たJavaOne
ななめ45°から見たJavaOne
 
商用VPSのここだけの話
商用VPSのここだけの話商用VPSのここだけの話
商用VPSのここだけの話
 
Shinjuku.rs #14 userland-ioの紹介
Shinjuku.rs #14 userland-ioの紹介Shinjuku.rs #14 userland-ioの紹介
Shinjuku.rs #14 userland-ioの紹介
 
コミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバコミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバ
 
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -
 
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
 
パブリック・クラウド基盤でVirtual on virtual ってどうよ
パブリック・クラウド基盤でVirtual on virtual ってどうよパブリック・クラウド基盤でVirtual on virtual ってどうよ
パブリック・クラウド基盤でVirtual on virtual ってどうよ
 
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
 
たのしいNode.js
たのしいNode.jsたのしいNode.js
たのしいNode.js
 
20141023 IPv6 Summit in FUKUOKA 2014 IPv6対応Webサービスの作り方
20141023 IPv6 Summit in FUKUOKA 2014 IPv6対応Webサービスの作り方20141023 IPv6 Summit in FUKUOKA 2014 IPv6対応Webサービスの作り方
20141023 IPv6 Summit in FUKUOKA 2014 IPv6対応Webサービスの作り方
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
 
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsugJAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
 
Hyper-V 虎の巻
Hyper-V 虎の巻Hyper-V 虎の巻
Hyper-V 虎の巻
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0
 
ダイナミックDNSとは
ダイナミックDNSとはダイナミックDNSとは
ダイナミックDNSとは
 

FreeBSD VPSでLive Migration