2007年 5月 28日 月曜日
やっぱり Sun がスキ!
USBメモリで ZFS !
Solaris 10 6/06 から実装されている革新的な新機能 ZFS 。
魅力的な機能であると知りつつも実際に ZFS で RAID 構成を
構築するとなるとストレージデバイスが多数なければ意味を成さず
自宅のパソコンに Solaris 10 の検証環境を構築している方などは
興味があるものの手が出せず・・「残念!」っとお思いでは無いで
しょうか?
そんな皆さんに朗報です! ZFS 構築に必要なものは最近、価格的
にもお手軽になりつつある USB メモリ数本と USB ハブのみ。

そうです USB メモリを使って ZFS環境を構築してしまおう!と言う
のが、本文の主旨です。USBメモリを ZFS の構築デバイスとして使用
する事は正式にサポートされる構成ではありませんが、ZFS を学ぶ為の
教材環境としてはお手軽かつ画期的な手段であると思います。
実は単純に USB メモリを接続するだけでは ZFS 環境を USB メモリ上に
構築することはできません。あれこれと試行錯誤を行い少し強引な方法
ではありますが見事! USB メモリを活用しての ZFS 環境の構築に成功
する事ができましたので、その手順を皆様へご紹介いたします。
※ ZFS で使用するには format コマンド上で 64MB 以上の容量が必要ですので
目減り分を考えると 128MB 以上の USB メモリを用意する必要があります。
【1】まず volfs サービスを止めます。
# svcadm disable volfs【2】USBメモリを挿して「format -e 」を入力。
# format -e
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c1d0
/pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0
1. c8t0d0
/pci@0,0/pci104d,81b9@1d,7/hub@3/storage@4/disk@0,0
Specify disk (enter its number):
【3】表示されたデバイス名をもとに fdisk コマンドにてパーティションを切り直します。(A) Partition 情報の表示を行う。
(B) 3. Delete a partition で既存のパーティションを消去する。
※注意:既存データは全て消えます
# fdisk /dev/rdsk/c8t0d0p0
Cylinder size is 2048 (512 byte) blocks
Cylinders
Partition Status Type Start End Length %
========= ====== ============ ===== === ====== ===
1 Active DOS-BIG 1 966 966 100
SELECT ONE OF THE FOLLOWING:
1. Create a partition
2. Specify the active partition
3. Delete a partition
4. Change between Solaris and Solaris2 Partition IDs
5. Exit (update disk configuration and exit)
6. Cancel (exit without updating disk configuration)
Enter Selection:3
(C) 1. Create a partition で Solaris 向けパーティションを作成。※ Type はSolaris2 を選択し容量は 100% を割り当てる。
(D) 5. Exit (update disk configuration and exit) を選択して終了。
Total disk size is 967 cylinders
Cylinder size is 2048 (512 byte) blocks
Cylinders
Partition Status Type Start End Length %
========= ====== ============ ===== === ====== ===
1 Active Solaris2 1 966 966 100
SELECT ONE OF THE FOLLOWING:
1. Create a partition
2. Specify the active partition
3. Delete a partition
4. Change between Solaris and Solaris2 Partition IDs
5. Exit (update disk configuration and exit)
6. Cancel (exit without updating disk configuration)
Enter Selection:
【4】「format -e」コマンドにて label の作成※ スライス0番に全容量をアサインし SMI Label を選択するのがミソです。
partition> p Current partition table (original): Total disk cylinders available: 964 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 root wm 1 - 963 963.00MB (963/0/0) 1972224 1 unassigned wm 0 0 (0/0/0) 0 2 unassigned wu 0 0 (0/0/0) 0 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wm 0 0 (0/0/0) 0 8 boot wu 0 - 0 1.00MB (1/0/0) 2048 9 unassigned wm 0 0 (0/0/0) 0 partition> label [0] SMI Label [1] EFI Label Specify Label type[0]: 0 Ready to label disk, continue?y【5】後は同作業を本数本繰り返して行い前処理が終わった USB メモリに対して
「zpool create」コマンドで ZFS pool を作れば完成です!
# zpool create -f usb-raidz raidz c8t0d0p0 c9t0d0p0 c10t0d0p0 c11t0d0p0
# zpool status
プール: usb-raidz
状態: ONLINE
スクラブ: 何も要求されませんでした
構成:
NAME STATE READ WRITE CKSUM
usb-raidz ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c8t0d0p0 ONLINE 0 0 0
c9t0d0p0 ONLINE 0 0 0
c10t0d0p0 ONLINE 0 0 0
c11t0d0p0 ONLINE 0 0 0
エラー: 既知のデータエラーはありません
アクセス時にLEDが点灯する USB メモリを用いれば見た目も綺麗な ZFS のデモ環境が出来上がります。非常にコンパクトに収まるので ZFS デモ環境の
持ち運びも苦労しません♪
ZFS で USB メモリをデバイス対象とすることは正式にはサポートされて
いない構成であり、今回の構築の方法も少々強引な設定でありますので、
利用の用途はデモ教材などに限られ、作業にあたっては機材の故障リスク
やデータ破壊の危険性への認識が必要です。
USB メモリを利用した ZFS 環境の構築は、楽しみながら ZFS への興味
と理解を深める事が出来るものと思います。上記の注意を踏まえて頂いた
上で是非チャレンジしてみては如何でしょうか?
☆ ZFS への深まる思い:プライスレス!
Posted at 11:05午前 5 28, 2007 by moridenki in Sun | 投稿されたコメント[7]
これを見た瞬間、まさにコーヒー吹いたでした。
ぶっちゃけUSB接続の外付けHDDはどうなのかなどおもったり。
Posted by ゆ(ry on 5月月 29日, 2007年 at 12:29 午後 JST #
Posted by 日々の堕記 Blog Style on 5月月 29日, 2007年 at 10:59 午後 JST #
Posted by ゆ(ry on 5月月 30日, 2007年 at 09:43 午前 JST #
Posted by ゆ(ry on 5月月 30日, 2007年 at 09:45 午前 JST #
Posted by autooo on 6月月 19日, 2007年 at 06:22 午後 JST #
Posted by d-kawai on 6月月 29日, 2007年 at 10:53 午前 JST #
Posted by Solaris User on 7月月 06日, 2007年 at 01:30 午後 JST #