ZFSのおさらい ZFSでバックアップ・リストア スナップショットとクローン の小粋な使い方
どこのご家庭にもあるOpenSolarisを、ZFSで有効活用OSC2010 Tokyo/Fallみやざきさとる日本OpenSolarisユーザグループ
View Slide
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 2自己紹介とあるIT企業のSolaris使いTwitter: s_miyazaストレージとかも触ってますOpenSolarisなのは趣味です趣味を仕事に持ち込むとかm9(^Д^)プギャー
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 3アジェンダZFSのおさらいZFSでバックアップ・リストアスナップショットとクローン の小粋な使い方
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 4ZFSのおさらい128bitファイルシステム大容量のファイルに対応HDDをストレージプールとして管理し、簡単にHDD増設が可能RAID(0,1,5,6)に相当する機能を提供Copy-on-Writeによるデータ完全性の保証スナップショット・クローン機能
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 5ZFSのおさらい(続き)他にも重複排除とかの新機能詳しくは、以下の資料(OpenSolarisNightSeminarの資料)を参考http://jp.sun.com/developers/events/nightSeminar/PDF/OSNS-Solaris_ZFS-20090306.pdfhttp://mediacast.sun.com/users/hiroa/media/OSNS_ZFS-20090710.pdf/detailshttp://mediacast.sun.com/users/hiroa/media/OSHT_ZFS-20091218.pdf/details
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 6ポインタCopy on Writeのおさらい(1)ポインタデータUberBlock最初の状態
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 7間接ポインタCopy on Writeのおさらい(2)ポインタデータUberBlock修正されたデータは新しいデータブロックに作成される新データ 新データ
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 8間接ポインタポインタデータUberBlock新しい間接ポインタが作成される新データ 新データCopy on Writeのおさらい(3)新ポインタ
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 9ポインタポインタデータUberBlock新しいポインタが作成されるCopy on Writeのおさらい(4)新ポインタ
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 10ポインタポインタデータ新UberBlock新しいUberBlockが作成される古いブロック・ポインタは削除されるCopy on Writeのおさらい(5)新ポインタ
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 11ポインタスナップショットのおさらい(1)ポインタデータポインタSnapshot OriginalUberBlock UberBlockスナップショットはReadOnlyOriginalのUberBlockとポインタをコピー
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 12スナップショットのおさらい(2)新データ 新データSnapshot OriginalUberBlock新UberBlockOriginalに変更があるとブロック部とポインタ部だけが変更される
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 13クローンのおさらい(1)CloneSnapshot UberBlock UberBlockOriginalUberBlockUberBlockクローンはReadWriteスナップショットのUberBlockとポインタをコピー
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 14クローンのおさらい(2)newnew newCloneSnapshot UberBlock 新UberBlockOriginal新UberBlockOriginal・クローンに変更があるとブロック部とポインタ部だけが変更される
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 15スナップショットの参照方法time sliderを使うauto-snapshot を使うと、nautilus 上である時点のsnapshot の内容を参照出来ますZFSプロパティ snapdir をvisibleにすると、.zfs 下にスナップショットの内容が参照出来ます# zfs set snapdir=visible rpool/export/home# ls .zfs/snapshot/スナップショット名男らしくrollback
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 16ZFSでバックアップ(1)バックアップはスナップショット単位バックアップはzfs send# zfs send [email protected] > /tmp/snap.zfs.imgバックアップイメージはファイルストリームなので、gzipとかで圧縮可能# zfs send [email protected] | gzip -c >/tmp/snap2.zfs.img.gzテープにもバックアップ出来ます# zfs send [email protected] > /dev/mt/0cn
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 17ZFSでバックアップ(2)ZFSツリーもいっぺんにスナップショット# zfs snapshot -r rpool/[email protected]ZFSツリーもいっぺんにバックアップ# zfs send -R rpool/[email protected] >/tmp/snap.export.img
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 18ZFSでリストアリストアは、zfs recieve# zfs recieve rpool2 < /tmp/snap.zfs.imgZFSツリーのリストアも出来ます# zfs receive rpool2 < /tmp/snap.export.img
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 192サーバ間で差分バックアップファイルベースなので、サーバ間でバックアップ・リストア可能# zfs snapshot -r rpool/[email protected]# zfs send -R rpool/[email protected] |ssh serverB zfs receive rpool差分バックアップも出来ます# zfs snapshot -r rpool/[email protected]# zfs send -R -i rpool/[email protected]rpool/[email protected] | ssh serverB zfs receive rpool
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 20差分バックアップの例ServerA ServerB[email protected] [email protected]snapshot全体のコピー
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 21差分バックアップの例ServerA ServerB[email protected][email protected] [email protected]snapshot差分のコピー[email protected]
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 22差分バックアップの例ServerA ServerB[email protected][email protected][email protected] [email protected][email protected][email protected]snapshot差分のコピー
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 23スナップショットの数だけ容量を消費する一日ごとにバックアップ→容量が増えるスナップショットを取っていると、ファイルを削除しても容量は減らない一日前には戻りたいけど、数週間前のある一日に戻りたいか?一週経ったら、日単位のバックアップって要らなくね?よし、削除しよう# zfs destrory rpool/[email protected]
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 24差分バックアップの削除例Before After[email protected][email protected][email protected] [email protected][email protected]snapshot差分の削除
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 25差分バックアップの利用例Zoneの同期によるActive-Standby構成Zone部分を二台のサーバで同期片系がダウンしても、もう片方で動作Zoneの領域はZFSこれをAttach/Detachすることが出来る% pfexec zoneadm -z zonename attach% pfexec zoneadm -z zonename detachZoneの情報はStandby機にコピー% pfexec zonecfg -z zonename export |ssh ServerB pfexec zonecfg -z zonename
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 26ZoneのActive-Standby構成Zone Zone同期ServerA ServerBZone起動中
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 27ZoneのActive-Standby構成Zone ZoneServerA ServerBZoneのActive-Standby構成Zone起動中
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 28ZFS同期によるActive−Stanby構成簡単な方式なので、クリティカルな場面では使えない同期間隔があるので、データロストする→データは別の場所に置く必要ありDBなどには向かない構成DBを止めてからスナップショットを取れば、整合性は保たれます
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 29HDD毎移動ZFSでは、ssh経由でネットワークで遠隔地にバックアップ出来ます→でも、データ量が多いと時間がかかるデータ量によっては、HDDを新幹線や飛行機で運んだ方が早い!こともあるzfs sendでファイルストリームを外部HDDに保存、と言うのも手ですが...
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 30HDD取り外しZFS には、import/export 機能があります外付けHDDを、zfs create で新プールbackup作成# zpool create backup /dev/dsk/c8d0t0d0プールbackupにデータをコピー# zfs send -R rpool/[email protected] |zfs recieve backup
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 31HDD取り付けプールbackup を取り外し# zpool export backup遠隔地のサーバにHDDを接続# zpool import backupサーバが、SPARCでもx86でも関係なしendian の差異はZFSが吸収複数ディスク(RAIDZ/RAIDZ2)でも大丈夫ただし、ZFSバージョンには気をつけよう
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 32クローンによる起動環境の複製OpenSolarisではbeadm で、Boot Environment(起動環境=BE)を管理新しいBEは、現BEの複製(クローン)クローンなので、差分しか増えないBEはgrub画面で選択可能BEの削除は自由ただし、起動中のBEは削除出来ないBEに対する操作も可能beadm mount で、領域をマウント出来るマウント後設定ファイル修正など
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 33アップデート時の起動環境の複製pkg image-update(apt-get dist-upgrade的な操作)による複数パッケージ更新時には、自動的に新しいBEを作成し、新しいBEを更新するアップグレード時に、サービス停止が発生しない→サービス停止時間の短縮アップグレードに失敗したら、旧BEで起動すればよい
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 34BE複製の問題点rpoolをZFS upgradeすると旧BEで立ち上がらなくなる可能性ありrpool とデータ領域は、zpoolごと分けるのがお勧め
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 35まとめZFSサイコースナップショット・クローンは有用send/receiveでバックアップも楽々設計がめんどくさいのはどれも一緒Zoneの多重化もそこはかとなく出来るちゃんとやりたければOpenHAがあるBEを使うことで複数環境を切り替えアップデート時に新しいBEに更新するサービス停止時間の低減
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 36まあ、つまりZFSサイコー!
OSC2010 Tokyo/Fallどこのご家庭にもあるOpenSolarisを、ZFSで有効活用pg 37参考資料ZFS 仮想化されたファイルシステムの徹底活用# ISBN-10: 4048676547# ISBN-13: 978-4048676540世界初のZFS本ZFS Essentials の方が後です超お勧め