ブログ移転のお知らせ

独自ドメインのVPSにブログ移転中です、ここもデータの保証無しってことで置きっぱなしにしてもらえる事になってます。
 
i移転先予定のブログURLはこちら(作成中):http://www.sawanoboly.net/wp/
旧ブログはこちらでも保管しときます:http://www.sawanoboly.net/wp_old/
前の記事:«
次の記事: »

ZFSは柔軟な拡張も売り、というからには当然このくらいできるだろ?
ということを実験してみた。
 
 

ZFSのストレージプールは、デバイスを適当にAddしていくだけで容量が増えていく。
ではミラーリングで作られたプールはどうなの?
 

ミラーリングのストレージプールを用意する

Solaris10で実験、ZFSのバージョンは 10 ね。
まずは "mkfile" コマンドで 512MB と、1024MB のファイルを それぞれ2つずつ作成。
 

$mkfile 512m /zdev/512M-1
・・・

ファイルがそろった。

$find /zdev -type f | xargs du -h
512M /zdev/512M-1
512M /zdev/512M-2
1.0G /zdev/1024M-1
1.0G /zdev/1024M-2

 

では 512MB のほうを使ってZFSストレージプールを作成しよう。もちろん "mirror" オプションを忘れずに。

$zpool create m512 mirror /zdev/512M-1 /zdev/512M-2

 

$zpool status m512
プール: m512
状態: ONLINE
スクラブ: 何も要求されませんでした
構成:
 
NAME STATE READ WRITE CKSUM
m512 ONLINE 0 0 0
mirror ONLINE 0 0 0
/zdev/512M-1 ONLINE 0 0 0
/zdev/512M-2 ONLINE 0 0 0
 
エラー: 既知のデータエラーはありません
 
$zfs list m512
NAME USED AVAIL REFER MOUNTPOINT
m512 89.5K 472M 1K /m512

m512 という 472MBのプールができました、ちょっと減るのはメタ情報領域がいるから。
ちなみにZpool名の初めの文字には 0-9 が使えない、デバイスの最低サイズは64MBから。
 
 

ミラーリング拡張方法の説明

デバイスとして 512MBのファイルが2つ使われているストレージプールに対して、中身のデバイスを 1024MBのファイル2つに 置き換えてしまうという作戦。
 
ZFSストレージプールでは、既存ものと同一か、より容量が大きいものであればデバイスの置き換えが可能なのだ。そして置き換えで発生した余剰サイズは無駄にならない、再計算されちゃんと最大容量が使用される。
 
 

デバイスを順繰りに置き換えていく

では リプレースしてみよう。
まずは 512MB のうち1つを 1024MB に置き換え。

$zpool replace m512 /zdev/512M-1 /zdev/1024M-1
 
$zpool status m512
プール: m512
状態: ONLINE
スクラブ: Mon Apr ** **:**:** 2009
上で 0 エラーが発生した 0h0m のあとの resilver completed構成:
 
NAME STATE READ WRITE CKSUM
m512 ONLINE 0 0 0
mirror ONLINE 0 0 0
replacing ONLINE 0 0 0
/zdev/512M-1 ONLINE 0 0 0
/zdev/1024M-1 ONLINE 0 0 0
/zdev/512M-2 ONLINE 0 0 0
 
エラー: 既知のデータエラーはありません

リプレースというステータスを経て、めでたく置き換わる。所要時間はZFS上のファイル容量に比例するかな。
 

$zpool status m512
プール: m512
状態: ONLINE
スクラブ: Mon Apr ** **:**:** 2009
上で 0 エラーが発生した 0h0m のあとの resilver completed構成:
 
NAME STATE READ WRITE CKSUM
m512 ONLINE 0 0 0
mirror ONLINE 0 0 0
/zdev/1024M-1 ONLINE 0 0 0
/zdev/512M-2 ONLINE 0 0 0
 
エラー: 既知のデータエラーはありません
 
$zfs list m512
NAME USED AVAIL REFER MOUNTPOINT
m512 106K 472M 18K /m512

OK、この状態でサイズが拡張しないのはミラーとして当然な。
ではもう一丁。

$zpool status m512
プール: m512
状態: ONLINE
スクラブ: Mon Apr ** **:**:** 2009
上で 0 エラーが発生した 0h0m のあとの resilver completed構成:
 
NAME STATE READ WRITE CKSUM
m512 ONLINE 0 0 0
mirror ONLINE 0 0 0
/zdev/1024M-1 ONLINE 0 0 0
/zdev/1024M-2 ONLINE 0 0 0
 
エラー: 既知のデータエラーはありません

と、完全にミラーリングのデバイスを置き換えることに成功。ここまで完全Online、ファイルアクセスの停止は無し。
 
 

サイズを確認しよう 1

512MB 2つで組んだミラーは、生まれ変わるまでもなく今や1024MB 2つとなった。もちろん間にデグレード状態も挟まないぞ。
 

さあZFSのサイズを確認しよう

$zfs list m512
NAME USED AVAIL REFER MOUNTPOINT
m512 106K 472M 18K /m512

あれー? 変わってないや。
 
ミラーは拡張できないの?いやそうでもない、次でやりかたを。
 
 

サイズを確認しよう 2

この状態からサイズ拡張をさせるには、確認できた手順で2通りある。※サーバの再起動はしてないので未確認
 

■エクスポート&インポート

$zpool export m512
$zpool import -d /zdev/ m512

これはまあ確実だ、もともとZFSではサイズなんて後から付いてくるものだから。
 

■もう一度デバイス操作

$zpool replace m512 /zdev/1024M-1 /zdev/1024M-3

この例では1024MBファイルの3つ目をつくってデバイスの置き換えをもう一度やっている、これでサイズの再計算がおこなわれるのか、使用可能サイズが拡張される。
ミラー中の片割れをデタッチ&アタッチでもいいかもしれない。
 

どちらかをやったあとにサイズを確認しよう。

$zfs list m512
NAME USED AVAIL REFER MOUNTPOINT
m512 112K 984M 18K /m512

ほら拡張している。
 
 

おわりに

なんでこの実験をしたかということを少し。
社内向けファイルサーバとしてZFSが使える環境を考えたのがきっかけ。容量の追加によるストレージ拡張は社内共用サーバとしてよく課題に上げられるので、それをZFSが楽にしてくれないかと考えた。
 

Solaris+ZFS は CIFS をサポートしているので、ADサーバがある環境には容易に突っ込むことができるだろう。ミラーであれば構築時にいろいろ融通がきくうえ、拡張が自由となればさぞ柔軟性も高かろう。
(※ZFSのiSCSIも面白いんだが、拡張に不向き)
 
弾さえ用意すれば幾らでも容量を拡張してくれるファイルサーバって素敵やん?
 

ただ、Solarisを運用する気になるか、という点では敷居がちょっと高いのかな。マニュアル充実なので、まとまった時間さえとれればと思いますが。
 

前の記事:«
次の記事: »
add to hatena hatena.comment (1) add to del.icio.us (0) add to livedoor.clip (1) add to Yahoo!Bookmark (1) Total: 3

使ってる所とか

※注意

I
KOBE×
BUSINESS.

これは個人ブログです、内容についてアイクラフト(株)は責任を負いません。
にほんブログ村 IT技術ブログへSawanoblogのフィード
人気ブログランキングへ
この日記のはてなブックマーク数
はてなRSSに追加
Googleに追加
My Yahoo!に追加
livedoor Readerに追加
goo RSSリーダーに追加
フィードメーター - SawanoBlog.
MCP
MCTS
CCNA

ミニブログとか

あわせて読みたいブログパーツ
  • ZFS上のiSCSIターゲットをサイズ変更、ディスクを拡張して使う(Windows NTFS編)
    画像:8GBのiSCSIディスク


    Windowsのオブジェクトアクセス監査でアクセス権の変更を記録する
    画像:アクセス権変更した時のイベント


    Windows、VBScriptでYYYYMMDD
    画像:スクリプトの実行結果


    通勤中に参考書を読む、裁って3つの冴えたやり方
    写真:参考書_正面


    たまには手ぶらで近所を散歩してもいい頃
    写真:ご近所外出セット


    Nagiosの状態をステータスバーに表示、FireFoxアドオン『Nagios Checker』
    画像:Nagios Checker(無風)
  • Amazon用