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
260
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
どこのご家庭にもあるOpenSolarisを、ZFSで有効活用
ZFSのおさらい
ZFSでバックアップ・リストア
スナップショットとクローン の小粋な使い方
Satoru MIYAZAKI
May 01, 2022
More Decks by Satoru MIYAZAKI
See All by Satoru MIYAZAKI
How to secure container environment
smiyaza
0
670
コンテナ環境をセキュアに運用する方法 #osc20on
smiyaza
0
1.1k
コンテナのセキュリティについて考えよう osc2020tk
smiyaza
6
1.2k
コンテナのセキュリティについて考えよう osc2019tk
smiyaza
1
190
コンテナのセキュリティについて考えよう
smiyaza
0
940
平成元年度に卒業した高専生が、令和元年の高専生に伝えたいこと
smiyaza
2
270
コンテナセキュリティってどうなってるの?
smiyaza
2
650
如何にPHP7.3.3のDockerイメージを作るか
smiyaza
0
1.1k
KUSANAGI RoDの紹介
smiyaza
0
1.2k
Other Decks in Technology
See All in Technology
失敗を資産に変えるClaude Code
shinyasaita
0
720
自宅LLMの話
jacopen
1
660
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
150
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
400
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
320
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
240
GitHub Copilot app最速の発信の裏側
tomokusaba
1
190
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
160
2026年6月23日 Syncable Tech + Start Python Club にて
hamukazu
0
140
Chainlitで作るお手軽チャットUI
ynt0485
0
280
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
120
GitHub Copilot 最新アップデート – 「一歩先」の実践活用術
moulongzhang
5
1.5k
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Optimizing for Happiness
mojombo
378
71k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
Code Review Best Practice
trishagee
74
20k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
250
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
KATA
mclloyd
PRO
35
15k
Rails Girls Zürich Keynote
gr2m
96
14k
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 の方が後です 超お勧め