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
230
どこのご家庭にもある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
610
コンテナ環境をセキュアに運用する方法 #osc20on
smiyaza
0
1.1k
コンテナのセキュリティについて考えよう osc2020tk
smiyaza
6
1.1k
コンテナのセキュリティについて考えよう osc2019tk
smiyaza
1
180
コンテナのセキュリティについて考えよう
smiyaza
0
910
平成元年度に卒業した高専生が、令和元年の高専生に伝えたいこと
smiyaza
2
250
コンテナセキュリティってどうなってるの?
smiyaza
2
630
如何にPHP7.3.3のDockerイメージを作るか
smiyaza
0
970
KUSANAGI RoDの紹介
smiyaza
0
1.1k
Other Decks in Technology
See All in Technology
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
わが10年の叡智をぶつけたカオスなクラウドインフラが、なくなるということ。
sogaoh
PRO
1
510
Databricks Free Editionで始めるLakeflow SDP
taka_aki
0
100
Introduction to Bill One Development Engineer
sansan33
PRO
0
340
「駆動」って言葉、なんかカッコイイ_Mitz
comucal
PRO
0
140
Everything As Code
yosuke_ai
0
510
AIと融ける人間の冒険
pujisi
0
120
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.4k
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
470
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
12k
迷わない!AI×MCP連携のリファレンスアーキテクチャ完全ガイド
cdataj
0
470
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
210
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.9k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
210
Between Models and Reality
mayunak
1
160
Building an army of robots
kneath
306
46k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
100k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
The SEO Collaboration Effect
kristinabergwall1
0
330
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
The Cult of Friendly URLs
andyhume
79
6.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 の方が後です 超お勧め