osc tokyo2010 fall_zfs

39
どこのご家庭にもある OpenSolaris を、 ZFS で有効活用 OSC2010 Tokyo/Fall みやざきさとる 日本 OpenSolaris ユーザグループ

Upload: satoru-miyazaki

Post on 25-May-2015

1.592 views

Category:

Technology


2 download

DESCRIPTION

どこのご家庭にもあるOpenSolarisを、ZFSで有効活用

TRANSCRIPT

Page 1: Osc tokyo2010 fall_zfs

どこのご家庭にもあるOpenSolarisを、ZFSで有効活用

OSC2010 Tokyo/Fall

みやざきさとる

日本OpenSolarisユーザグループ

Page 2: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 2

自己紹介

とあるIT企業の Solaris使い

Twitter: s_miyaza

ストレージとかも触ってます

OpenSolarisなのは趣味です

趣味を仕事に持ち込むとか

m9(^ Д^)プギャー

Page 3: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 3

アジェンダ

ZFSのおさらい

ZFSでバックアップ・リストア

スナップショットとクローンの

小粋な使い方

Page 4: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 4

ZFSのおさらい

128bitファイルシステム大容量のファイルに対応HDDをストレージプールとして管理し、簡単に HDD増設が可能RAID(0,1,5,6)に相当する機能を提供Copy-on-Writeによるデータ完全性の保証スナップショット・クローン機能

Page 5: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 5

ZFSのおさらい (続き )

他にも重複排除とかの新機能詳しくは、以下の資料(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

Page 6: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 6

ポインタ

Copy on Writeのおさらい (1)

ポインタ

データ

UberBlock

最初の状態

Page 7: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 7

間接ポインタ

Copy on Writeのおさらい (2)

ポインタ

データ

UberBlock

修正されたデータは新しいデータブロックに作成される

新データ 新データ

Page 8: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 8

間接ポインタ

Copy on Writeのおさらい (2 )

ポインタ

データ

UberBlock

新しい間接ポインタが作成される

新データ 新データ

Copy on Writeのおさらい (3)

新ポインタ

Page 9: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 9

ポインタ

ポインタ

データ

UberBlock

新しいポインタが作成される

Copy on Writeのおさらい (4)

新ポインタ

Page 10: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 10

ポインタ

ポインタ

データ

新 UberBlock

新しい UberBlockが作成される古いブロック・ポインタは削除される

Copy on Writeのおさらい (5)

新ポインタ

Page 11: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 11

ポインタ

スナップショットのおさらい (1)

ポインタ

データ

ポインタ

Snapshot OriginalUberBlock UberBlock

スナップショットは ReadOnly

Originalの UberBlockとポインタをコピー

Page 12: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 12

スナップショットのおさらい (2)

新データ 新データ

Snapshot OriginalUberBlock新 UberBlock

Originalに変更があるとブロック部とポインタ部だけが変更される

Page 13: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 13

クローンのおさらい (1)

Clone

Snapshot UberBlock UberBlock

Original

UberBlockUberBlock

クローンは ReadWrite

スナップショットの UberBlockとポインタをコピー

Page 14: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 14

クローンのおさらい (2)

newnew new

Clone

Snapshot UberBlock 新 UberBlock

Original

新 UberBlock

Original・クローンに変更があるとブロック部とポインタ部だけが変更される

Page 15: Osc tokyo2010 fall_zfs

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

Page 16: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 16

ZFSでバックアップ (1)

バックアップはスナップショット単位バックアップは zfs send# zfs send rpool@snap > /tmp/snap.zfs.img

バックアップイメージはファイルストリームなので、 gzipとかで圧縮可能# zfs send rpool@snap2 | gzip -c > /tmp/snap2.zfs.img.gzテープにもバックアップ出来ます# zfs send rpool@snap3 > /dev/mt/0cn

Page 17: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 17

ZFSでバックアップ (2)

ZFSツリーもいっぺんにスナップショット# zfs snapshot -r rpool/export@snapZFSツリーもいっぺんにバックアップ# zfs send -R rpool/export@snap > /tmp/snap.export.img

Page 18: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 18

ZFSでリストア

リストアは、 zfs recieve# zfs recieve rpool2 < /tmp/snap.zfs.img

ZFSツリーのリストアも出来ます# zfs receive rpool2 < /tmp/snap.export.img

Page 19: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 19

2サーバ間で差分バックアップ

ファイルベースなので、サーバ間でバックアップ・リストア可能# zfs snapshot -r rpool/zone@20100910# zfs send -R rpool/zone@20100910 | ssh serverB zfs receive rpool

差分バックアップも出来ます# zfs snapshot -r rpool/zone@20100911# zfs send -R -i rpool/zone@20100910 rpool/zone@20100911 | ssh serverB zfs receive rpool

Page 20: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 20

差分バックアップの例

ServerA ServerB

rpool@20100910 rpool@20100910

snapshot全体のコピー

Page 21: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 21

差分バックアップの例

ServerA ServerB

rpool@20100910

rpool@20100911 rpool@20100911

snapshot差分のコピー

rpool@20100910

Page 22: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 22

差分バックアップの例

ServerA ServerB

rpool@20100910

rpool@20100911

rpool@20100912 rpool@20100912

rpool@20100911

rpool@20100910

snapshot差分のコピー

Page 23: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 23

スナップショットの数だけ容量を消費する

一日ごとにバックアップ→容量が増えるスナップショットを取っていると、ファイルを削除しても容量は減らない一日前には戻りたいけど、数週間前のある一日に戻りたいか?一週経ったら、日単位のバックアップって要らなくね?よし、削除しよう# zfs destrory rpool/zone@20100911

Page 24: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 24

差分バックアップの削除例

Before After

rpool@20100910

rpool@20100911

rpool@20100912 rpool@20100912

rpool@20100910

snapshot差分の削除

Page 25: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 25

差分バックアップの利用例

Zoneの同期による Active-Standby構成Zone部分を二台のサーバで同期片系がダウンしても、もう片方で動作Zoneの領域は ZFSこれを Attach/Detachすることが出来る% pfexec zoneadm -z zonename attach

% pfexec zoneadm -z zonename detach

Zoneの情報は Standby機にコピー% pfexec zonecfg -z zonename export | ssh ServerB pfexec zonecfg -z zonename

Page 26: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 26

Zoneの Active-Standby構成

Zone

Attach

Zone同期

Detach

ServerA ServerB

Zone起動中

Page 27: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 27

Zoneの Active-Standby構成

Zone

Attach

Zone

Attach

ServerA ServerB

Zoneの Active-Standby構成

Zone起動中

Page 28: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 28

ZFS同期による Active−Stanby構成

簡単な方式なので、クリティカルな場面では使えない同期間隔があるので、データロストする→データは別の場所に置く必要ありDBなどには向かない構成DBを止めてからスナップショットを取れば、整合性は保たれます

Page 29: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 29

HDD毎移動

ZFSでは、 ssh経由でネットワークで遠隔地にバックアップ出来ます→でも、データ量が多いと時間がかかるデータ量によっては、 HDDを新幹線や飛行機で運んだ方が早い!こともあるzfs sendでファイルストリームを外部 HDDに保存、と言うのも手ですが ...

Page 30: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 30

HDD取り外し

ZFS には、 import/export 機能があります外付け HDDを、 zfs create で新プールbackup作成# zpool create backup /dev/dsk/c8d0t0d0プール backupにデータをコピー# zfs send -R rpool/export@backup | zfs recieve backup

Page 31: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 31

HDD取り付け

プール backup を取り外し# zpool export backup遠隔地のサーバに HDDを接続# zpool import backupサーバが、 SPARCでも x86でも関係なしendian の差異は ZFSが吸収複数ディスク (RAIDZ/RAIDZ2)でも大丈夫ただし、 ZFSバージョンには気をつけよう

Page 32: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 32

クローンによる起動環境の複製OpenSolarisでは beadm で、 Boot Environment(起動環境 =BE)を管理新しい BEは、現 BEの複製 (クローン )クローンなので、差分しか増えないBEは grub画面で選択可能BEの削除は自由ただし、起動中の BEは削除出来ないBEに対する操作も可能beadm mount で、領域をマウント出来るマウント後設定ファイル修正など

Page 33: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 33

アップデート時の起動環境の複製

pkg image-update(apt-get dist-upgrade的な操作 )による複数パッケージ更新時には、自動的に新しい BEを作成し、新しい BEを更新するアップグレード時に、サービス停止が発生しない→サービス停止時間の短縮アップグレードに失敗したら、旧 BEで起動すればよい

Page 34: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 34

BE複製の問題点

rpoolを ZFS upgradeすると旧 BEで立ち上がらなくなる可能性ありrpool とデータ領域は、 zpoolごと分けるのがお勧め

Page 35: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 35

まとめ

ZFSサイコースナップショット・クローンは有用send/receiveでバックアップも楽々設計がめんどくさいのはどれも一緒Zoneの多重化もそこはかとなく出来るちゃんとやりたければOpenHAがあるBEを使うことで複数環境を切り替えアップデート時に新しい BEに更新するサービス停止時間の低減

Page 36: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 36

まあ、つまり

ZFSサイコー!

Page 37: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 37

ご静聴ありがとうございました。

どこのご家庭にもあるOpenSolarisを、ZFSで有効活用

Page 38: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 38

参考資料

ZFS 仮想化されたファイルシステムの徹底活用# ISBN-10: 4048676547

# ISBN-13: 978-4048676540

世界初の ZFS本ZFS Essentials の方が後です超お勧め

Page 39: Osc tokyo2010 fall_zfs

OSC2010 Tokyo/Fall

どこのご家庭にもあるOpenSolarisを、 ZFSで有効活用pg 39

参考資料OpenSolaris Night Seminar資料

http://jp.sun.com/developers/events/nightSeminar/PDF/OSNS-Solaris_ZFS-20090306.pdf

http://mediacast.sun.com/users/hiroa/media/OSNS_ZFS-20090710.pdf/details

http://mediacast.sun.com/users/hiroa/media/OSHT_ZFS-20091218.pdf/details

OpenSolaris勉強会 for Admin(仮 )資料

http://docs.google.com/present/view?id=dpdpddx_4dnvjv7c9

http://wikis.sun.com/download/attachments/204308497/osol_comstar_20100522.pdf