(C)Copyright 1996-2016 SAKURA Internet Inc.
さくらのベアメタルをつくってみた @ #ssmjp
さくらインターネット株式会社
プラットフォーム事業部 インフラ開発チーム
伊東 宏起
2016年1月29日
自己紹介
• 伊東 宏起
– 2015年4月 新卒採用にて入社
• プラットフォーム事業部 インフラ開発チーム
– さくらのVPS開発担当
• 物理からミドルウェア辺りまでの検証・開発が主な業務
• ベアメタルプランの開発担当
– JANOG37 プログラム委員
さくらのVPS ベアメタルプランリリース!
そもそもベアメタルって?
• ベアメタル – Bare Metal
– 直訳すると、むきだしの金属
– OSなどが導入されていない、まっさらなサーバー
– vmware ESXi / Xen などを指す場合も
• 仮想化されていない物理サーバーを
指すことが一般的には多い
VPS なのにベアメタルとは…
• Virtual Private Server とはなんだったのか
– 紛らわしいですが、さくらのVPSベアメタルプランは
生の物理マシン です
– VPS のような感覚で、物理マシンを利用できる
というコンセプト
• VPS
– ホストサーバー上に仮想化基盤(KVM)を構築
– KVM を利用して、VM を用意
– VM に OS をインストールして提供
VPS なのにベアメタルとは…
• ベアメタル
– ホストサーバー上に OS を直にインストール
– 生のハードウェアを提供
VPS なのにベアメタルとは…
VPS なのにベアメタルとは…
VPS ベアメタル
• ホストサーバー上に仮想化基盤を構築
– 仮想化基盤上でVMを作成して提供
• ホストサーバーをそのまま利用
– 仮想化基盤は挟まずに
OSをインストールして提供
VPS コントロールパネルからの操作
VPS とのローカル接続
L2 接続
L2 接続
どう使えばいいの? その1
• 物理マシンの特性を活かす!
– VPS だと Disk I/O が遅い…
• DB などをベアメタルに逃がして、
フロント部分は VPS をそのまま使う
どう使えばいいの? その1
L2 接続
L2 接続
どう使えばいいの? その2
• とりあえず物理マシンが今すぐ欲しい!
– VPS のような感覚で、とりあえず使える
• オンプレと違って、ハードウェア調達しなくてOK
– 電源・ネットワークも気にしなくてOK
– いらなくなっても粗大ゴミ気にしなくてOK
• お試し期間で解約すれば、料金は無料!
結局のところ、さくらのベアメタルって?
• エンジニア目線での正式名称
– さくらのVPS (と同じコンパネで使えて、
ローカル接続もできる、さくらの)ベアメタル
• まとめて、さくらのVPS ベアメタルプラン!
インストール
VLAN
開発裏話 – OSのオートインストール + プロビジョニング
• OSのオートインストール
– VLAN を切り替えてインストール用 NW へ隔離
– PXE Server の config を動的に生成
– IPMI で制御しながら PXE Boot
• 任意のOSのインストーラーをブートする
コントロール &
インストールサーバー
アクセススイッチ
ベアメタルサーバー
開発裏話 – OSのオートインストール + プロビジョニング
• プロビジョニング
– kickstart / preseed を動的に生成して実現
• PXE Server の config とひも付け
– ユーザーの設定
• 管理者パスワード
– 最低限のパッケージのインストール
– ネットワークの設定
• NIC の Mac address の書き換え
• OS のグローバルIPなどなどの設定
開発裏話 – VLAN の制御
• ホストサーバーへの access VLAN の切り替え
アクセススイッチ
コントロール &
インストールサーバー
自作のコントロール用ライブラリ
任意のポートの
VLAN切り替え指示
実はホワイトボックススイッチ
使ってます
開発裏話 – VLAN の制御
• ホストサーバーへの access VLAN の切り替え
アクセススイッチ
コントロール &
インストールサーバー
自作のコントロール用ライブラリ
任意のポートの
VLAN切り替え指示
開発裏話 – VLAN の制御
• VPS とのローカル接続
アクセススイッチ
集約スイッチ
VPS NW
(QinQ)
BM NW
(VLAN)
QinQ <--> VLAN
相互変換サーバー
つくってみて
• 低レイヤー職人になりつつある
– サーバーが可愛く見えてきた
• ホワイトボックススイッチ楽しい
• VLANとQinQの変換サーバーは
技術屋泣かせ

sakura-baremetal_ssmjp