Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
どこのご家庭にもあるOpenSolarisを、ZFSで有効活用
Search
Satoru MIYAZAKI
May 01, 2022
Technology
0
170
どこのご家庭にもあるOpenSolarisを、ZFSで有効活用
ZFSのおさらい
ZFSでバックアップ・リストア
スナップショットとクローン の小粋な使い方
Satoru MIYAZAKI
May 01, 2022
Tweet
Share
More Decks by Satoru MIYAZAKI
See All by Satoru MIYAZAKI
How to secure container environment
smiyaza
0
510
コンテナ環境をセキュアに運用する方法 #osc20on
smiyaza
0
950
コンテナのセキュリティについて考えよう osc2020tk
smiyaza
6
980
コンテナのセキュリティについて考えよう osc2019tk
smiyaza
1
140
コンテナのセキュリティについて考えよう
smiyaza
0
830
平成元年度に卒業した高専生が、令和元年の高専生に伝えたいこと
smiyaza
2
230
コンテナセキュリティってどうなってるの?
smiyaza
2
590
如何にPHP7.3.3のDockerイメージを作るか
smiyaza
0
830
KUSANAGI RoDの紹介
smiyaza
0
970
Other Decks in Technology
See All in Technology
GraphRAG: What I Thought I Knew (But Didn’t)
sashimimochi
1
230
Enhancing SRE Using AI
yoshiiryo1
1
270
ソフトウェア開発現代史:製造業とソフトウェアは本当に共存できていたのか?品質とスピードを問い直す
takabow
15
5.3k
アーキテクチャわからん、の話
shirayanagiryuji
0
150
Power BI は、レポート テーマにこだわろう!テーマのティア表付き
ohata_ds
0
120
CNAPPから考えるAWSガバナンスの実践と最適化
yuobayashi
5
680
マルチデータプロダクト開発・運用に耐えるためのデータ組織・アーキテクチャの遷移
mtpooh
0
100
プロダクト観点で考えるデータ基盤の育成戦略 / Growth Strategy of Data Analytics Platforms from a Product Perspective
yamamotoyuta
0
210
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
18k
panicを深ぼってみる
kworkdev
PRO
2
150
Autify Company Deck
autifyhq
2
41k
現実的なCompose化戦略 ~既存リスト画面の置き換え~
sansantech
PRO
0
160
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
Designing Experiences People Love
moore
139
23k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Optimising Largest Contentful Paint
csswizardry
33
3k
Scaling GitHub
holman
459
140k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
270
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.4k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Transcript
どこのご家庭にもある OpenSolarisを、 ZFSで有効活用 OSC2010 Tokyo/Fall みやざきさとる 日本OpenSolarisユーザグループ
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 4 ZFSのおさらい 128bitファイルシステム 大容量のファイルに対応 HDDをストレージプールとして管理し、 簡単にHDD増設が可能
RAID(0,1,5,6)に相当する機能を提供 Copy-on-Writeによるデータ完全性の保証 スナップショット・クローン機能
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 5 ZFSのおさらい(続き) 他にも重複排除とかの新機能 詳しくは、以下の資料 (OpenSolarisNightSeminarの資料)を参考 http://jp.sun.com/developers/events/nightSemin
ar/PDF/OSNS-Solaris_ZFS-20090306.pdf http://mediacast.sun.com/users/hiroa/media/OS NS_ZFS-20090710.pdf/details http://mediacast.sun.com/users/hiroa/media/OS HT_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 Original UberBlock UberBlock スナップショットはReadOnly OriginalのUberBlockとポインタをコピー
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 12 スナップショットのおさらい(2) 新データ 新データ Snapshot Original
UberBlock 新UberBlock Originalに変更があるとブロック部とポインタ部だけが変更される
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 13 クローンのおさらい(1) Clone Snapshot UberBlock UberBlock
Original UberBlock UberBlock クローンはReadWrite スナップショットのUberBlock とポインタをコピー
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 14 クローンのおさらい(2) new new new Clone
Snapshot UberBlock 新UberBlock Original 新UberBlock Original・クローンに変更があると ブロック部とポインタ部だけが変更される
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 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
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 17 ZFSでバックアップ(2) ZFSツリーもいっぺんにスナップショット # zfs snapshot
-r rpool/export@snap ZFSツリーもいっぺんにバックアップ # zfs send -R rpool/export@snap > /tmp/snap.export.img
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
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
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 20 差分バックアップの例 ServerA ServerB rpool@0910 rpool@0910
snapshot全体のコピー
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 21 差分バックアップの例 ServerA ServerB rpool@0910 rpool@0911
rpool@0911 snapshot差分のコピー rpool@0910
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 22 差分バックアップの例 ServerA ServerB rpool@0910 rpool@0911
rpool@0912 rpool@0912 rpool@0911 rpool@0910 snapshot差分のコピー
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 23 スナップショットの数だけ容量を消費する 一日ごとにバックアップ →容量が増える スナップショットを取っていると、ファイルを削除しても容 量は減らない
一日前には戻りたいけど、 数週間前のある一日に戻りたいか? 一週経ったら、日単位のバックアップって要らなくね? よし、削除しよう # zfs destrory rpool/zone@20100911
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 24 差分バックアップの削除例 Before After rpool@0910 rpool@0911
rpool@0912 rpool@0912 rpool@0910 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 detach Zoneの情報はStandby機にコピー % pfexec zonecfg -z zonename export | ssh ServerB pfexec zonecfg -z zonename
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 26 ZoneのActive-Standby構成 Zone Zone 同期 ServerA
ServerB Zone 起動中
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 27 ZoneのActive-Standby構成 Zone Zone ServerA ServerB
ZoneのActive-Standby構成 Zone 起動中
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 28 ZFS同期によるActive−Stanby構成 簡単な方式なので、クリティカルな場面では使えない 同期間隔があるので、データロストする →データは別の場所に置く必要あり DBなどには向かない構成
DBを止めてからスナップショットを取れば、整合性は保 たれます
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 29 HDD毎移動 ZFSでは、ssh経由でネットワークで遠隔地にバックア ップ出来ます →でも、データ量が多いと時間がかかる データ量によっては、HDDを新幹線や飛行機で運んだ
方が早い! こともある zfs sendでファイルストリームを外部HDDに保存、と言 うのも手ですが...
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
OSC2010 Tokyo/Fall どこのご家庭にもあるOpenSolarisを、ZFSで有効活用 pg 31 HDD取り付け プール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 34 BE複製の問題点 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 の方が後です 超お勧め