2007年 3月 02日 金曜日 |
OpenSolaris日本ポータル English Translation: (Yahoo!) / (Google) ブログのネタとしてはちょっとタイミングを逃しましたが、先週OpenSolarisの日本ポータルが出来上がったそうです。
FAQをはじめ、OpenSolaris 開発者向けリファレンス・ガイドなんかも日本語のものが用意されていますから、OpenSolarisって何なの〜〜??っていう方から、バリバリ開発してみよう〜!なんて方はぜひともチェックしてみてください。 Sun Java System Web Server 7リリース! English Translation: (Yahoo!) / (Google) すでに寺田さんがすでに書かれていますが、Sun Java System Web Server 7がリリースとなったようです。Web Server 6.0がリリースされたのが確か2001年春ごろですから実に約6年ぶりのメジャーアップグレードとなります。
Web Server 7の詳細についてはすでにベータ版のころから寺田さんが詳しく書かれているのでそちらを参照していただくとして、個人的に気になっているWeb Server 7の新機能を挙げると次のようなものがあります。 クラスタリングのサポートWeb Server 6.xには管理を統一するための仕組みとして「クラスタ」というキーワードの機能がありましたが、Web Server 7.0で新たに搭載されたのはサービスをスケーラブルに配置できるようなクラスタリング機能です。これはWeb Server 7.0の管理コンソールから簡単に設定でき、負荷に応じて簡単にマシンを追加することができます。やり方については寺田さんのエントリを参照してください:
また、このクラスタリング機能にはJ2EE 1.4準拠のEJBを使わないWebアプリケーションをセッション・レプリケーション(あるマシンがダウンした場合でも、セッション情報を他のマシンに引き継げる)機能が搭載されていて、Seasarを使っていたり、Springframeworkを使っているなどEJBが必要なくJ2EE 1.4レベルのコードサポートでよい場合には最適なデプロイ環境といえます。 もちろん、Webサーバなので従来どおりCGIやPHPアプリケーションをデプロイしたり、Ruby on Railsのデプロイも可能です。 DoS攻撃やDDoS攻撃に対する耐性Web Server 7.0ではDoS攻撃(サービス不能攻撃)やDDoS攻撃(分散サービス不能攻撃)のような攻撃に対する防御の仕組みが用意されています。DoS攻撃の場合、ある一定のIPアドレスから集中して大量のアクセスが到来しますが、Web Server 7.0はこれを検出してそのIPアドレスからの接続を一定以上受け付けないように設定することができます。また、DDoS攻撃の場合、様々なIPアドレスから大量のアクセスが到来しますが、その場合もたとえば特定のURLに対するアクセスを抑制するなど様々な設定を行うことができます。ECC(楕円曲線暗号)のサポート
楕円曲線暗号は、公開鍵暗号方式の一つです。現在SSL通信の際には大雑把に言って、(1) 証明書の確認、(2) 共通鍵暗号の鍵を、公開鍵暗号で交換、(3) 共通鍵暗号で通信、という手順をとっています。この際使われている公開鍵暗号方式というのが現在の主流はRSAという暗号です。今回新たにサポートされたECCはこの (2)の共通鍵暗号の鍵を安全に渡すための非対称暗号として使います。
以上のように個人的な注目ポイントを書きましたが、さすがに6年越しのメジャーアップグレードだけあって、おもしろい機能はまだまだあります。もっと知りたいという方は、実際に使ってみるのが一番良いでしょうから下記のアドレスからダウンロードしてご利用ください。 (無償で利用できますし、サポート契約が不要であれば商用環境でも無償でお使いいただけます) 今月のイベントを振り返る: NSUG Solaris 10 Night Seminar English Translation: (Yahoo!) / (Google) 続いて振り返るイベントは12/21(木)のJavaナイトセミナーと連続して次の日に行われた12/22(金)のNSUG Solaris 10 ナイトセミナー (Vol.7) 〜ついに BrandZ がきましたよっ!〜です。こちらもビール片手にリラックスした雰囲気でのセミナーで、Solaris Nevada ビルド49以降に追加されている新機能であるBrandZについての紹介でした。
個人的にはNevadaもちょくちょく触ってはみているんですが、やはりこういうきちんとしたセミナーに出ると理解度が変わりますね。特にインストールするところとかは、自分でいろいろドキュメント読んで・・・というのは結構骨が折れるというか、興味本位程度で触ろうと思っているときには挫折しがちですが、今回のセミナーのようにBrandZによるSolaris Nevada上のZoneをLinux環境にする、という手順をステップ・バイ・ステップで紹介していただけると触ってみようかな〜と思う気持ちがどんどん高まってきます。(でも今年はもう残り少ないので実際に触るのは来年にしようかな・・)。 ではこれで今年最後のブログ・エントリとさせていただきます。来年もよろしくお願いいたします。 Solaris 10 11/06 on Parallels と Secure by Default English Translation: (Yahoo!) / (Google) Solaris 10の最新アップデート版である、Solaris 10 11/06がリリースされたようですね。早速、Mac OS X上で動作する仮想マシン環境であるParallelsを使ってインストールしてみました。
今回のアップデートからは「Secure by Default」というプロジェクトの成果として、リモートからのアクセスに関して標準的に安全な設定となるようなインストールが選べるようになりました。
日本OpenSolarisユーザグループ メーリングリスト English Translation: (Yahoo!) / (Google)
Jimさんが紹介されていますが、OpenSolarisにおけるユーザグループの一つとして、Japan OpenSolaris User Groupが出来上がったそうです。 こちらのユーザグループ メーリングリストは日本向けですから、メーリングリストへの投稿は当然日本語でOkです。話題も特に限定されていませんので、初心者の方から、バリバリの上級者の方まで情報交換に利用いただけます。 このユーザグループのメーリングリスト購読の方法は、ug-jposug-subscribe@opensolaris.orgに空メールを出して、後ほど送られてくる確認メールにそのまま返信することで購読が完了します。 Solaris Express build 49 on Parallels RC2 on Mac OS X 10.4.8 English Translation: (Yahoo!) / (Google) しばらくチェックしていない間にSolaris Express for Community Releaseはbuild 49というところまで出ていました。今回は久しぶりにParallels for Macを使って試してみることにしました。
atapi-cd-dma-enabled=0インストーラの起動時にはすでに-B以降にオプションが指定されているのでカンマ(,)区切りで付け加えてブートします。インストールが完了したら、/boot/grub/menu.lst のメニューに上記のオプションを設定すればOkです。 さて、かわったと感じるところでいえばXsunでもマウスが動くようになったとか、SBD(Secure by Default)によってデフォルトで最小限のサービスしか提供しないような設定になっていたりというあたりでしょうか。もちろん、他にもたくさんかわっているのですがもはや追いかけきれていません・・・。 他に見た目でかわったところではブラウザとメーラがMozillaからFirefox/Thunderbirdにかわったことと、Look and Feelが新しくなっているところでしょうか。 スクロールバーとか、タイトルバーのあたりのデザインと、スタートメニューがJavaロゴだけになっているとか、テーマが全体的にSunカラーになっているとかいろいろ変わっていますね。 パフォーマンスチューニングと渋滞学 English Translation: (Yahoo!) / (Google)
先日、車好きの友人につれられてその業界では有名らしいあるチューンファクトリーへお邪魔してきました。残念ながら、車のことに全く詳しくないので詳しくはわかりませんが、そのチューンファクトリーはドラッグレースと呼ばれるような競技で、勝つ、ためのチューニングを施すようなチューン(もちろん、それ以外のチューニングもしているそうですが)をしているそうです。
さて、アプリケーションサーバやWebサーバにおけるチューニングを考えた場合はパフォーマンス(=レスポンスタイムの短縮)の向上、もさることながらスループット(=時間あたりの処理数)の向上も重要なチューニングポイントです。そういったチューニングの手法は様々な書籍やWeb上の文献がありますが、個人的に有効性を感じているのは渋滞学、という考え方です。
たとえばこの図はSun Java System Application ServerのDeployment Planning Guideに紹介されているもので、渋滞学での基本図と同じ性質の物です。実際、今まで個人的に関わったパフォーマンスチューニングやベンチマークではこういった図を使って、渋滞学的な解釈をすることで原因を特定したり、最適であるかどうかを判定する、というようなことを行ってきました。
GlassFish v2の"プロファイル" English Translation: (Yahoo!) / (Google) ![]() このお話はNetBeans Profilerのような、性能測定を行うようなプロファイルではなく、GlassFish v2の新機能となるプロファイル(英語では略称 profile、正式には usage profileと記述しています)についてです。
プロフィアルとは?
さて今回のプロファイルのお話はちょうど今週のUser Experience Meetingの話題です。このプロファイルとは、アプリケーションの設定をあらかじめよく使いそうなシーンに分けてプロファイル(=設定の集まり)を定義する。というような新しい機能です。
では実際の使い方を見てみましょう。 $ asadmin create-domain --user admin --adminport 4848 --profile developer dev-domain今までのcreate-domainコマンドに加えて --profile というオプションが追加され、ここで developer プロファイルを選んでいます。これによって dev-domainという名前のドメインは開発者向け、つまり起動速度を改善したり、リソースを最小限に利用するような設定によってドメインが作成されます。 このようにプロファイルを導入することのメリットは、GlassFishプロジェクト側としては複数のエディション・バイナリを管理/配布しなくても良いというところです。ユーザ側のメリットとして出荷時点の状態で本番環境向けのパフォーマンスを引き出すようにしたり、開発環境向けの軽快な設定にすることが簡単に選べるようになるということです。 いまさらながらWindowsを勉強する English Translation: (Yahoo!) / (Google)
SunのシステムというとOSはSolarisで、その上で動作するSun Java System Application Server等のようなミドルウエアも当然、主なターゲットとしてはSolarisを設定しているのですが、Microsoftとの和解の成果なのか、現在のSun Java Enterprise Systemのミドルウエア郡はちゃんとWindowsをサポートしています。
Windowsというと、普通にユーザとしてブラウザを使ったり、インターネットの設定をしたり、という程度+αぐらいは知識があるつもりですが、実際のところサーバとして運用するようなWindowsについての知識はまったくありません。また会社はSolaris、家はMacという生活のためWindowsに関する知識は Windows 95で止まっています(もう10年前ですね・・)。
この本の良いところは私のようなWindows初心者にもわかりやすくパフォーマンスモニタの監視項目などを説明している点です。今までSolarisのvmstat相当のことをどうやってモニタすれば良いのか知らず、Windowsといわれた時点でお手上げでしたが、これでなんとかちょっとずつやっていけそうです。 今日の気になるプロジェクト: WSRP Project English Translation: (Yahoo!) / (Google)
WSRP ProjectはOASISによるWeb Services for Remote Portletsという仕様の実装で、Sun Java System Portal Server 7の一部がオープンソース化されたプロジェクトです。
さて、このWSRP Projectですが菅谷さんもすでに紹介されていますが、最近WSRP Consumerのコードが公開されたそうです。 WSRPもいろいろ可能性のある仕様なので、ちゃんと使えるようになったら一度これを使ったなんちゃってアプリを作ってみようかなと思っています。 DTraceでSJS AS8 パフォーマンス・チューニング English Translation: (Yahoo!) / (Google) つい先日のことですがSolaris 10のDTraceがWall Street Journal Innovation Awardを受賞したそうですね。Dtrace自身はとくにグラフィカルな機能ではないちょっと地味めの機能ですが、一度使ってしまうと、こんなすごいのはなかなか手放せないなぁーと思うほどパワフルな潜在能力を秘めています。
今日はSun Java System Application Server 8.1のパフォーマンスチューニングにDTraceを使う例を紹介します。アプリケーションサーバのチューニングというと、Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Performance Tuning Guideという結構分厚いマニュアルに広範囲にわたって説明されています。このマニュアルはなかなか内容もよく、そもそもどのようにしてパフォーマンスチューニングをしていけば良いのかといった考え方から、実際にどういう風にチューニングするかまでをよく説明しています。(残念なところは日本語版マニュアルがまだないというところでしょうか・・。) チューニング箇所はこの分厚いマニュアルにいろいろな視点で載っているのですが、実際にチューニングをする箇所はあまり多くありません。 Java VMのGCエルゴノミクスのような自動調整機能や、Java VMやアプリケーションサーバ自身が出荷時点でチューニングされるようになってきたことが影響しているように思います。 もちろん、アプリケーション・アーキテクチャの見直しとか、コーディング上の調整はまだまだ効果絶大ですが、AppServerの設定という意味ではだいたい次の3点が主なチューニング箇所となります。
Java VMとDTraceの準備実は、現在のJava VMでは標準的にDtraceを使うことはできませんので、別途Java VMのDtraceエージェントを入手します。エージェントはhttps://solaris10-dtrace-vm-agents.dev.java.net/から入手することができます。 次に準備の手順を紹介します。
DTraceで計測次にいよいよDtraceで計測を行ってみます。なお、現在のSolaris 10では計測対象となるアプリケーションはローカルゾーンで動作させていてもかまわないのですが、Dtraceはグローバルゾーンで実行する必要があります。今回はコネクションプールからコネクションを取得する際に同期処理が行われるのですが、コネクションを取得するのに待たされている時間、を計測することによってコネクションプールのサイズと待ち時間の関係を調べてみました。 今回使ったdtraceスクリプトは次のような感じです。 monitor.d
#!/usr/sbin/dtrace -s
dvm$1:::monitor-contended-enter
{
self->mc[tid, copyinstr(arg0)] = timestamp;
}
dvm$1:::monitor-contended-entered
{
@mc[tid, copyinstr(arg0)] = sum(timestamp - self->mc[tid, copyinstr(arg0)]);}
dvm$1:::monitor-wait
{
self->mw[tid, copyinstr(arg0)] = timestamp;
}
dvm$1:::monitor-waited
{
@mw[tid, copyinstr(arg0)] = sum(timestamp - self->mw[tid, copyinstr(arg0)]);}
pid$1::exit:entry {
printf("\nMonitor Contended:\n");
printa(@mc);
printf("\nMonitor Wait:\n");
printa(@mw);
exit(0);
}
ここではmonitor-waitとmonitor-contended-enterというプローブを使って、それぞれのスレッドが同期処理でどの程度待たされているのかを計測しています。(なお、このスクリプトはかなり簡略化しているので、アプリケーション自体が同期処理を行う時間も含まれています。必要に応じて条件を追加してフィルタリングをしてください。)
このスクリプトに実行権を与えて、引数にアプリケーションサーバのインスタンスのPIDを引数として渡します。 # chmod 755 monitor.d # ./monitor.d <AppServerのPID>これでモニタリングが開始します。この後に負荷試験を行って特性を計測します。 負荷試験が終わったらアプリケーションサーバを停止します。すると、次のように結果が得られます。
CPU ID FUNCTION:NAME
0 47931 exit:entry
40 ContainerBackgroundProcessor[StandardEngine[com.sun.appserv]] 111876
113 Timer-4 141871141
176 service-j2ee 142310303401
168 service-j2ee 142381032157
124 service-j2ee 142968651607
この結果は左から、スレッドID、スレッド名、待ち時間(ナノ秒)として表示されます。このようにしてスレッドプールのサイズを変えながら待ち時間を計測し、あとはStarSuiteなどでグラフ化するとその特性を調べることができるようになります。
このグラフは左奥方向にコネクションプールのサイズ(8〜128)、右奥方向にスレッドがコネクションを占有する時間(コネクションの使用時間)と条件を変えたときのそれぞれの平均待ち時間をグラフ化したものです。このように、占有する時間が長い(=重い処理をしている)場合にはコネクション数はそれ相応でなければならないことが一目瞭然です。
すこし説明が長くなってしまいましたが、このようにDtraceはアプリケーションやアプリケーションサーバの特性を知るのにとても有益な情報を与えてくれます。 もちろん、NetBeans Profilerのようなプロファイラはもっと多くの情報を与えてくれます。しかし、どちらかというとプロファイラはアプリケーション・サーバのチューニングという観点では情報が多すぎるのと、オーバーヘッドが大きすぎます。 このため、アプリケーションの構築がほぼ終わり、あとはテスト環境でアプリケーションサーバのテストを!という時にはこのようなDTraceによる計測は真価を発揮してくれます(もちろん、開発中に使っても便利です)。 Solaris 10 6/06のZFSとZoneでノートPCにラボ環境を作ろう English Translation: (Yahoo!) / (Google) Sunに入社してからずっとSunRayによるフレキシブルオフィス環境だったためか、自分で自由にいつでも使える個人ワークステーションも無ければ、サーバもありません。もちろん、共有ラボで申請すれば必要な機材は貸していただけるので特別支障はありませんが、それでもやはりちょっとした調べものをしたいなぁ〜と気軽にアクセスできる環境は欲しいときがあります。 今やSolarisはx86版もあって、アプリケーションサーバ、Webサーバ、Portalサーバ等の製品はそれぞれSolaris x86版に対応していますので手元のノートPCでもちゃんと動作し、検証なんかもできるようになってきました。でもお客様から頂く質問はお客様によってバージョンもまちまちで7.1だったり、8.1だったり、Platform EditionだったりStandard Editionだったりと、ひとえにアプリケーションサーバといっても手元に用意しておかなければいけないバリエーションは結構あります。アプリケーションサーバのPlatform Editionなんかは構成ファイルも少ないので、別ディレクトリにどんどんインストールしてしまえば複数バージョンを一台に入れるのも難しくないですが、Standard EditionとかEnterprise Editionのように構成要素が多いものではファイルやポート番号をきちんと管理するのはかなりの手間です。
今回はなんちゃてラボ環境ということでノートPCに入れていくことを考えます。(詳しいSolarisのインストールの方法は「実践!ノートPCにSolaris 10を入れてみよう」を参照してください。)。まずはSolaris 10 6/06をインストールするのですが、スライスを作成する際に、ルート / と、swap、あと適当に /exportのような3つを作成します。なぜ /export のようなスライスがいるかというと、ここをあとからZFSで使いたいからです
インストールが完了したら、/export 以下をZFS化してみましょう。
では、次にZone用のファイルシステムを作っていきましょう。今回は1ゾーンごとにZFSのファイルシステムを作っていきます。ゾーンはそれぞれ /export/zones/[ゾーン名] というように作っていくことにしましょう。
では次は本題のZoneに、といきたいところですがすこし予習をしましょう。 Zoneにはいくつか種類があります。まず、一番基本的なところではつぎの2通りの種類に分けられます。
疎ルートゾーンの場合、ゾーンに必要なディスク容量は100MBちょっとです。もう一つの完全ルートゾーンはそういったパッケージの継承を行わないもので、大域ゾーンとは独立したコピーをもつゾーンのことです。完全ルートゾーンは共有しない分をすべて別のコピーとして持ちますので管理も別になり、ディスクも結構つかいます(Solaris 10 6/06インストール直後で試したところ3GBちょっと使いました)。完全ルートゾーンのメリットは異なるパッケージを導入したり、パッチを試してみたいときに独立したコピーを持てるというあたりがメリットになります。 ではこの疎ルートゾーンと完全ルートゾーンをどういうように使い分けたら良いのかというところでは、まずソフトウエアのサポート状況から判断する必要があります。たとえば、Java Enterprise System 2005Q4では次のような制約があります。「このリリースでのゾーンサポート」より こういった制約をクリアしていればなるべくリソースを使わない選択をしていくことになります。 お待たせしました、ではゾーンを作っていきましょう。
Solarisは一つのネットワークカードに対して複数のアドレスを割り当てることができるようになっています。非大域ゾーンのネットワークも実際にはこの論理的なインタフェースを使っています。その際には、論理的なインタフェースを作成して、そこにアドレスを作成していきます。論理的なインタフェースはインタフェース名:[n]という命名規則で作成されていきます。ifconfig -aで既に使われている名前を確認してから、新しい割当を行いましょう。今回は bge0:2に割り当てることにします。 # ifconfig bge0:2 plumb # ifconfig bge0:2 192.168.1.1 # ifcofnig bge0:2 upこれで完了です。ここまでできると、あとはひとりラボネットでいろいろな検証をしていけばOkです。 さて、今回はせっかくZFSを使ってゾーンを配置しましたのでそのメリットを紹介していきましょう。まず、スナップショット機能。ZFSにはスナップショットという機能があり、その時点のファイルシステムの内容を保存しておくことができる機能があります。 # zfs snapshot export/zones/as71se@mondayこんな感じでコマンドをたたけばいいだけです。これによる恩恵は大きく、たとえばゾーンのなかみがぐちゃぐちゃになったときにこのスナップショットをとった時点に戻したい場合にはロールバックを行えばいいだけです。 # zfs rollback -r export/zones/as71se@mondayZFSってすごい!ちなみに、「ゾーンがインストールされている Solaris システムのバックアップについて」にも載っていますが非大域ゾーンのバックアップ&リストアの注意点がありますので、この辺りも参考にしてください。また、ゾーンはその性質上、いろいろな物を共有していますので 「ゾーンがインストールされている Solaris システムでのパッケージとパッチについて」にもある通り、大域ゾーンにパッチを当てたあとに、リストアをしたりすると非大域ゾーンとの間で不整合がおこる可能性があります。こういったことからあまり、軽率にロールバックをするのはおすすめできませんが、ソフトのインストールに失敗したのを戻すとか、大域ゾーンに何も変更を加えていないのをちゃんと把握した上であればこのZFSスナップショットとZoneの活用は感動的な便利さです。 こんな感じにSolaris 10 6/06を使ったノートPCでなんちゃってラボネットを作ってみましたが、いかがでしょうか。こういった仮想化はVMwareのようにハードウエアごとエミュレーションするような手法ではとてもノートPC上でやろうってことはできませんが、Solarisゾーンならではの低いオーバーヘッドのためにこんな使い道も開拓できるわけです。他にもいろいろ活用方法はあると思いますのでまた思いついたらご紹介しようと思います。 Solaris 10 6/06をMac OS X上のParallelsに入れてみる English Translation: (Yahoo!) / (Google) つい先日ですが、Solaris 10のアップデートリリースであるSolaris 10 6/06がリリースされました。早速、手元のノートPCであるMacBook ProにParallels Desktop for Macというエミュレータ(VMwareのようなPCエミュレータのMac版)を使って仮想環境にインストールしてみることにしてみました。
これが出来上がり画面です。Solaris 10 1/06と比べるとログイン画面のデザインがすこし変更されているようですね。それ以外にも大きなところではZFSのサポート!や、RealPlayer 10が追加されたことあたりが挙げられるようです。ちなみにRealPlayerでちょこっとムービーを再生してみましたが音は鳴りませんでしたがちゃんと動画も再生できました。(音はまた今度暇があれば設定方法を探してみます) インストールはダウンロードしたCDかDVDのisoイメージをマウントしてインストーラを実行するだけなので特に難しいことはないのですが、標準のグラフィックインストーラを使おうとするとマウスが動かないのでテキストインストールをして後からkdmconfigで設定をするといいでしょう。 Solarisのインストーラは搭載メモリが400MB以下の場合はテキストモードのインストーラが起動するようになっていますから、インストール時は仮想マシンのメモリサイズを256MBぐらいにしておいて、後ほど好きな容量にかえるようにします。 ParallelsがBeta版のときにはXsunではディスプレイをうまく認識できなかったような記憶がありますが、現在リリース版がでているものではそのような問題も無くXsunでも使えそうな感じなのですが、マウスの設定がわからず断念・・・。とりあえず従来通りXorgで試すことにしました。グラフィックドライバはVESA、解像度はParallelsで設定したものを、マウスはデバイスに /dev/kdmouse、プロトコルにIMPS/2を選べば問題なくグラフィック環境も使うことができます。 ネットワークの設定はParallelsをインストールすると /Libraries/Parallels/Tools/vmtools.iso というツールのCDが提供されていますので、これをCDとして認識させ次のようにシェルを実行してドライバをインストールして、インストール後に再起動します。 # cd /cdrom/prltools/drivers/network/rtl8029/solaris # ./network.sh Virtual PC 6を使っていたときはSolarisを入れるなんて言うと結構情報がなくて苦労しましたが、Parallelsではちゃんとベンダー提供のドライバまであって結構すんなり使うことができます。 すぐ使えます! VMwareで BrandZ を体験しよう! English Translation: (Yahoo!) / (Google) 皆様はBrandZをご存知でしょうか。BrandZとはSolarisコンテナのひとつをLinuxを実行できるような環境として動かすという、ユニークな機能のことです。
この間BrandZ build 35のDVDイメージがリリースされていたのでご存知の方もいらっしゃるかもしれません。実は恥ずかしながら知らなかったのですが、同時にBrandZのVMWareイメージも公開されていました。VMWareのイメージを使えばインストール作業も要りませんし、パーティションのきりなおしもしなくて良いのですぐにでも使えますね! (VMWare Playerも無償で使えるようになりましたし) 何より、うちにはDVDに書き込める機械がなかったのでこれは大助かりです。余談ですが、こういったエミュレータを使うのはものすごく久しぶりのことです。オープンソースのBochsにFreeBSDを入れたり、家の MacにはVirtual PCを買ってインストールしたのですが、iBook PowerPC G3 700MHzという約4年前のPCにはものすごい重量感で、Windows Updateに1日以上かかったのでお蔵入りになりました ;-< さて、使い方です。
この画面はBrandZ入りのSolaris 11を起動して、BrandZを起動してログインしたところです。BrandZのゾーンはこのVMWareイメージでは lxzoneという名前で作成されています。 lxzoneにログインするには次のようにゾーンを起動して、ログインします。 # zoneadm -z lxzone boot # zlogin lxzoneこれでLinux環境がSolarisコンテナ上に再現されました。簡単ですね。さて、でも本当にLinuxなのかはどうやって確かめましょうか・・・。とりあえずお決まりの uname -aでチェック。 # uname -a Linux lxzone 2.4.21 BrandX fake linux i686 i686 i386 GNU/Linux名前はfake linuxなんですね。あれ? BrandX ?まあいいか・・・。 ということで、すぐ使えるBrandZをお試しください! Solaris ZFSのパワー English Translation: (Yahoo!) / (Google) 最近、Sun Java System Portal Serverなどを触るために、ノートPCにインストールしたり、設定をいじって壊したり・・、アンインストールしたりしていますが、ZFSのスナップショットは予想以上に便利です。 いまのところZFSでシステムを起動することはできないので(zfs bootプロジェクトは進行中)、次のパスをZFS配下においています。
普通、こういう作業を行う際には設定ファイルを server.xmlから server.xml.origとかファイル名を変えてバックアップしたり、ファイルシステムの一部または全部を tarやzipでバックアップしたりするわけですが、ファイル名を変える方は間違えて上書き保存してしまうようなことがあったり、tar/zipでのバックアップも容量が多いと結構めんどうなんで、さぼってしまいがち。そういうときに限って前の状態に戻したいなんてことがよくある訳です。 ZFSのスナップショットは、もう少しミッションクリティカルなデータベースなどをターゲットとしているのかもしれませんが、ちょうどCVSのバージョン管理をしているときにタグを振るようにスナップショットされるのでスナップショットにかかる時間は一瞬であるため、気軽にスナップショットをとれるわけです。これに慣れるともう、UFSやNTFSに戻れません! いままでで、使い始めてこれは戻れないなと思ったのは、気がついたら手になじむようになっていた vi テキストエディタ、自宅のPCをWindowsからMacにしたとき、C++からJavaに鞍替えしたときのガーベジコレクションといったところです。ZFSはまた新しい「使ったら戻れない」技術であるように思います。 ところで、Windowsを使っていて疑問に思うのはNTFSってジャーナリングしているのに、シャットダウンに失敗した際には必ずCHKDSK(UNIXでいうfsck相当)が走るのはなんでなんでしょうか・・。一瞬で終わるならいいんですが、どうも全チェックしてるように見えます。FATに比べれば壊れることはほとんどなくなったのかもしれませんが、ZFSに慣れたいまではどうも心もとなくてなりません。 |
Today's Page Hits: 326 |