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
150
どこのご家庭にもある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
460
コンテナ環境をセキュアに運用する方法 #osc20on
smiyaza
0
880
コンテナのセキュリティについて考えよう osc2020tk
smiyaza
6
900
コンテナのセキュリティについて考えよう osc2019tk
smiyaza
1
140
コンテナのセキュリティについて考えよう
smiyaza
0
800
平成元年度に卒業した高専生が、令和元年の高専生に伝えたいこと
smiyaza
2
220
コンテナセキュリティってどうなってるの?
smiyaza
2
580
如何にPHP7.3.3のDockerイメージを作るか
smiyaza
0
730
KUSANAGI RoDの紹介
smiyaza
0
870
Other Decks in Technology
See All in Technology
クラウド利用者の「責任」をどう果たす?AWSセキュリティ対策のススメ #AWSSummit
hiashisan
0
270
AWSでRAGを作る法方
sonoda_mj
1
140
フルリモートワークはエンジニアの夢を叶えたか? #cm_odyssey
mamohacy
2
600
Docker互換のセキュアなコンテナ実行環境「Podman」超入門
devops_vtj
6
3.2k
LINE WORKSへ簡単通知!Incoming Webhookアプリの紹介
mmclsntr
0
110
[2024最新版]AWS Control Towerを使ったセキュアなマルチアカウント環境の作り方
hiashisan
0
270
【基調講演】変える、今ここから ― IoTとAIで紡ぐ未来
soracom
PRO
0
310
AWSサービスメニュー開発をしていてAWSを好きだ!と感じた瞬間
toru_kubota
0
130
VPoEの視点から見た、ヘンリーがサーバーサイドKotlinを使う理由 / Why Server-side Kotlin 2024
cho0o0
1
420
テスト・設計研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
20240724_cm_odyssey_hibiyatech
hiashisan
0
110
エンジニア向け会社紹介資料
caddi_eng
14
220k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
26
2.1k
What's new in Ruby 2.0
geeforr
338
31k
A Tale of Four Properties
chriscoyier
155
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
121
18k
Why Our Code Smells
bkeepers
PRO
332
56k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Gamification - CAS2011
davidbonilla
78
4.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
277
13k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
189
16k
Side Projects
sachag
451
42k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
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 の方が後です 超お勧め