仮 想 サーバホスティング 株 式 会 社 クララオンライン 白 畑 真
自 己 紹 介 クララオンラインについて 専 用 サーバ/ 仮 想 サーバを 中 心 とするWeb ホスティング 事 業 者 2003 年 よりLinuxベースの 仮 想 サービスを 提 供
主 要 な 仮 想 化 方 式 仮 想 マシン (Virtual Machine): VMware, MS Virtual Server, Parallels, Xen 準 仮 想 化 (Paravirtualization): Xen, UML (User Mode Linux) OSレベル 仮 想 化 同 一 のKernelを 用 いてOSを 仮 想 的 に 分 割 する 技 術 独 立 したプロセス 空 間 ファイル 空 間 ユーザ 管 理 主 要 なOSレベル 仮 想 化 ソフトウェア Parallels Virtuozzo Containers, OpenVZ, Linux- Vserver, Solaris Containers (Zones), FreeBSD Jail 仮 想 サーバの 呼 び 方 Container, Virtual Environment, VPS (Virtual Private Server), Jail..
典 型 的 なホスティング 事 業 者 の サーバと 仮 想 化 技 術
一 般 的 なホスティングプロバイダの 主 要 サービ ス 共 用 ホスティング 単 一 のハードウェアで 一 つのサーバを 稼 働 させる が プロトコル 上 の 識 別 子 を 用 いて 領 域 を 分 割 ; 複 数 顧 客 に 提 供 仮 想 サーバホスティング 単 一 のハードウェア 上 に 複 数 の 仮 想 サーバを 構 築 し 各 仮 想 サーバを 顧 客 に 提 供 専 用 サーバホスティング 単 一 のハードウェアを 顧 客 に 提 供
共 有 ホスティング 共 有 ホスティング 単 一 のサーバを 複 数 顧 客 で 共 有 プロトコルに 内 包 された 識 別 子 を 利 用 Webサーバやメールサーバなどのサーバ アプリケーションがドメイン 名 を 認 識 し それに 基 づきサービスを 提 供 SMTP/POP3: メールアドレス HTTP: Name Based Virtual Host HTTP/1.1のHost:ヘッダ example.jp example.comexample.net サーバアプリケーション (Webサーバ) OS ハードウェア
仮 想 サーバホスティング 仮 想 サーバ(VPS) 単 一 の 物 理 サーバ 上 で 複 数 の 仮 想 サーバを 稼 働 ; 各 仮 想 サーバを 一 顧 客 で 占 有 OSレベル 仮 想 化 方 式 : 仮 想 マシン 方 式 : 仮 想 OS: example.jp サーバアプリケーション (Webサーバ) 仮 想 OS: 仮 想 OS: example.comexample.net OS(+ 仮 想 化 機 能 ) ハードウェア 仮 想 マシン: example.jp サーバアプリケーション (Webサーバ) OS OS OS 仮 想 マシン: 仮 想 マシン: example.comexample.net HyperVisor ハードウェア
仮 想 サーバサービスと 仮 想 化 技 術 各 社 ホスティングサービスで 利 用 されている 仮 想 化 技 術 OSレベル 仮 想 化 方 式 [Virtuozzo] クララオンライン, FirstServer, ソフトバンクIDC, Livedoor, tsukaeru-net [OpenVZベース] NTT-PC, Verio (RapidSite) [FreeBSD VPS] Verio (RapidSite, OCN) 仮 想 マシン 方 式 [Xen] @YMC, at+link [Virtual Iron] at+link 出 典 : Hosting Pro 2008 講 演 資 料 Webより 筆 者 作 成 ホスティングではOSレベル 仮 想 化 が 主 流
OS 仮 想 化 について
OSレベル 仮 想 化 とは 何 か システムコールに 対 するラッパー 群
OSレベル 仮 想 化 方 式 と 仮 想 マシン 方 式 Pros と Cons OSレベル 仮 想 化 のPros/ 仮 想 マシンのCons サーバ 密 度 サーバ 密 度 サーバ 密 度 Virtuozzoの 場 合 には 仮 想 マシンの3 倍 ( 公 称 ) OSレベル 仮 想 化 のPros/ 仮 想 マシンのCons OSの 選 択 肢 メモリ 管 理 上 の 制 限 低 レベルな 処 理 の 制 限
Pros: サーバ 密 度 (VMとは 違 い) 仮 想 サーバとハードウェア 上 で メモリアドレスの 変 換 処 理 が 不 要 オーバーヘッドが 低 い テンプレート 機 能 : 複 数 の 仮 想 サーバに 対 して 同 一 のプログラムをインストールできる 同 一 のファイルを 参 照 する(ハードリンク)ので ハードディス クの 容 量 を 節 約 できる メモリの 一 部 (テキストセグメント)を 共 有 できるため メモリ を 効 率 的 に 利 用 できる
Cons: OSの 選 択 肢 同 一 Kernelで 異 なる 仮 想 サーバを 実 現 同 一 ハードウェア 上 で 異 なるOSを 利 用 する ことはできない 同 じkernelでよければ [Linuxの 場 合 ] 異 なるディストリビューション [Solarisの 場 合 ] 異 なるバージョン を 共 存 できる
Cons: Virtuozzoのメモリ 管 理 OSレベル 仮 想 化 仮 想 サーバと 物 理 サーバのメモリアドレスを 変 換 しない Virutozzoのメモリ 管 理 方 式 UBCモード 単 純 にOSのメモリを 分 割 HIGHMEMとLOWMEMをぞれぞれ 分 割 して 管 理 するため 使 い 勝 手 が 異 なる 部 分 がある SLMモード メモリの 割 り 当 てを 動 的 に 決 定 仮 想 マシン 方 式 に 近 い 感 覚 で 利 用 できる
Cons: Virtuozzoのメモリ 管 理 -UBC UBC (User Bean Counter) モード メモリの 領 域 などのリソースを 細 かい 粒 度 で 分 割 し それぞれのパラメータごとに 保 証 値 と 制 限 値 を 設 定 確 実 なリソースの 割 り 当 てを 保 証 メモリ プロセス 数 などのリソース 割 り 当 ての 閾 値 を 超 えると 新 規 リソースの 割 り 当 てが 全 て 拒 否 される Cannot allocate memory SSHできない コンテナで 利 用 できる メモリ 容 量 kme msiz e etc.. Privmem pages 32bit の x86 プロセッサのメモリゾーン #100 0MB64MB #101 #102 #103 #100 #101 #102 #103 LowMem HighMem 896MB or 3968MB (Hugemem)
Cons: Virtuozzoのメモリ 管 理 -SLM SLM (Service Level Management) モード メモリを 容 量 でざっくり 管 理 細 かいパラメータでの 管 理 は 行 わない HIGHMEM/LOWMEMの 割 り 当 ては 自 動 LOWMEMが 不 足 する 可 能 性 はあり 得 る 通 常 のLinuxのメモリ 管 理 方 法 とほぼ 同 じ メモリが 不 足 した 場 合 OOM Killerがプロセス を 強 制 終 了 してメモリを 解 放
専 用 サーバ 専 用 サーバ+ 仮 想 化 技 術 単 一 の 物 理 サーバ 上 で 単 一 の 仮 想 サーバを 稼 働 マイグレーションによりハードウェア 変 更 が 容 易 ファームウェア 更 新 やハードディスク 増 設 時 の ダウンタイム 削 減 OSレベル 仮 想 化 方 式 : 仮 想 マシン 方 式 : サーバアプリケーション (Webサーバ) 仮 想 OS: example.com OS+ 仮 想 化 ハードウェア サーバアプリケーション (Webサーバ) OS 仮 想 マシン: example.com HyperVisor ハードウェア
仮 想 ホスティング 運 用 にまつわる 5つのトピック
リソース 割 り 当 て: 総 論 制 御 できる 典 型 的 なリソース CPU 時 間 メモリ ファイル 容 量 リソース 制 限 を 超 過 した 場 合 の 振 る 舞 いに 注 意 性 能 保 証 かオーバーコミットか CPU: 2GHz Quad Core, メモリ: 8GBのハードウェアの 場 合 単 純 に4 分 割 すると2GHz CPU, 2GBのメモリ 多 くの 場 合 ハードウェアの 総 処 理 能 力 以 上 を 仮 想 サーバに 割 り 当 てても 問 題 は 発 生 しない クララオンラインの 場 合 : 従 来 はベストエフォート 型 サービス(VPS)と 保 証 型 サービス(FPS)を 提 供 現 在 はベストエフォート 型 サービス(FlexMini)のみを 提 供
リソース 割 り 当 て: I/O 帯 域 幅 I/O 帯 域 幅 は 有 限 な 資 源 各 ハードウェア/ディスク 毎 に 性 能 に 限 り 特 定 の 仮 想 サーバがハードウェアのI/O 帯 域 幅 を 占 有 した 場 合 コントロール 手 段 に 乏 しい DBMSへの 集 中 的 なアクセスなど 仮 想 サーバのCPUサイクルやメモリが 保 証 され ている 場 合 でも 総 合 的 にみたパフォーマンスが 低 下 する 恐 れがある 大 数 の 法 則 である 程 度 はカバー 専 用 サーバでは 問 題 なし
マイグレーション 計 画 メンテナンスの 効 率 化 ハードウェアのファームウェア 更 新 代 替 ハードウェアへの 変 更 Virtuozzoの 場 合 共 有 ディスクが 不 要 マイグレーションの 流 れ 1. ファイルシステムのコピー 2. メモリ 領 域 のダンプ 3. メモリ 領 域 のコピー 4. メモリ 領 域 のレジューム ノートパソコンのサスペンド レジュームに 近 い OSは 再 起 動 しないが 厳 密 には 少 し 止 まる メモリの 量 に 依 存
ハードウェア 専 用 サーバと 仮 想 サーバ 同 じ 金 額 のサービスでも 仮 想 サーバの 方 が 相 対 的 に 良 いハードウェアを 利 用 できる RAIDによるディスク 冗 長 化 / 電 源 冗 長 化 ハードウェアに 障 害 が 生 じた 場 合 の インパクトも 大 きい 数 十 サーバが 実 用 的 な 限 界? 海 外 では 数 百 サーバを 単 一 ハードウェアで 運 用 している 例 もある
OSレベル 仮 想 化 技 術 利 用 に 伴 う 制 限 機 能 上 の 制 約 が 多 い 多 くの 機 能 が 仮 想 化 機 能 を 有 するドライバにより 提 供 される NIC ファイルシステム 全 般 的 に 低 レベルのアクセスに 制 約 例 : LKM (Loadable Kernel Module)の 利 用 特 定 の 仮 想 サーバに 対 して/dev/ 以 下 のデバイスに 対 す る 排 他 的 アクセスを 設 定 可 能 な 場 合 も 仮 想 化 技 術 によってはパケットフィルタ 経 路 表 などの 利 用 に 制 限 がある パケットキャプチャやdhcpdの 運 用 など Virtuozzoの 場 合 にはiptablesと 経 路 表 を 独 自 に 持 てる 仮 想 サーバ 同 士 の 相 互 接 続 があまり 想 定 されていない メモリ 割 り 当 て 方 式 が 特 殊 ただし 仮 想 マシンと 異 なり 実 マシンと 仮 想 マシンのアド レス 変 換 のオーバーヘッドなし
キャパシティプランニング ホスティングではお 客 様 の 利 用 形 態 が 事 前 にわからない キャパシティプランニングが 難 しい 基 本 的 に 大 数 の 法 則 でカバー 各 ハードウェアごとの 負 荷 が 一 定 水 準 に 収 まるように 収 容 数 を 調 整 専 用 サーバでは 問 題 なし
まとめ 仮 想 化 技 術 全 般 について コントロールできるリソースとコントロールできな いリソースがある リソースの 制 限 値 を 超 過 した 場 合 のふるまいにつ いて 調 査 する OSレベルの 仮 想 化 について 向 き 不 向 きがある VMと 比 べると 制 約 がかなり 多 い とにかく 早 くてサーバ 集 約 度 が 高 い