nkjmkzk.net

powered by Kazuki Nakajima

Archive for the ‘solaris’ tag

OpenSolaris vs Linuxの超約

最近TuxRadarのOpenSolaris vs Linuxという記事が話題です。

内容はもちろんOpenSolarisとLinuxを比較する記事ですが、細かくスペックを比較するようなコンテンツではなくOpenSolarisの特徴的な機能/制約に言及することで客観的に両者を理解できる簡潔で読みやすいコンテンツになっています。その内容を以下に大雑把にまとめておきます。

広範囲なハードウェアサポートはLinuxに一日の長がある

今日のLinuxカーネルはデバイスドライバがその大部分を占めると言われるだけあって広範囲に及ぶデバイスのカバレージはLinuxに一日の長がある。ただしLinuxは「とにかくサポートするデバイスを増やす」ことに注力しており、そのためにはデバイスドライバ用のカーネルインターフェース仕様を変えることもいとわないというスタンス。それに対してOpenSolarisは互換性重視。今開発したドライバは10年後にも使えるというスタンス。

ZFS

名実ともに今のSolarisの人気を引っ張っているのはこのZFSといっても過言ではない。Linuxの事実上標準ファイルシステムであるext3はext2との互換性を重視したもので、ZFSはそれに比べてかなり先進的な機能が搭載されいている。

プールという概念

ZFSは今までのようにファイルシステム毎にディスクを区切って容量を分配するのではなく、容量はみんなで共有、ファイルシステムは管理上の独立性のために作成という仕様になっている。

注釈> Linuxでは100Gのディスクがひとつ在って、その上に4つのファイルシステムを作成するということはディスクを1/4づつに区切ることを意味する(均等分割すれば)。一方SolarisのZFSでは4つのファイルシステムすべてが100Gを共有するという仕様。より効率的なディスクリソースの使用が可能になる。ディスクはプールに追加され、そのプールをファイルシステムみんなで共有する。そのプールにはオンラインでディスクを抜き差し可能というのも大きなポイント。

スナップショット/リストア

ZFSではスナップショットとそれをリストアするという操作が可能。これらはコマンドラインでも可能だが、OpenSolaris 2009.06では洗練されたGUIが利用可能。中でも「タイムスライダー」は必見。つまみを左右することでタイムマシーンのようにファイルを過去の任意の時点に戻すことができる。

*詳しくは別サイトのこの動画でみてほしい。

TIme Slider Screencast

仮想化テクノロジー

OpenSolarisではxVMというXenベースの仮想化機構に加え、Zoneという仮想化も使用することができる。

注釈> 最近ZoneについてXenやVMwareにくらべて未熟な仮想化技術と思っている人をしばしば見かけますがそうではありません。Zoneは同じOSを高密度に動かすという要件であればXenやVMwareよりも優れた仮想化技術です。なので集約密度が命のVPSホスティングサービス業者はXenやVMwareよりもVirtuozzoというZoneに似た方式の仮想化ソフトを採用していることが多い。

コマンドの違いまとめ

これは優劣の問題ではないが、LinuxユーザがSolarisをつかったときに、「あれ、/var/log/にあんまりログないな」みたいなことがよくありますがそういうときに役に立つTipsです。

e38394e382afe38381e383a3-1

これも詳しくはオリジナルページでみてみてください。

あとはインストール時の注意事項についてもまとめられていますが、あんまり面白い話でもないので割愛。

特徴と言えばあとDTraceがありますが、これには触れられてないですね。

without comments

Written by 中嶋 一樹

9月 17th, 2009 at 11:11 pm

Posted in Uncategorized

Tagged with , ,

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 Download Center

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公式サイトからのパクリです。よければこちらもどうぞ。

参考

without comments

Written by 中嶋 一樹

7月 5th, 2009 at 3:48 pm

Posted in Uncategorized

Tagged with ,

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はサポートされない

なお、デスクトップ仮想化については省略。

without comments

Written by 中嶋 一樹

7月 4th, 2009 at 2:12 pm

Posted in Uncategorized

Tagged with ,

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ってのがあるみたい。

参考:

without comments

Written by 中嶋 一樹

12月 6th, 2008 at 6:56 pm

Posted in Uncategorized

Tagged with , ,