iSCSI経由でマウントしたドライブのサイズを変更して使うというお話。
ZFSでiSCSIターゲット
ZFS上にZFSボリュームと呼ばれる容量制限付きのボリュームを作成し、"shareiscsiプロパティ"をonにするとiSCSIターゲットとして利用できる。
お手軽高パフォーマンスで重宝するのだが、折角容量可変のZFSを固定容量で使っている気がして、少々もったいないと思っていた。
しかしそれが認識間違いだったのに気づいた、いくらでもサイズ変更出来てしまう。
iSCSIターゲット中のZFSボリュームをサイズ変更
ZFSボリュームは一応普通のZFSファイルシステムとは扱いが違い、独自のプロパティを色々もっているうえOSにマウントされないためzfsコマンド以外では通常見えない。
"zfs list"で見るとちゃんと予約したサイズを確保しているので固定だと思い込んでいたが、"clone" とか "send&recv" とかすると利用中サイズが変わる。でもiSCSIでくっつけると見える上限は同じー。
おかしいと思ってzfsボリュームのプロパティ一覧をみると、 "volsize" とかいうのがある。
どれどれ・・・
# zfs get volsize ziscsi/sawa01
NAME PROPERTY VALUE SOURCE
ziscsidev/sawa01 volsize 8G
なるほどZFSボリュームのサイズは単なるプロパティの一つであり、ハードクォータみたいな物なのか。
すっかりファイルをブロックデバイス代わりに使うような感覚でいたよ。
じゃあ早速、"set" で変更を試みる。
# zfs set volsize=16G ziscsi/sawa01
(特に出力なし・・何か言ってよ!)
# zfs get volsize ziscsi/sawa01
NAME PROPERTY VALUE SOURCE
ziscsi/sawa01 volsize 16G -
おお、変わっちまった、、、
乗せていたNTFSどうなんのよ!?
ちなみにテストはSolaris10、Zpoolのバージョン15で。
サイズ変更の瞬間、Windowsでは
サンプルはXP、Vistaみたいにパーティションをゴリゴリいじれないのでどうなるんだろう。。
まず8Gの時のマウント状況、Microsoft iSCSIイニシエータでZドライブにくっつけ&NTFSフォーマット。
[caption id="attachment_1553" align="alignnone" width="553" caption="画像:8GBのiSCSIディスク"][/caption]
[caption id="attachment_1554" align="alignnone" width="469" caption="画像:8GBのiSCSIディスク(2)"][/caption]
※実際はSS取るために「8G⇒16G⇒8G」とやったZFSボリュームを使用(^^
これをZFS側で16Gに拡張するといったんLogoffされる、まあ安全な感じですね。
[caption id="attachment_1556" align="alignnone" width="553" caption="画像:iSCSI自動切断"][/caption]
では、ログインしなおそう・・・
[caption id="attachment_1555" align="alignnone" width="408" caption="画像:MSのWIndows用iSCSIイニシエータ"][/caption]
ディスクの管理を見てみる。
[caption id="attachment_1558" align="alignnone" width="553" caption="画像:16GBのiSCSIディスク"][/caption]
増えとるよー!うわー、あたりまえだけど生理的になんだか気持ち悪い。。。
後はまあ気を取り直して、適当にパーティション操作ソフトでいじるなり、Vista以降なら拡張するなりお好きなようにってところですね。
とりあえず手持ちで手っ取り早い方法としてダイナミックディスクにしてみる。
[caption id="attachment_1559" align="alignnone" width="553" caption="画像:ダイナミックのシンプルボリューム"][/caption]
変換して追加、ちゃんと8GB ⇒ 16GB のボリュームになりましたね。
ダイナミックディスクって使ったことないけど、相手はZFS上の信頼できるデバイスなのでなんでもイイんです。
では後編のLinux(ext3ムリヤリ拡張)編に続くー