やっぱり Sun がスキ! : Weblog やっぱり Sun がスキ!

やっぱり Sun がスキ!

http://blogs.sun.com/yappri/date/20080130 2008年 1月 30日 水曜日

zvol と iSCSI と NTFS と zfs snapshot (その 2)

お待たせ致しました。
zvol と iSCSI と NTFS と zfs snapshot (その 2) です。(その 1は、こちら

その 2 では、Windows 側にて、iSCSI target のボリュームを扱うために必須となる iSCSi initiator の入手から実際に Solaris iSCSI target が提供するボリュームを Windows で利用するまでをご紹介致します。


・Microsoft iSCSI initiator for Windows の入手とインストール

Windows XP は、標準では、iSCSI initiator 機能を持っていません。
この機能を追加するために、Microsoft から iSCSI Software Initiator である「Microsoft iSCSI Software Initiator 」
   が配布されており、それをインストールすることで Windows XP にも iSCSI Initiator 機能を追加することが可能となります。

下記の URL から入手できます。

Microsoft iSCSI Software Initiator Version 2.06
http://www.microsoft.com/downloads/details.aspx?familyid=12cb3c1a-15d6-4585-b385-befd1319f825&displaylang=en


32 bit または、64 bit 環境の Initiator が提供されているので、ご利用の環境にあわせてファイルを選択します。

本稿では、Windows XP SP2 を利用していますので、Initiator-2.06-build3497-x86fre.exe を選択しています。
ちなみに、この iSCSI initiator は、Windows 2000 SP4 以降, Windows Server 2003 SP1 以降でも利用可能ですので、本稿のターゲットとしては Windows XP でなくても構いません。 (Windows Server 2003 Enterprise Edition SP2 での動作も確認しています。)
Initiator のインストールについては、通常の Windows 関連ソフトウェアをインストールするのと 同様で、特に設定等は必要ありません。

・Windows XP から iSCSI target への接続

それでは、Windows XP の iSCSI initiator を使って、Solaris の iSCSI target へアクセスしてみましょう。

1. iSCSI initiator アイコンをダブクルクッリクし、iSCSI Initiator Properties ウィンドウを起動します。

ここに表示される Initiator Node Name も気にしておいてくださいね。


2. Discovery タブをクリックし、Add ボタンから iSCSI target の情報(IP address)を登録します。

3. Target タブをクリックし、接続する iSCSI name が表示されていることを確認します。
   
   iSCSI Name は、Solaris 側にて # iscsitadm list target -v を実行すれば確認できます。

# iscsitadm list target -v
Target: ntfspool/windowsxp
    iSCSI Name: iqn.1986-03.com.sun:02:35ae2bcf-27c6-6c7c-9e0a-a820c3e3dc95
    Alias: ntfspool/windowsxp
    Connections: 0
    ACL list:
    TPGT list:
    LUN information:
        LUN: 0
            GUID: 01000011240fefa200002a00479ddb65
            VID: SUN
            PID: SOLARIS
            Type: disk
            Size:   30G
            Backing store: /dev/zvol/rdsk/ntfspool/windowsxp
            Status: online 

4. 接続したい iSCSI Name  をクリックし Log on... ボタンをクリックします。

5. Log On Target ウィンドウの情報(iSCSI Name)を確認し、OK をクリックします。

Target Name (iSCSI Nmae)は、自動的に入力されます。


6. status が Connected にかわれば接続成功です。

これで、接続は完了です。

・ディスクの初期化とフォーマット

接続が完了しても、特に見た目に変化はありません。
エクスプローラでディスクを確認しても、それらしきものは見あたらず・・・
というわけで、利用するにはディスクの初期化とフォーマットが必要になります。

そのままでは、フォーマットされていないディスクとして扱われるため、「マイ コンピュータ」や、「エクスプローラ」上には表示されません。
「コントロールパネル」にある、「管理ツール」に含まれる「コンピュータの管理」をクリックし実行します。
そして、「ディスクの管理」をクリックすると「ディスクの初期化と変換ウィザード」が起動しますが、これは キャンセルします。

そして、ディスクの管理画面の下側に、現在認識しているディスクが表示されますが、この中に「初期化されていない
ディスク」が存在するはずです。

画面では、ディスク 1 となります。
これが、Solaris iSCSI target が提供するボリュームとなります。
その 1 で作成した 30GB の領域が確認できます。

また、右クリックから、プロパティを実行して確認してみるのも良いでしょう。
OS(Windows) 側は、iSCSI target によるボリュームとしてではなく、ローカルに接続された
ディスクとしての認識となりますので、iSCSI の情報は得る事ができない点に注意してください。

あとは、「初期化されていません」と書かれているディスクを右クリックし、メニューの中から「ディスクの初期化(I)」を実行することで、「オンライン」の表記に切り替わります。
続いて、「未割当て」と表記されている領域をクリックし、右クリックのメニューから「新しいパーティション(N)」 を選択します。

「 新しいパーティション ウィザード」が起動するので、あとは、Windows の流儀に従い NTFS パーティションを
作成します。
作成するパーティションは、「プライマリパーティション」、パーティションサイズは最大ディスク領域を、ドライブ文字を割り当てる(A) には、適当なドライブ名を選択してください。(本稿では Z を指定)
パーティションのフォーマットは、NTFS でおこないます。

フォーマットが完了するまで、少し時間が必要です。
この間に、Solaris 側で iSCSI target 情報をみてみましょう。
$ iscsitadm list target -v
Target: ntfspool/windowsxp
    iSCSI Name: iqn.1986-03.com.sun:02:35ae2bcf-27c6-6c7c-9e0a-a820c3e3dc95
    Alias: ntfspool/windowsxp
    Connections: 1
        Initiator:
            iSCSI Name: iqn.1991-05.com.microsoft:kazuyuki-94779d

            Alias: unknown
    ACL list:
    TPGT list:
    LUN information:
        LUN: 0
            GUID: 01000011240fefa200002a00479ddb65
            VID: SUN
            PID: SOLARIS
            Type: disk
            Size:   30G
            Backing store: /dev/zvol/rdsk/ntfspool/windowsxp
            Status: online
コネクション数が 1 となり、接続されている Initiator の iSCSI Name が表示されていることを確認できます。
また、iSCSI target 側の Solaris 上で、snoop port 3260 とかを実行してみると、楽しいかもしれません。

パーティションのフォーマットが終了すれば、ボリュームは正常となり、「 新しいパーティション ウィザード」で
設定したドライブ・レターが割り当てられ、「マイ コンピュータ」上に出現します。

このように、マイ コンピュータから、ハードディスク ドライブとして確認できます。
ボリューム (Z:) が、Solaris iSCSI target にて提供されるドライブとなります。

さらに、プロパティをみてみると、種類としてローカル ディスクとして認識されていることがわかります。

できあがりです。
適当なファイルを放りこみながら、Solaris 上にて zpool iostat -v 3 とかしとくのもよいです。
どんどん放り込みましょう。
ここまでくれば、もう、iSCSI など意識せず、ローカルボリュームとしてガシガシ使えます。


もちろん、コマンドプロンプトでも問題ありません。


・ディスクの取り外しについて
ディスクを取り外すには、iSCSI Initiator Properties ウィンドウ でおこないます。

Target タブを開き、解除したい iSCSI Name を選択し、Detail ボタンを押すと Target のプロパティウィンドウが開きます。
Identifier にあるチェックボックスにチェックを入れ、Log off ボタンを押すことで接続の解除ができますので、覚えておくと良いかと思います。
また、何かのプログラムがファイルを利用していたり、エクスプローラでアクセスしている場合は、解除できないメッセージが出力されますので、Log off 実行前に確認を忘れずに。


・まだまだ続きます・・・

Solaris iSCSI target 上で作成し、Windows に提供した zvol 領域は、NTFS パーティションとなり iSCSI Initiator を
利用することで、ローカルに接続されたディスクとして扱える事がわかりました。

このように、iSCSI target を構成してしまえば、iSCSI initiator 側は、Solaris であることを気にする必要はなく、簡単にアクセスすることができます。
もちろん、認証などをきちんと設定すれば、その分手続きは増えてしまいますが・・・

さて、これだけでは Solaris 上に NTFS のボリュームが格納されているだけとなり、これで終わりでは微妙にうれくありません。
ここまでできるなら、ZFS の snapshot 機能で backup を作成したりできれば・・・

というわけで、ZFS snapshot と ZFS clone を使った応用編である、その 3 に続きます。
しばしお待ちください。

http://blogs.sun.com/yappri/date/20080129 2008年 1月 29日 火曜日

zvol と iSCSI と NTFS と zfs snapshot (その 1)

今回は、以前にもご紹介した、Solaris iSCSI target 機能を WInodws XP から利用するための tips をご紹介
したいと思います。
zvol と zfs snapshot 、なにげにすごいですよ?

・zvol とは?

zvol は、emulated volume 機能(日本語マニュアルでは、「エミュレートされたボリューム」機能 )
とも呼ばれ、zpool にて作成された領域から任意の領域を切り出し、その領域を block device として
利用することができる機能です。

filesystem の一部を切り出して、それを block device 化するということに戸惑う方もいるかと思い
ますが、切り出した領域は利用可能な filesysytem として提供されるのではなく、ディスクと同じ
ように /dev/dsk/c3t0d0s0 のような感じで扱えるようになると思って頂くのが簡単かと思います。

block device なので、この上に、filesysem と作成したり、swap device として利用することが
可能となります。

また、zvol という呼び方ですが、emulated volume 機能を利用して割り当てられる領域が、
/dev/zvol ディレクトリ配下に作成されるため、人によっては zvol と呼ぶ場合があります。
というわけで、本稿では、zvol と呼ぶことにします。


・iSCSI target と zvol の関係

zvol 機能を使って、iSCSI target を構築する方法については、以前の記事でも紹介しています。
前回は、iSCSI target リリース前の Nevada (開発版 Solaris)を用いた内容でしたが、無事、
Solaris 10 8/07 にて iSCSI Target 機能が取り込まれたこともあり、Solaris 10 8/07 を
もとに、再度、紹介したいと思います。

なお、前回、ご紹介した iSCST Target/Initiator の記事は、下記となります。

     Solaris iSCSI Target/Initiator
     http://blogs.sun.com/yappri/entry/iscsi_on_solaris

簡単におさらいすると、ZFS が提供する zvol 機能を使うことで、iSCSI target と連携すること
が可能となり、ネットワーク経由にて、これを iSCSI initiator と呼ばれる別なマシンからアクセス
することで、まるでローカルに接続されたディスクのように扱うことが可能となるという事です。

前回は、iSCSI initator として Solaris 10 を利用してみましたが、今回は、Windows XP にて
これを利用し、NTFS filesystem の作成および snapshot の取得をしてみるのが目的です。

・iSCSI target を作成する 3つのステップ

まずは、iSCSI target を作成します。
今回、目的となる iSCSI target 作成の流れを簡単にみてみると、下記のようになります。

    ・任意のデバイスを用い zpool を作成
    ・zvol 領域の切り出し
    ・shareiscsi プロパティの有効化

iSCIS target の作成は、この 3 ステップが基本となります。

・任意のデバイスを用い zpool を作成

まず、zpool に割り当てるデバイスを決定します。
iostat -En コマンドで device 名を確認すると良いでしょう。
# iostat -En
c0t0d0           Soft Errors: 2 Hard Errors: 0 Transport Errors: 0
Vendor: ST325062 Product: 0A               Revision: 3.AA Serial No: 
Size: 249.64GB <249637355520 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 2 Predictive Failure Analysis: 0
c1t0d0           Soft Errors: 1 Hard Errors: 0 Transport Errors: 0
Vendor: SEAGATE  Product: ST3146707LC      Revision: 0003 Serial No: 
Size: 146.82GB <146815737856 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 1 Predictive Failure Analysis: 0
c1t1d0           Soft Errors: 1 Hard Errors: 0 Transport Errors: 0
Vendor: SEAGATE  Product: ST3146707LC      Revision: 0003 Serial No: 
Size: 146.82GB <146815737856 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 1 Predictive Failure Analysis: 0

本稿では、上記 iostat の結果から、c1t1d0 が割り当てられている、146.82GB ディスク を利用することにします。
当然、複数のディスクを利用しても良いですし、本稿のように 1 本のディスクを割り当てても良いです。
また、スライスの1部分でも、mkfile で作成した空ファイルでも、とにかくなんでもいいので、zpool 領域を作成します。

zpool の名前は、そうですね・・・ ntfspool とでもしましょうか。

zpool である ntfspool の作成から確認の手順は下記となります。
# zpool create -f ntfspool c1t1d0

# zpool status
  pool: ntfspool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        ntfspool      ONLINE       0     0     0
          c1t1d0      ONLINE       0     0     0

errors: No known data errors

# zpool list
NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
ntfspool                136G     88K    136G     0%  ONLINE     -

# zfs list
NAME                 USED  AVAIL  REFER  MOUNTPOINT
ntfspool              30.0G  104G   24.5K    /ntfspool
これで、136G の ntfspool ができあがりました。

MOUNTPOINT から、この領域は、/ntfspool に mount されていることがわかります。
今度は、この領域から、zvol を切り出します。

・zvol 領域の切り出し

zvol の切り出しには、zfs create コマンドの -V オプションを利用します。
それでは、ntfspool から、30G の領域を zvol として切り出しみましょう。
切り出した領域の名前は、windowsxp とします。
# zfs create -V 30g ntfspool/windowsxp

# zfs list
NAME                 USED  AVAIL  REFER  MOUNTPOINT
ntfspool                30.0G   104G  24.5K  /ntfspool
ntfspool/windowsxp  22.5K   134G  22.5K  -
Solaris 10  8/07 の zfs list コマンドでは、zvol に割り当てられている容量を確認できません。
申し訳ありませんが、現状は、zfs プロパティで確認してください。
該当するプロパティは、reservation となります。
ついでに、type プロパティと shareiscsi プロパティがあることも気に留めておいてください。
# zfs get all ntfspool/windowsxp
NAME                PROPERTY       VALUE                  SOURCE
ntfspool/windowsxp  type           volume                 -
ntfspool/windowsxp  creation       Mon Jan 21 13:46 2008  -
ntfspool/windowsxp  used           22.5K                  -
ntfspool/windowsxp  available      134G                   -
ntfspool/windowsxp  referenced     22.5K                  -
ntfspool/windowsxp  compressratio  1.00x                  -
ntfspool/windowsxp  reservation    30G                    local
ntfspool/windowsxp  volsize        30G                    -
ntfspool/windowsxp  volblocksize   8K                     -
ntfspool/windowsxp  checksum       on                     default
ntfspool/windowsxp  compression    off                    default
ntfspool/windowsxp  readonly       off                    default
ntfspool/windowsxp  shareiscsi     off                    default
ntfspool/windowsxp の reservation プロパティに 30G という値が設定されていることが わかります。
type プロパティは、その領域がどのような dataset であるかを示し、ntfspool/windowsxp は
volume (zvol) であることがわかります。

ちなみに、下記のコマンドで、存在する領域すべてのプロパティを出力してくれます。
親となる ntfspool のプロパティと比べてみると、いろいろと発見がありおもしろいかと思います。
(ntfspool の type は、filesystem となります。 )
# zfs get all 
通常、作成した領域は、親である /ntfspool 配下に作成されるのですが、/ntfspool の中はカラッポ です。
zvol 領域は、どこにあって、どうやってアクセスできるのでしょうか?
切り出した領域は、filesystem ではないため、どこにも mount されません。
zvol は、block device として領域を提供する機能となるため、それ自身への道しるべは、
/dev/zvol 配下に格納されます。

/dev/zvol をみてみると・・・
見やすく、tree 表示にしてみました。
|-+ /dev/zvol
  |-+ dsk
  | |-+ ntfspool
  |   |-- windowsxp -> ../../../../devices/pseudo/zfs@0:1c
  |-+ rdsk
    |-+ ntfspool
      |-- windowsxp -> ../../../../devices/pseudo/zfs@0:1c,raw

  block device としてのファイル名
    /dev/zvol/dev/ntfspoo/windowsxp

  raw device としてのファイル名
    /dev/zvol/rdsk/ntfspool/windowsxp 
上記のようにデバイスノードの割当がおこなわれ、通常の block device として扱うことが可能となります。
zfs create -V で作成された領域は、必ず /dev/zvol 配下に block device が作成されることを 覚えておくと良いかと思います。

というわけで、任意のデバイスにて zpool を構成し、そこから zvol 領域を切り出す作業は終了です。
つづいて、作成した ntfspool/windowsxp volume と iSCSI target を紐付けます。


・shareiscsi プロパティの有効化

ZFS には iSCSI target 機能と連携するための仕組みがすでに用意されています。
iSCSI target として構成したい zvol の shareiscsi プロパティを on にするだけで完了です。
「Solaris iSCSI Target/Initiator」の稿にもありますが、標準では、iSCSI target service で
ある iscsitgt が disable となっていますが、shareiscsi プロパティに on が設定されると
自動的に enable となり、サービスが開始されます。
shareiscsi=off のとき

# svcs -a | grep iscsi
disabled        1??_20  svc:/network/iscsi_initiator:default
disabled       15:52:02 svc:/system/iscsitgt:default

# iscsitadm list target -v
(出力はなにもなし)

shareiscsi=on にする

# zfs set shareiscsi=on ntfspool/windowsxp
(iSCSI target として提供する)

# svcs -a | grep iscsi                   
disabled        1??_20  svc:/network/iscsi_initiator:default
online         15:52:48 svc:/system/iscsitgt:default

# iscsitadm list target -v
Target: ntfspool/windowsxp
    iSCSI Name: iqn.1986-03.com.sun:02:c79ed3cf-f6f9-ce8d-daa6-b89f54920de2
    Alias: ntfspool/windowsxp
    Connections: 0
    ACL list:
    TPGT list:
    LUN information:
        LUN: 0
            GUID: 0x0
            VID: SUN
            PID: SOLARIS
            Type: disk
            Size:   30G
            Backing store: /dev/zvol/rdsk/ntfspool/windowsxp
            Status: online 

これで、iSCSI target の構成は終了です。
Solaris 側の作業は、ここまでです。
ここまでは、前回のおさらい・・・というより書き直してしまいました。

次回 その2へ。まだまだ続きます。
しばしお待ちください。

http://blogs.sun.com/yappri/date/20080128 2008年 1月 28日 月曜日

ノート型 SPARC マシンの紹介

最近は、Solaris 10 をインストールしたノート PC でデモを行う機会が増えてき ました。ノート PC は、気軽に顧客先に持ち込んでプレゼンする事ができるので とても便利です。
デモの内容といえば、Solaris 10 の機能である Solaris コンテナや DTrace、ZFS だけ でなく、Sun Ray Server Software や、Sun Grid Engine などをインストールして プレゼンしています。

そうは言ってもやっぱり x86版 Solaris でなく、SPARC 版 Solaris でないと動かない アプリもあります。そんな時、持ち運びが便利なノート型 SPARC マシンがあると 便利ですよね。

今回、ノート型 SPARC マシンを使える機会がありましたので ここで紹介します。機種は Naturetech 社の 777V Mobile SPARC Workstation です。


まずは外観から。
大きさは、A4型 Note PC と同じサイズで、蓋上面には UltraSPARCのマークがあります。
右サイドには、DVD ドライブ、左サイドには LAN ポートと PCMCIA slot x 1 があり、 無線 LAN カードを挿入する事も可能です。
背面は、シリアル/パラレルポート, USB ポート x 2、VGAポート、IEEE 1394 ポートと 充実しています。

蓋上面 左側面(PCMCIA slotとLAN) 背面


キーボードは、日本語対応の機種でした。上部に Stop や Front の ファンクション キー(黄色文字)などもあり、さすが SPARC 専用マシンです。 また、下部にタッチパッドがあるのでマウスが無くても快適に操作できます。

タッチパッド付きキーボード Stop や Front キー もあります


電源を入れると、SPARC マシンなので OBP からの起動が確認でき、画面左上には Naturetech のロゴが現れます。



今回使用したマシンの基本スペックは下記の通りです。

CPU UltraSPARC II 550MHz x 1
Memory 1GByte
Disk 40GByte
Display 15 inch XVGA+(1400×1050)
Weight 3.45 kg
Dimension 322(W) x 273(D) x 41(H) mm


SPARC ならではのデモ環境として、やはり Solaris 8 Branded Zones (Project Etude) をインストールして動かしてみました。
これで Solaris 8 Branded Zones の持ち込みデモも可能になります!!

http://blogs.sun.com/yappri/date/20080125 2008年 1月 25日 金曜日

サーバーの内蔵ディスクを共有ディスクに?

最近のCPU技術はマルチコア・マルチスレッド全盛となり、クロック スピードの限界が語られた以前にも増して激しい勢いで性能が向上して います。今日最速だったCPUが明日にはローエンドマシンに負けて しまうようなこんな時代にどちらが速いと競争しても虚しくなるばかり。 多くのユーザは管理のしやすさ、トラブルの最小化、電力・スペースの 削減といった問題により注目するようになっています。

例えば小型サーバーといえどもマルチコアCPUの登場により、少し 前のミッドレンジ8CPUマシン並みの性能がでるようになりましたが、 同時に信頼性・可用性も妥協できなくなってきました。サーバーの可用性 向上には、サーバー2台のペアを障害時に切り替えるクラスタシステムを 組むのが定石ですが、小型サーバーでこれをやると、アプリデータ受け 渡し用の外部共有ディスク装置がサーバー2台分の価格より高いなんて 状況になってしまいます。最近は RAID 装置も安くなったとは言うもの の、もっと手軽に高可用システムを構成できるようにならないもので しょうか。

そこで思うのですが、最近のサーバーは Sun に限らず内蔵ディスク 搭載数が多い傾向にありますよね。例えば 64スレッド CMT の T5220や、Intel Xeon 搭載の X41504450 など、1RUや2RUのサーバー にも関わらず8本も搭載可能です。しかしクラスタシステムでは切り 替え引継ぎの必要なデータは共有ディスクに保存しなくてはならず、 内蔵ディスクあまり使えません。もったいないですよね。そこで、 2台のサーバーをケーブルで繋ぎ、互いの内蔵ディスクにアクセス できるようになれば良いと思うのですがいかがでしょう。低コストで、 信頼性も十分、電力とスペースも削減可能と言うことなしだと思うの ですが。で、Sunが作れば?と言われそうですが、実はあるんです。

Netra CT900 ATCA Blade Server という PICMG (産業用ボードコンピュータでの PCI 利用を促進する規格 策定団体) の ATCA 規格 (Advanced Telecom Computing Architecture) に準拠したブレードサーバーですが、主にネットワーク機器ベンダ等へ OEM供給される製品のため、あまりメジャーでは無いかも知れません。

内部構造は図のように、スロットの前から挿入するメインボードと後ろ から挿入する RTM (Rear Transition Module) ボードに分かれており、 シャシー内部で互いに接続されています。

Sunが販売するメインボードには UltraSPARC T2 を搭載した CP3260 や AMD Opteron を搭載する CP3220 などがあり、RTM では SAS ディスクを2つ搭載可能な CP32X0 という製品が用意されています。CP32X0 搭載の SAS コントローラは SAS ポートを8ポート持っており、 4ポートは内部ディスク、残りの4ポートを外部接続用として使用 します。外部ポートには StorageTek 2530 のような RAID アレイを 接続することも出来ますが、下図のように別ブレードの RTM に接続し、 その内蔵ディスクにアクセスできるようになっています。また、SAS コントローラは RAID コントローラ機能もあわせ持っているため、 非常に安価に共有ディスクシステムを構成できるようになっています。

個人的には他のラックマウントサーバーでも内蔵ディスクをこのように 構成できるととても良いと思うのですが・・・

http://blogs.sun.com/yappri/date/20080124 2008年 1月 24日 木曜日

Sun Blade 6000 を触ってみました。

今回は、去年の夏に発表された Sun Blade 6000 の特徴を実際に機材を触ることができたので書いてみたいと思います。
この Sun Blade 6000 は Sun Blade 8000/8000P の後継機となります。
特徴の1つは筐体の高さが Sun Blade 8000P の 14U より 4U 低くした 10U となりましたが、筐体に載るサーバモジュールの数は 10枚 と今までと変わりません。
今までの Sun の Blade サーバと比べるとかなりすっきりした構造になっています。

Sun Blade 6000 Front Sun Blade 6000 Rear


しかしなんと言ってもこの Sun Blade 6000 のすごいところはサーバモジュールに載る CPU の種類が豊富になったことでしょう。
現行の AMD Opteron のみならず、Intel Xeon、さらには Sun が誇る UltraSPARC T1 や、昨年末に発表した Ultra SPARC T2 を搭載したサーバモジュールが増えました。
これはどういうことかというと、今運用しているシステムが Solaris であろうと、Windows であろうと Linux であろうと関係なくこの Sun Blade 6000 で全ての業務をまかなうことができるということです。
これは他社の Blade サーバではできないことです。

また、システム管理や電源の数や容量、保守費に関しても、普通にサーバを 10台購入するよりは断然効率的な仕様になっています。
保守費は、それぞれのサーバモジュールごとに保守費が掛かるわけではなく、シャーシ自体に保守費が掛かります。それはどういうことかと言いますと、1台のシャーシにサーバモジュールを何台(Max 10台)搭載しても保守費は変わらないということです。
これも他社の Blade サーバではできないことです。


今回運良く全てのサーバモジュールを扱うことができました。
以下、それぞれのサーバモジュールの写真です。
Sun Blade T6300 Server
モジュール(UltraSPARC T1)
Sun Blade X6250 Server
モジュール(Intel Xeon)
Sun Blade X6220 Server
モジュール(AMD Opteron)


付属品の中にドングルケーブル (X4612A) を見つけました。私も実物を目にしたのは初めてですし、多分皆さんもどんなものか気になっていると思いましたので実際に使ってみました。
ドングルには VGA、USB、RJ45シリアル、DB9 の口が付いています。

DB9 は使用していませんが、VGA、USB、RJ45シリアルに関しては特に問題なく使用することことができました



製品説明はこれくらいにして、実際に使用してみたいと思います。
Sun Blade 6000 には背面の左側に CMM という管理用ポートがあり、通常はその CMM に接続して Sun Blade 6000 およびそれぞれのサーバモジュールを管理することができます。

以下が CMM に接続した時のログです。一般的にサーバの ILOM に接続したときのメニューと違うのがわかると思います。

【CMM】
bash-3.00# ssh 192.168.1.1 -l root
Password: 

Sun(TM) Integrated Lights Out Manager

Version 1.1.8

Copyright 2006 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.

-> version
CMM firmware 1.1.8
CMM firmware build number: 18640
CMM firmware date: Fri Apr  6 14:55:56 PDT 2007
CMM filesystem version: 0.1.14
->
-> show
 /
    Targets:
	CH  ----シャーシを管理する項目
	CMM ----CMM自身を管理する項目

    Properties:
	

    Commands:
	cd
	show
-> 

ちなみに Sun Blade 6000 の ILOM の階層概要は以下のようになっています。
細かい階層は記載していませんので。

/ --- CH --- CMM 
   |      |- BL0 --- BL はサーバモジュールが搭載されていれば
   |          |      表示されます。
   |      |- BL9  
   |      |- T_AMB0    
   |      |- T_AMB1   
   |      |- T_OVRD  
   |      |- NORMAL  
   |      |- SERVICE  
   |      |- LOCATE  
   |      |- TEMPFAIL  
   |      |- FM0  
   |      |- FM1  
   |      |- FM2  
   |      |- FM3  
   |      |- FM4  
   |      |- FM5  
   |      |- PS0  
   |      |- PS1  
   |      |- NEM0  
   |      ∟ NEM1  
   |
   ∟ CMM --- cli
           |- clients
           |- clock  
           |- logs
           |- network  
           |- serial
           |- services
           |- sessions
           ∟ users


サーバモジュールには搭載しているブレードの番号にアクセスして、通常の ILOM からアクセスするように start コマンドを実行します。

例) Blade1 にアクセスする場合。

->start /CH/BL1/SP/cli/
Are you sure you want to start /CH/BL1/SP/cli (y/n)? y
Warning: Permanently added '192.168.1.101' (RSA) to the list of known hosts.
Password: 

Sun(TM) Integrated Lights Out Manager

Version 2.0.3.1

Copyright 2007 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.

-> 

せっかくなのでそれぞれのサーバモジュールにアクセスした、ILOM(x6220)、ALOM(x6300)、ELOM(x6250) のログを記載します。



以下が ILOM にアクセスしたログです。
今までの x86 系サーバの ILOM と特に変わったところはありません。

【Sun Blade x6220(AMD Opteron)】

->start /CH/BL1/SP/cli/
Are you sure you want to start /CH/BL1/SP/cli (y/n)? y
Warning: Permanently added '192.168.1.101' (RSA) to the list of known hosts.
Password: 

Sun(TM) Integrated Lights Out Manager

Version 2.0.3.1

Copyright 2007 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.

-> 
-> version
SP firmware 2.0.3.1
SP firmware build number: 23240
SP firmware date: Fri Oct 12 18:13:55 PDT 2007
SP filesystem version: 0.1.14
-> 
-> show
 /
    Targets:
	SYS
	SP

    Properties:

    Commands:
	cd
	show
-> 

以下が ALOM にアクセスしたログです。
これも、今までの SPARC サーバの ALOM となんら変わりはありません。

【Sun Blade x6300(UltraSPARC T1)】

-> start /CH/BL7/SP/cli/
Are you sure you want to start /CH/BL7/SP/cli (y/n)? y
Warning: Permanently added '192.168.1.107' (RSA) to the list of known hosts.

Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.


Sun(tm) Advanced Lights Out Manager CMT v1.3.6

Please login: admin
Please Enter password: *****

sc> 
sc> help
Available commands
------------------
Power and Reset control commands:
  powercycle [-y] [-f]
  ..........
  ..........
  userperm  [c][u][a][r]
  usershow [username]
sc> 

以下が ELOM にアクセスしたログです。
ELOM は初めて見ることができました。皆さんも始めて見る人が多いのではないでしょうか。
ILOM に近い感じです。

【Sun Blade x6520(Intel Xeon)】

-> start /CH/BL8/SP/cli
Are you sure you want to start /CH/BL8/SP/cli (y/n)? y
Warning: Permanently added '192.168.1.108' (RSA) to the list of known hosts.
root@192.168.1.108's password: 

Sun Microsystems Embedded Lights Out Manager

Copyright 2006 Sun Microsystems, Inc. All rights reserved.

Hostname: SUNSP001B242D4BAF

IP address: 192.168.1.108

MAC address: 00:1B:24:2D:4B:AF

 -> 
 -> version
SM CLP Version v1.0.0
SM ME Addressing Version v1.0.0
 -> show
  /
    Targets:
        SP
        SYS
        CH

    Properties:

    Target Commands:
        show
        cd
 ->

最後に CMM に Web でアクセスした場合の画面を紹介します。
(注)CMM に Web 経由でアクセスするためには、CMM の ILOM のバージョンが 2.0 以上でないといけないのでご注意ください。
 
ログイン画面 シャーシ情報  
CMM のバージョン情報 CMM の情報


通常の ILOM と違っていて筐体の画像と、筐体にサーバモジュールが搭載されている場合には、そのサーバモジュールも画像が表示されています。

サーバモジュールの状態を確認したい場合は、そのサーバモジュールの画像をクリックするか、左側のメニューからブレードの番号をクリックすれば、サーバモジュールごとの情報を見ることができます。

Blade 3 へアクセス




【参考情報】 今回ご紹介した Sun Blade 6000 をより詳しく知りたい方は以下のページを是非ご覧ください。

http://blogs.sun.com/yappri/date/20080122 2008年 1月 22日 火曜日

ZFS クローン、プロモーション機能

前回 、 ZFS のスナップショット、ロールバック機能に関して解説しましたが、 今回は、ZFS のクローンとプロモーション機能を紹介します。

ZFS のクローン機能は、作成したスナップショットを複製する機能なのですが、 スナップショットのデータは Read Only でアクセス可能なのに対して、クローン を作成すると、複製したファイルシステムに対して Read/Write が可能になります。

さらに、プロモーション機能は、ZFS のクローンと、マスタとなるファイルシステム の依存関係を交換する事ができます。
この機能のおかげで、ZFS のクローンを残したままマスタのファイルシステムを削除する事が 可能になりました。
(通常、クローンは、マスタとなるファイルシステムと依存関係がある為、マスタの ファイルシステムを削除する際は、クローンも一緒に削除されてしまいます。)

それでは実際にクローンとプロモーション機能の動きを見てみましょう。

まずは、クローンを作成する準備をします。
testpool/home ファイルシステムに 1M Byte のファイル aaa,bbb を 作成します。

# mkfile 1m /testpool/home/aaa
# mkfile 1m /testpool/home/bbb
# ls /testpool/home
aaa  bbb
続いて testpool/home ファイルシステムのスナップショット @monday を作成します。
# zfs snapshot testpool/home@monday

# zfs list
NAME                   USED  AVAIL  REFER  MOUNTPOINT
testpool              2.16M   252M  38.2K  /testpool
testpool/home         2.04M   252M  2.04M  /testpool/home
testpool/home@monday      0      -  2.04M  -
これで準備が整いました。

それでは、まずスナップショット testpool/home@monday からクローン testpool/test ファ イルシステムを作成してみます。
# zfs clone testpool/home@monday testpool/test

# zfs list
NAME                   USED  AVAIL  REFER  MOUNTPOINT
testpool              2.17M   252M  39.6K  /testpool
testpool/home         2.04M   252M  2.04M  /testpool/home
testpool/home@monday      0      -  2.04M  -
testpool/test             0   252M  2.04M  /testpool/test
zfs list の結果から判る通り、クローンもスナップショットと同様、物理 コピーでなく差分で管理される為、最初の USED は 0 Byte になります。
作成した /testpool/test クローンに対して Write 可能かファイルを作成して 確かめてみます。
# mkfile 1m /testpool/test/ccc
# mkfile 1m /testpool/test/ddd

# ls /testpool/test
aaa bbb ccc ddd
正常に Write ができました。

今度は、プロモーションの機能を試す為、マスタとなるファイルシステム /testpool/home が破棄できない事を確かめてみます。
# zfs list
NAME                   USED  AVAIL  REFER  MOUNTPOINT
testpool              4.22M   250M  39.6K  /testpool
testpool/home         2.04M   250M  2.04M  /testpool/home
testpool/home@monday      0      -  2.04M  -
testpool/test         2.04M   250M  4.04M  /testpool/test

# zfs destroy -r testpool/home
'testpool/home' を破棄できません: filesystem に依存しているクローンがあります
次のデータセットを破棄するには、'-R' を使用してください:
testpool/test
予想通り、マスタのファイルシステムを破棄しようとすると、マスタを参照している クローンが依存している為、破棄できません。

それでは、プロモーション機能を使って、依存関係を交換してみます。
# zfs promote testpool/test

# zfs list
NAME                   USED  AVAIL  REFER  MOUNTPOINT
testpool              4.22M   250M  39.6K  /testpool
testpool/home             0   250M  2.04M  /testpool/home
testpool/test         4.08M   250M  4.04M  /testpool/test
testpool/test@monday  33.7K      -  2.04M  -
これで依存関係が入れ替わりました。
ちなみに、依存関係が逆転した為、 @monday スナップショットが/testpool/test ファイル システムの方に移動しています。

それでは、本来マスタとなっていたファイルシステムを破棄してみましょう。
# zfs destroy testpool/home
 
# zfs list
NAME                   USED  AVAIL  REFER  MOUNTPOINT
testpool              4.21M   250M  38.2K  /testpool
testpool/test         4.08M   250M  4.04M  /testpool/test
testpool/test@monday  33.7K      -  2.04M  -
正常に testpool/home ファイルシステムを破棄できました。

もし、クローンのファイルシステム名を元あったマスタのファイルシステム名と と同じにしたい場合は、リネームするコマンドがあります。
# zfs rename testpool/test testpool/home

# zfs list
NAME                   USED  AVAIL  REFER  MOUNTPOINT
testpool              4.21M   250M  38.2K  /testpool
testpool/home         4.08M   250M  4.04M  /testpool/home
testpool/home@monday  33.7K      -  2.04M  -

# ls /testpool/test
aaa bbb ccc ddd
はい、これで testpool/test が testpool/home にリネームされました。


(最後に)
今回紹介した ZFS の機能を含め、ZFS のスナップショット、ロールバック、クローン、プロモーション、 リネーム機能は是非試してみて下さい!


(参考情報) やっぱりSunがスキ! ZFS 関連 blog
- スナップショット、ロールバック機能紹介
- ファイルシステムの複製方法紹介
- ホットスペア機能紹介
- USB メモリで ZFS