Archive for the ‘Solaris’ tag
Oracle Sun Technology Updateに行ってきました
昨日、8/19に目黒雅叙園にてOracle Sun Technology Updateが開催されました。3Track x 3でセッションが開催され、各セッションは大きく分けてJavaとSolarisを扱う内容でした。その中でも最新情報の提供を行うようなセッションと、DTraceチュートリアルのような具体的な技術話とかなり幅広い内容が提供されたように思います。
僕はSolaris Trackに一日中入り浸っていましたので簡単にレポートしたいと思います。
B-1 Solaris開発環境のご紹介

大曽根 明さん
Mr.Solarisの異名をとる大曽根さんはOracle Solaris Operating Systemについてこれまでを振り返り、今後のロードマップを紹介しました。
次に新しいH/Wサポートメニュー「Premier Support for Systems」についても紹介しました。Premier Support for SystemsはH/Wの保守プログラムでありながら、同時にOracle Solaris, Oracle Enterprise Linux, Oracle VMが使いたい放題になることを説明。
また、ZFS, Containerについて概要を紹介し、特にZFSについては「非クラスター型で現在最強のファイルシステムだろう」と指摘。そしてSun Studioを使ったデモを披露する等幅広い内容をカバー。
B-2 開発環境でのSolaris ZFS

野崎 宏明さん
先のセッションで「最強」とされたZFSについて、こちらの@IT記事でもわかりやすい解説をされてる野崎さんからプレゼン。End-to-Endの整合性チェック機構、CoW等ZFSの根幹を成す内部アーキテクチャについて説明。
B-3 DTrace活用術
ZFSと並ぶSolarisの代表的な機構であるDTraceについて藤田さん、本間さんからプレゼン。

藤田 勇治さん
藤田さんはDTraceが何であるのか、どういった情報がとれて、どのように活用できるのかという全体象を事例を交えて紹介。端的で軽快なトークでDTraceのメリットを限られた時間ながら非常にわかり易く説明されていました。カーネルを特別なビルドオプション付きでコンパイルしたりする必要がない、特別な起動オプションもいらない、その場でほしい情報を動的に出力させることができる、ということがズドンと理解できる濃密な時間でした。

本間 大輔さん
本間さんはDTraceのHow toを紹介。「こういう情報をとりたいときは・・」という切り口で実際のスクリプトを見せて解説しながら出力結果を確認していくという実践的なセッション。持ち時間は30分足らずであるにもかかわらずDTraceのサンプルスクリプトを含む実用的な資料を120枚作成するというパッション。事実、この資料はこれからDTraceを使ってみたい!という人にはバイブルでしょう。必見です。バイブルのダウンロードはこちら。
DTrace活用術
特別企画トークライブ:「2020年に向けてITエンジニアはどうやって生き残るか?」

ウルシステムズ(株)の漆原様、(株)Preferred Infrastureの太田様、クックパッド(株)大野様によるパネルディスカッション。モデレータは弊社の伊藤さん。
はっきり言って、かなり面白いディスカッションでした。何が面白かったかというと、みなさんそれぞれ強い信念をお持ちで、その信念が名言となって出てくるとことです。僕が特に印象に残った名言を下記に挙げさせていただきました。
- 製品や技術にコミットするかどうかは開発者に会って決める。信頼できるヤツならいける。(漆原様)
- めちゃ難しいプロジェクトを社員に任せる。できたら、目一杯給料を払ってあげる。それを繰り返す。(漆原様)
- 今日欲しいと言われたものは明日提供できなければそこに感動はない。(大野様)
- やりたいことをやる。やりたくないことはやらない。やりたいことを宣言する。(大野様)
それぞれ深い思考や経験を元にしたパワフルな持論です。共感する部分や「なるほど〜」な気付きもあり、非常に有益な時間だったと思います。
個人的には今後SunのテクノロジーとOracleのテクノロジーの合体技をより具体的に訴求するようなセミナーをやりたいなと思っています。Solaris, ASM, ZFS、このあたりがキーワードになるでしょう。楽しくなりそうです。
Sun xVMで仮想化環境を構築する – ①インストール
*Sun関係のエントリが続いていますが特に深い意味はありません(本当に)。単なる個人的な趣味です。念のため。
xVMはSunが提供するXenベースの仮想化環境です。現在xVMを使用するには以下のステップがよさそうです。
- まずOpenSolarisを I/Aサーバにインストール
- インストールしたOpenSolarisにxVM関連モジュールをインストール
- xVM関連モジュールに含まれるXenカーネル(xVMカーネル)から起動し直す
- xVM関連サービスを有効化する
それでは実際にやってみましょう。
まずは現時点で最新のOpenSolaris 2009.06をダウンロードしてインストールします。OpenSolarisのインストールはエラク簡単で恐らく猫でもできると思われるので詳細は省略。Live CDで起動して、その後Install OpenSolarisアイコンを叩いてインストールウィザード起動、って感じです。
OpenSolaris 2009.06 – LiveCD (x86) (クリックするとダウンロードが始まります)
OSのセットアップが終わったら早速xVMのインストールに入りましょう。作業は面倒なのですべてrootで行う前提です。
まずxVM専用の起動環境を作ります。これは感覚的にはデュアルブートにする感じですが作業はシンプルで、もう一つOSを入れ直したりする必要はありません。beadm (Boot Environment Admin) コマンドで作成します。
root@opensolaris:# beadm create -a -d xvm xvm
*-aは作成するBEをすぐに有効化するオプション
*-dは作成するBEの説明を指定するオプション
そしてxVM関連パッケージをインストールします。
root@opensolaris:# beadm mount xvm /tmp/xvm-be root@opensolaris:# pkg -R /tmp/xvm-be install xvm-gui root@opensolaris:# beadm umount xvm
*-R [DIRECTORY] はDIRECTORYをルートとして指定するパッケージをインストールするオプション
現在のgrub設定ファイルからxVM環境起動用のエントリを作成します。
root@opensolaris:# awk '
/^title/ { xvm=0; }
/^title.xvm$/ { xvm=1; }
/^(splashimage|foreground|background)/ {
if (xvm == 1) next
}
/^kernel\$/ {
if (xvm == 1) {
print("kernel\$ /boot/\$ISADIR/xen.gz")
sub("^kernel\\$", "module$")
gsub("console=graphics", "console=text")
gsub("i86pc", "i86xpv")
$2=$2 " " $2
}
}
{ print }' /rpool/boot/grub/menu.lst >/var/tmp/menu.lst.xvm
作成されたエントリを確認し、本チャンのファイルを上書きします。
root@opensolaris:# mv /var/tmp/menu.lst.xvm /rpool/boot/grub/menu.lst
リブートして新しいxVMエントリで起動し直します。
root@opensolaris:# rebooot
OSが起動したらログインし、xVM関連のサービスを有効にします。
root@opensolaris:# svcadm enable -r xvm/virtd; svcadm enable -r xvm/domains
*-rは依存するサービスを芋づる式に有効化するオプション
これでxend等が起動します。xm listとかするとおなじみの出力をみることができます。
この手順はほぼほぼ以下のOpenSolaris公式サイトからのパクリです。よければこちらもどうぞ。
参考
Sunが提供している仮想化技術まとめ
Logical Domains (Ldoms)
- SPARCプラットフォームの”CoolThreads Servers”で利用できるハードウェア仮想化技術 参考:Ldomsのポイント
- サポートされるゲストOS
- Solaris
- 理論的にはLinuxやBSDも動きそうだけどサポートされてるのかは不明
- Oracle Database, RACがサポートされる
Solaris Container
- SolarisのOSパーティション技術。ハードウェアを仮想化するのではなく、OS空間を区切る技術。
- サポートされるゲストOS
- Solaris
- OpenSolaris
- Oracle RACはサポートされない
xVM Server
- Xenベースのハードウェア仮想化技術(ソフトウェアでハードウェア仮想化するの意)
- サポートされるゲストOS
- Solaris 10 5/08以降
- OpenSolaris 2008.05以降
- RHEL 4.6, 5.2
- Windows XP, 2003, 2008
- Oracle RACはサポートされない
なお、デスクトップ仮想化については省略。
ZFSっていいんじゃないの
以前からちらほらと名前は聞いていたZFSですが、少し調べてみたところ相当良いのではと思いました。 ZFSはオープンソースとしてSun Microsystemsが開発しているファイルシステムで、もともとは将来のSolaris用に開発していたのを現在ではSolarisとは切り離して単独のオープンソースプロジェクトとして開発が進められている、というものです。
MacOS Xの次期バージョンでもオプショナルで採用予定とのことなのでこれを期に一気に認知度があがるんじゃないかなと思います。
さてこのZFS、何がいいのかというとまとめるとこんな感じ。
バックアップ、リストア関連
・フィアルシステムのスナップショット
・お気軽ロールバック
耐障害性関連
・同一Disk上でのデータ冗長化
柔軟性
・論理ドライブ、パーティションとかはもうナシ ひとつのストレージプールで表現
この中で特に僕がフムフムと思ったので柔軟性。
最近VA Linuxの高橋さんから「パーティションとかホントいらないよね」という話を聞いてなるほどーーっと思っていたところなのでこれは「おぉ、」と思いました。
要はパーティションでディスクを区切っちゃうと、シリンダの最後のパーティションなら容量を拡張することはなんとか可能ですが、真ん中くらいにあるパーティションの容量が足りなくなったりすると単純にそのパーティションを伸長することはできません。
これを「パーティションなんてもうナシよ。 ディスクはストレージプールで一括して抽象的に表現します」っていうのがZFS。 こうすることで、「オイオイ、予想外に/home足りねぇーぞ。 /home/nkjm使いすぎじゃね? /var死ぬ程余ってんのに。」ということがなくなります。
以下、www.opensolaris.orgより。
ZFS presents a pooled storage model that completely eliminates the concept of volumes and the associated problems of partitions, provisioning, wasted bandwidth and stranded storage. Thousands of filesystems can draw from a common storage pool, each one consuming only as much space as it actually needs. The combined I/O bandwidth of all devices in the pool is available to all filesystems at all times.
あとスナップショットによる高速インクリメンタルバックアップやロールバックとかも相当イイ! 来週は仕事してるフリしてZFSの検証でもしよっかなーー。 でも残念なことに今のとこLinuxにはportされてない模様。 検証するならopensolarisかFreeBSD上なのかな。 一応Linux向けには現在ZFS for FUSE/Linuxってのがあるみたい。
参考: