トップ 一覧 検索 ヘルプ RSS ログイン

zfsの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!設定・コマンドサンプル

!コピー増加
*特定のzfsの領域について、データのコピー数を増加させることでデータの安全性を増加させる。
*使用領域の消費が増える。
*スピードが減少する。
 zfs create -o copies=3 zfsname/dirname

!!FreeBSD ZFS RAIDZ 拡張
!概要
*FreeBSD-8-stable
*作業前 2T 5本 RAIDZ1 総容量8T
*作業後予定 2T 10本 RAIDZ2 総容量16T
*最低HDD1本の冗長度を維持する
*移行元 zpool 確認: tank raidz1 ad6 ad10 ad16 ad22 ad26 (すべて2Tの RAIDZ1)
*移行先ディスクの追加: ad4(1T) ad8(1T) ad12(500G) ad20(1T) ad24(1T) +新規追加 HDD4本 (DEGRADED RAIDZ2)

!作業記録
*RAIDZ2 ダミーファイルの準備(sparse ファイルの作成、見かけは1T 実質64k)
 # dd if=/dev/zero of=/tmp/file1T count=0 bs=65536 seek=16777216
 # ls -l /tmp/file1T
 -rw-r--r--  1 root  wheel  1099511627776 Oct 11 16:59 /tmp/file1T
 # du /tmp/file1T
 64   /tmp/file1T

!作業予定
*1HDD破損の RAIDZ2 作成
 zpool create newtank raidz2 ad4 ad8 ad12 ad20 ad24 .. .. .. .. /tmp/file1T
*ダミーファイルの raidz2 からの除去
 zpool offline newtank /tmp/file1T
*zfs send のための snapshot 作成
 zpool snapshot -r tank 20112233
*zfs send+receive で内容コピー
 zfs send -R tank@20112233 | zfs recv -F -d newtank
*zfs 破棄
 zfs destroy tank
*ダミーファイル分の修復
 zfs replace newtank /tmp/file1T ad6
*500G と 2T のHDD入れ替え
 zfs replace newtank ad12 ad10
*


!!!参考サイト

!ZFS ソースツアー / BigAdmin System Administration Portal / Sun
*http://www.sun.com/bigadmin/hubs/multilingual/japanese/content/zfs-source.jsp

!ZFSでmirror→RAID-Zに変更する手順の作業ログ / とある技術屋の戯言
*http://www.sonorilo.net/2010/07/07/2735
*opensolaris

*以下は主要部分のみ抽出、オリジナルには重要なエラーや対応方法が存在
""ディスク代わりに使うsparse fileを作って
 # mkfile -n 2g /tank/file
""RAID-Zの"newtank"を作成。サイズが違うと怒られるので-fを使う。
 # zpool create -f newtank raidz c8t3d0 c8t4d0 /tank/file
""すぐにディスク代わりのファイルはオフラインにする
 # zpool offline newtank /tank/file
""zfs sendのためのsnapshot作成
 # zfs snapshot -r tank@a
""zfs send/recvで転送。
 # zfs send -R tank@a | zfs recv -F -d newtank
""tankを削除
 # zpool destroy tank
""ミラーの片割れだったc8t2d0をnewtankに組み込み。データがいっぱいあったらリビルドに時間がかかるでしょう
 # zpool replace newtank /tank/file c8t2d0
""newtank→tankに名前を変更。
 # zpool export newtank
 # zpool import newtank tank

!2011年9月20日 ZFS活用シリーズ - scrubで直らない問題の修正(zdb版) / FreeBSD Daily Topics
*後藤大地さん
*http://gihyo.jp/admin/clip/01/fdt/201109/20
""実証実験をしていないので確かなことはわかりませんが,前回のような問題が発生したようなケースは「zdb -AAA プール」で修正が可能なようです。

!2011年9月21日 ZFS活用シリーズ - scrubで直らない問題の修正(zdb - 状況調査編) / FreeBSD Daily Topics
*http://gihyo.jp/admin/clip/01/fdt/201109/21
""対象となるプールがパニックを誘発する状態にあるかどうかは次のように「zdb -e プール」で調査することができます。

!2011年9月22日 ZFS活用シリーズ - scrubで直らない問題の修正(zdb - 修復編)/ FreeBSD Daily Topics
*http://gihyo.jp/admin/clip/01/fdt/201109/22
""「-AAA」はすべての処理を実施しようとします。通常は次のようにデータブロックとメタデータプロック,メタラベル,ブロック統計データあたりをチェックするようにするだけで十分でしょう。

 
 # zdb -cc -b -m -e zpool

!優雅な生活の設計と実装
*http://www.allbsd.org/~hrs/diary/201109.html#d2301
*zfs についての詳細

!ZFS Internals (part #11) / Marcelo Leal blog
*http://www.eall.com.br/blog/?tag=zdb

!zdb: Examining ZFS At Point-Blank Range / Cuddletech by Ben Rockwood
*http://cuddletech.com/blog/pivot/entry.php?id=980
*zdb を利用したデータの抽出法
*zdb -dddd でオブジェクトIDを把握
 zdb -dddd [pool]
*zdb -ddddd で DVA とサイズを把握
 zdb -ddddd [pool] [objID]
*zdb -R でデータを確認
 zdb -R [DVA]
*zdb -R :r でデータを抽出
 zdb -R [DVA]:r 2>[output]

!Troubleshooting ZFS Issues and Recovering ZFS Data / Oracle Solaris 10 ZFS Administration
*http://solaris-training.com/classp/2290_HTML/mod07.htm
*zfs に関するリンク集