39
www.opensolaris.org Solaris Container Zone )を使った インターネットサーバシステム構築(初級~中級編) ジャストプレイヤー株式会社 代表取締役社長 瀧 康史 Japan OpenSolaris Users Group Leader

Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.opensolaris.org

Solaris Container(Zone)を使ったインターネットサーバシステム構築(初級~中級編)

ジャストプレイヤー株式会社代表取締役社長 瀧 康史

Japan OpenSolaris Users Group Leader

Page 2: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

Internet WEB Systemの設計

Page 3: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 3 -www.opensolaris.org

WEBシステムを作ってみよう(物理)

Storage Array

Controller Controller

Storage Server

HBA

Switch Switch

SAS接続 SAS接続Storage Server

iSCSI targetStorage Server

iSCSI target

Server Server Server

Stack

L.A. L.A.

L.A.

HeartBeat

L.A. L.A.

HBA

Storage Server

Switch SwitchStack

L.A.L.A. L.A.

StackRouter w FW Router w FW

この上は略

物理的な配線

1. Internet

2. Router with FireWall

3. Switch

4. Service Server

5. SAN Switch

6. Storage Server (TARGET)

7. Storage Array

物理図はこんなかんじですが、今回はL4より下の冗長は考えない。(L5以上にとって、L4以下はインフラなのだ)

Page 4: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 4 -www.opensolaris.org

WEBシステムを作ってみよう(論理)

WAF WAF

DBMS DBMS

WEB ServerWEB Server Application Server DNS / Contents ServerApplication Server

MTAForward ProxyDNS/ResolverLoad Balancerw FireWall

Load Balancerw FireWall

Internet

DNS / Contents Server

下記の役割は別途必要

. ステージングサーバ . 監視サーバ . バックアップシステム . ルータ

他にも色々あるかもしれません。個別のIPFW、ファイルサーバ、FTPサーバ等 ・々・・・・・

Page 5: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 5 -www.opensolaris.org

どのようにして、インターネットサービスのシステムを作るのか?

. 案件の規模 . サービスの相手、市場の大きさ(想定ユーザ数) . かけられるお金 . 予算は?既存リソースの再利用?別途購入? . 期間 . 今すぐ欲しい? いつまでに欲しい? . このサービスは恒久?それとも期間限定? . セキュリティは? . 理性的に考えれば不思議だが、現実的にはコスト次第。インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりません。理想と現実をつなぐ役割であるため、色々板挟みです。 そこで・・・

どう作るのか?

Page 6: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

仮想化とは?

Page 7: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 7 -www.opensolaris.org

サーバ仮想化とは?

「ハードウェア資源と、サーバを分離する」

1台の物理サーバの上に複数の仮想サーバを動かせるベネフィットより、複数台の物理サーバの上に、たくさん仮想サーバを動かせる利便性。

仮想化層

Page 8: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 8 -www.opensolaris.org

仮想化のファイナンシャル・メリット

. ハードウェア資源「=物理サーバ機器群」と、サービスが密着しない . 投資サイクルとサービスのライフサイクルを分離できる . ほとんどのサービスは、はじめるまでどの規模のハードウェア資源が必要かわからない . 時期によって繁盛記が異なるサービスがある具体的には?

. ハードウェア資源は足りなくなったときに買えばよい . リースバック時のサーバリプレースがスムーズである . サービスの開始時に、ハードウェアの納期に縛られずにすむ(予算化がいらないことも・・・・・・)

. サービスの縮退が、ファイナンシャルのサイクルに縛られずにすむ

Page 9: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 9 -www.opensolaris.org

どんなものがあるのだろう?

. WEBサーバ

. アプリケーション . メールサーバ . データベースサーバ . ファイルサーバ . ストレージサーバ . ネームサーバ . DHCPサーバ

. NAT

. ロードバランサー、ルータ、等 ・々・・もうかけない・・・

サーバとはなにか?≠サーバ機

Page 10: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 10 -www.opensolaris.org

サーバを実現する為の技術空間実現するユニット、セットはなんだろう?

1. プロセスやユーザ単位2. プロセスのグループ(SolarisではProjectやTask)3. ネットワーク4. ファイルシステム。OSのユーザ・ランド。5. OSのカーネルのサービスモジュール。6. ハードウェアとOSのドライバ群

サーバ(サービスのエンジン)とは、あるサービスを実現するための単位。インフラ系のエンジニアは、これらのサーバ群に最適なリソースを与え、制御し、システムを正常に稼働・運用させるのが仕事。

Page 11: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 11 -www.opensolaris.org

各種仮想化の隔離性・仮想化コスト

. 左上のものほど、リソースという側面からみると、優れている。 . 赤いものは、別OSが動く

高 低

仮想化コスト

大小

● Xen Server (PVM)

● VMware ESX

● Xen Server (HVM)

Solaris Container ●

User / Process ●

隔離性● Linux KVM

● LXC● FreeBSD Jail● chroot

Illumos KVM ●

● Virtuozzo/OpenVZ

■2011.08 OpenSolaris 勉強会 俺調べによる

Page 12: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

Hypervisor型の特徴

Page 13: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 13 -www.opensolaris.org

ハイパバイザ型の良いところ

Page 14: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 14 -www.opensolaris.org

コンテキストスイッチ

Page 15: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 15 -www.opensolaris.org

Live Migration

Page 16: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

一般的な Container技術と、Solaris Container

Page 17: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 17 -www.opensolaris.org

コンテナ型サーバ仮想化のメリットハイパバイザ型に比べて、次のようなメリットがあります。

.リソースを使わない . カーネルは共通。プロセスが本当に利用するメモリ、CPUだけでよい。

. パフォーマンスボトルネックがとても少ない . グローバルゾーンから見たら1つのプロセスに過ぎない。

.ブートが速い . カーネルが起動しない分、ブート、リブートがとても速い

資源共有率が高いので、1つのサーバにたくさん収容できる

Page 18: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 18 -www.opensolaris.org

コンテナ型サーバ仮想化のデメリットハイパバイザ型に比べて、次のようなデメリットがあります。

. コンテナごとの隔離性が低い . 異なるOSの動作は不可能

. 比較的、互いの負荷影響を受けやすい . 一部に動かないアプリケーションがある . ライブマイグレーションなどの機能がないカーネルが共通で資源共有率が高いことによる裏返しです

Page 19: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 19 -www.opensolaris.org

Solaris Containersの特徴Solaris Containersは、次の特徴を持ちます。

. OS標準の機能である . パッチなどによる提供ではないため、ノングローバルゾーン(仮想サーバ)とグローバルゾーン(収容機)のアプリケーションレベルの互換性が高い . その他の仮想化機能(ネットワーク、ストレージ、パッケージシステム)との親和性 . Solaris Resource Managerによるリソース管理が強い . 1つのコンテナの負荷の影響を、他のコンテナに波及させにくい。 . cpu cap、memory cap等。

. マイグレーション(別のマシンへの移設)が可能 . BrandZでLinuxのユーザランドをバイナリ互換で実行可能(illumos lx-zone) . CentOS 3、4等。Linux同様、yumでパッケージ管理が可能 . ただし、一部のアプリケーションは動作しないなどの難は、多し。

Page 20: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 20 -www.opensolaris.org

コンテナ型のOSは、子のOSのrootファイルシステムが、ツリーの下に存在する。

/├── etc├── var├── usr│ ……├── zones ← ここは、ものにより異なる。│ ├── websv1 ← 仮想サーバ名│ │ └── root ← 仮想サーバのrootイメージ│ │ ├── etc│ │ ├── var│ │ ├── usr│ │ │ ……│ ├── websv2│ │ └── root│ │ ├── etc│ │ ├── var│ │ ├── usr│ │ │ ……

ファイルの配置

. 仮想サーバ(n o n - g l o b a l -zone)のルートファイルシステムが、収容サーバ(global-zone)から見える。

. non global zoneのファイル群は、global-zoneから自由に触ることができる。

. しかしnon global zone同士では、互いに内容を見ることができない。

Page 21: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 21 -www.opensolaris.org

プロセスの抜粋。 0 sched ← global zone10 /lib/svc/bin/svc.startd 551 /usr/lib/saf/sac -t 300 556 /usr/lib/saf/ttymon 574 /usr/lib/saf/ttymon -g -d /dev/console -l console -m ldterm,ttcompat -h -p ope12 /lib/svc/bin/svc.confi gd46 /sbin/dlmgmtd191 /usr/lib/sysevent/syseventd698 zoneadmd -z work-spec-oi151 ← non global zone700 zoneadmd -z kikyo1 ← non global zone900 zsched ← non global zone 1151 /sbin/init ← この下にぶら下がってるとわかりやすいが、実は違う。931 zsched ← non global zone 1179 /sbin/init ← この下にぶら下がってるとわかりやすいが、実は違う。1639 /usr/lib/memcached -u noaccess -u webservd -l 127.0.0.1 -p 11211 -m 128m ← こ

れは、non global zoneの中で動いてる。

このように、コンテナの中のプロセスは、親から見えているのが一般。killやreniceなどもすることができる。

プロセス状況

Page 22: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 22 -www.opensolaris.org

コンテナ内の1プロセス=親OS内の1プロセス。メモリ空間は、親と共有している。$ prstat -Z -s size PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP 27672 sshd 346M 344M sleep 59 0 4:22:46 0.1% tiarra/1 9522 mysql 178M 164M sleep 59 0 345:51:20 0.3% mysqld/11 860 webservd 87M 45M sleep 59 0 0:00:15 0.0% httpd/1 27659 sshd 79M 68M sleep 59 0 4:10:09 0.2% mono/10 1153 webservd 70M 34M sleep 59 0 0:00:00 0.0% httpd/1 9672 root 63M 18M sleep 59 0 1:36:33 0.1% httpd/1 6116 root 60M 45M sleep 59 0 338:06:56 2.1% pkg.depotd/53 22267 webservd 59M 5528K sleep 59 0 0:00:10 0.0% httpd/1ZONEID NPROC SWAP RSS MEMORY TIME CPU ZONE 52 50 694M 595M 7.3% 268:40:02 4.7% kohju.justplayer.com 62 53 406M 369M 4.5% 374:25:44 2.6% p2vi001.justplayer.ne.jp 61 32 174M 88M 1.1% 44:29:38 1.5% p2vi042.justplayer.ne.jp 0 50 100M 87M 1.1% 880:38:41 2.4% global 11 26 85M 71M 0.9% 48:32:30 0.3% dist.justplayer.com 44 21 130M 108M 1.3% 807:58:20 6.4% ospkg.justplayer.com 9 16 41M 37M 0.5% 329:52:08 2.0% pkg-dev.justplayer.com 33 16 40M 35M 0.4% 362:00:42 1.9% pkg-release.justplayer.com Total: 311 processes, 1401 lwps, load averages: 2.49, 3.02, 2.57

仮想マシンごとに、個別にメモリを確保していないのでメモリの再利用性が高い

メモリ利用

Page 23: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 23 -www.opensolaris.org

Zone設置場所を決める。pfexec zfs create -o mountpoint=/zones rpool/zones

Zoneの作成pfexec zonecfg -z testzone

プロンプトがでるので、zoneの作成 set zonepath=/zones/test.justplayer.com

set brand=ipkg set autoboot=false set ip-type=shared add net set address=10.100.2.12/29 set physical=bge1 end add rctl set name=zone.cpu-cap add value (priv=privileged,limit=150,action=deny)

end add rctl

Containerの作り方例 set name=zone.max-swap add value (priv=privileged,limit=536870912,action=deny)

end add capped-memory set physical=256M end

このようにすると、ZFSのデータセット、rpool/zones/test.justplayer.comに、Zoneが作成されます。

Page 24: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 24 -www.opensolaris.org

利用に適したもの、適さないもの適したもの

. WEBサーバ

. アプリケーションサーバ(PHP、Java Servlet)

. メールサーバ . DNS

. DBMS(MySQL、PostgreSQL程度の規模)

. これらのテスト、本番機、一次サーバ。等 ・々・・

アプリケーションによる冗長化が可能(再起動ができるシステム)

ノンストップで運用する必要があるもの(Live Migrationが必要なシステム)

適さないもの . 別OSの収容が必須なもの。 . Windowsサーバ依存 . IIS依存 . Linuxサーバ依存 . Flash Media Serverとか

Page 25: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

Solaris Containerを支援する技術

Page 26: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 26 -www.opensolaris.org

. ZFSによる管理 . ZFSはツリー構造でデータセット(ファイルシステム)を管理している。 . 仮想サーバ毎に、ZFSを委譲して、利用することが可能。 . 仮想サーバ毎の、利用量のCAPの制御ができる。 . スナップショット、ロールバック、クローンなどの高価なストレージアプライアンスと同等以上の機能を持つ。 . スナップショット毎に、バックアップを簡単に取ることができる。 . 仮想サーバ毎のストレージのアクセス頻度管理は難しい(わかるけど制御が難しい)

ZFS / Storageの仮想化と管理

ディスク0修正後

仮想ディスク2

ディスク1修正後

仮想ディスク0

仮想ディスク2

仮想ディスク1

Set1

Set0OpenSolarisApache、php5.3インストール済み

OpenSolarisApache、MySQLインストール済み

zfs cloneiS CSI target

インストール済テンプレートセット

インストール後

Page 27: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 27 -www.opensolaris.org

. SANを利用した管理 . COMSTAR(iSCSIなどのTARGET機能)。ZFSと連携して、高価なDAS並の機能をが標準で利用することができる。 . SANを利用し、収容サーバをディスクレスにすることで、さらに仮想化の隔離性が増す。 . フェイルセーフのための多重化も簡単にできる

COMSTAR / SANによる管理

Page 28: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 28 -www.opensolaris.org

. Crossbow(仮想ネットワークプロジェクト)による管理 . 仮想サーバ毎に、仮想NICを作成して委譲。 . 仮想NICの帯域制御。 . spoofingプロテクト。 . CPU負荷の制御。 . IPの固定制御。 . 仮想Switch(Etherstub)の作成 . 仮想Bridgeの作成。 . VLAN、フィルタ、ルーティング等 . 仮想サーバへのMACアドレスの貼り付け。 . 帯域の測定、監視など。

Networkの仮想化と管理

Page 29: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 29 -www.opensolaris.org

物理 Networkと論理 Network

ViriualServer 6

ViriualServer 7

ViriualServer 0

ViriualServer 1

ViriualServer 3

ViriualServer 5

vlan2

vlan1

ViriualServer 4

ViriualServer 2

R

Interne t

vlan0

物理サーバセット 仮想サーバセット

ControlNetwork・・・・・・マネジメントサーバからの制御に使われるネットワーク

Storage Area Network・・・・・iSCSI用SAN

DMZ /Backnet・・・・・・サービス用ネットワーク

HostServer 2

HostServer 1

HostServer 0

ManagementServer

R

Interne t

StorageServer 1

WEB UICLI等

StorageServer 0

Storage Area Network

Backnet(tagVLAN)

DMZ

Control Network

Page 30: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

Systemを仮想化に落とし込む

Page 31: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 31 -www.opensolaris.org

どの層で隔離・仮想化するのか?どういう仮想化が必要なのかは、自分が必要な「サーバ」がどういう単位(隔離レベル)のものなのか?を考えることで決まります。

たとえば・・・・1. プロセス、プロセスのグループ2. OSのユーザ・ランドから上3. OSのカーネルのサービスモジュール4. ハードウェアとOSのドライバ群 ■ プラットフォーム依存

■ プロセス・ユーザ・プロジェクト・タスク■ プロセス・ユーザ・プロジェクト・タスク

■ コンテナ型仮想化

■ ハイパバイザ仮想化

Page 32: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 32 -www.opensolaris.org

仮想化を選ぶポイント

. サーバのポータビリティや、スケーラビリティの考慮したい。 . 仮想化には隔離性が必要。 . 上に行くほど隔離性が少ない代わりに、仮想化コストが下がる。 . 下に行くほど仮想化コストがかかり、リソースの再利用効率が悪くなる。仮想化を使うには、仮想化層から上のインスタンスの隔離性を担保し、ポータビリティをあげる技術とも言える。

Page 33: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 33 -www.opensolaris.org

. ホストサーバ上で動作するコンテナ(ノングローバルゾーン) . 最低256MB程度のメモリで動作。

. AMP環境を用意する場合は512MB以上推奨

. サービスネットに足をおろし、様々なサービスを動作させる . 仮想サーバのネットワークはVLAN、VNIC、VHUB(Crossbow)機能などで仮想化されている

. 仮想サーバと物理サーバ群にIP的な接点を置かないとよりセキュア . 仮想サーバのためのネットワーク(サービスネットワーク)とコントロールネットワーク、ストレージエリアネットワークは隔離されている . Global Zone側から仮想サーバへのメッセージはzlogin経由でしか行われない

. 収容されている物理サーバからの引っ越しも考慮する . 仮想サーバは、実質メモリが許す限り、作成することが可能

仮想サーバ

Page 34: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 34 -www.opensolaris.org

再びここをみて考察する

WAF WAF

DBMS DBMS

WEB ServerWEB Server Application Server DNS / Contents ServerApplication Server

MTAForward ProxyDNS/ResolverLoad Balancerw FireWall

Load Balancerw FireWall

Internet

DNS / Contents Server

Page 35: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 35 -www.opensolaris.org

. 複数構成にしているため、2つのマシンがいります。

. その2つをつなぐため、Private Netを、Network上に置く必要があります。

これを乗せられる最小環境

Server 1 Server 2

Internet

Private Net

ControlNet

Page 36: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 36 -www.opensolaris.org

メモリキャップのコツ

. 必要のメモリの2倍程度をcapにし、90%ルールなどを敷いて管理した方がいい。 . 256MBの契約ですが、512MBまでは最大利用することが可能・・・など。 . 理由は、ページスキャナーの構造による

lxzoneの互換性

. 所詮、特定のバイナリを動かすためのものと考えた方が良い。 . LLぐらいの動作は概ね可能だが、深いものは動かない。

OSの壁

. クラウド化(XaaS化)が進むほど、関係なくなってくると考えられるが、現段階では、OSの壁を越えられない人は、思ってる以上に多い。

コンテナの実運用での Tips

Page 37: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 37 -www.opensolaris.org

仮想サーバの移転(マイグレーション)

. 移転元サーバ . 仮想サーバの停止(zone halt) . 仮想サーバの切り離し(zone detach) . ストレージの解放(zpool export) . ストレージの切断(iscsi detach)

アプリケーション層

OS層

ホストサーバ群

ハードウェア層

Appサ ー バ

WEB サ ー バ

WEB サ ー バ

OS:CentOSCPU:1.0個分MEM:256MDISC:5G

OS:OpenSolarisCPU:2個分MEM:1GDISC:60G

OS:OpenSolarisCPU:1.5個分MEM:256MDISC:5G

DBMSWEB サ ー バ

ミドルウェアサ ー バ

OS:OpenSolarisCPU:1.5個分MEM:256MDISC:5G

OS:OpenSolarisCPU:2個分MEM:512MDISC:20G

OS:CentOSCPU:0.7個分MEM:512MDISC:20G

仮想サーバの移転が可能

. 移転先サーバ . ストレージの接続(iscsi attach) . ストレージのマウント(zpool import) . 仮想サーバの接続(zone attach) . 仮想サーバの起動(zone boot)

再起動が伴うが、マイグレーションも可能。ただし、CPU固有命令に注意!

Page 38: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 38 -www.opensolaris.org

. Solaris

. OpenIndiana

. Illumos

. Linux

. Redhat Enterprise Linux

. Solaris Container

. Solaris Resource Manager

. lxzone(仮想Linux用)

. ZFS

. COMSTAR

. Crossbow

. D-Trace

. kvm(Kernel Virtual Machine)

技術キーワード一覧 . lxc (Linux Container)

. OpenVZ / Virtuozzo

. UMB (User Mode Linux)

. VMware

. Xen Server

. HVM(完全仮想化) / PVM(準仮想化)

Page 39: Solaris Containe(r Zone)を使った インターネットサーバシステ … · インフラ系エンジニアは様々な状態にあわせてシステム構築をかえないとなりま

www.justplayer.co.jpwww.justplayer.ne.jp

- 39 -www.opensolaris.org

謝辞

ご静聴、ありがとうございました

OpenSolaris Users Group瀧 康史(@kohju)

個人ブログ http://kohju.justplayer.com/私の会社 http://www.justplayer.co.jp/