Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 1/57
Btrfs + Snapper + Samba で作る
「以前のバージョン」に戻せるファイルサーバー
武山 文信 (@ftake)...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 2/57
今日のセミナー内容
1.openSUSE の紹介 (10分)
2.ファイルサーバーの構築手順と使用するツールの紹介
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 3/57
みなさん
って何かご存知ですか?
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 4/57
正しいのはどれ?
●
1. サーバールームでモフモフできるカメレオン型ガジェット
●
2. Ruby で簡単に Web アプリを作...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 5/57
正しいのはどれ?
●
1. サーバールームでモフモフできるカメレオン型ガジェット
●
2. Ruby で簡単に Web アプリを作...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 6/57
正解: 3
●
3. 20年以上前にドイツで生まれた Linux ディストリビューション
– 1996 年: S.u.S.E Li...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 7/57
2つの openSUSE
Tumbleweed
常に最新 安定
新しいカーネルやライブラリを使いたい人
アプリケーションのテスト環...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 8/57
openSUSE Leap 15.1 1/2
●
SUSE Linux Enterprise 15 ベースの安定志向
ディストリビ...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 9/57
openSUSE Leap 15.1 2/2
●
年に1回のマイナーアップデート(サービスパック)
– 15.1, 15.2, 1...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 10/57
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 11/57
同人誌も書いています
●
コミックマーケットや技術書典で頒布
●
内容
– Azure Files
– システム構成管理ツール ...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 12/57
YaST
やすと
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 13/57
ところで
●
どのように設定ファイルを書くか覚えていますか?
– IP アドレスを固定したい
– Samba でファイルサーバー...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 14/57
openSUSE の管理ツール YaST
●
ハードウェア設定、ユーザー管理、各種サーバー管理をGUIで
– Samba, VN...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 15/57
SSH からでも使える
●
同じレイアウトのテキスト(Curses)UI 版
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 16/57
本日のお題
●
「以前のバージョン」対応ファイルサーバー
– 昔のファイルの状態にアクセスできる
●
ファイルを間違えて
消した...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 17/57
Windows のエクスプローラから
1時間毎の過去の状態
昔のファイルに直接アクセスできる
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 18/57
構成と手順の確認
●
OS: openSUSE Leap 15.1
●
ディスク
– 2台目の HDD を Btrfs でフォー...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 19/57
手始めに… YaST で設定してみましょう
ネットワーク
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 20/57
YaST の起動
●
SSH からテキスト版を起動する場合
●
デスクトップから GUI版を起動する場合
– アプリケーションメ...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 21/57
ネットワークの設定 1/5
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 22/57
ネットワークの設定 2/5
Alt+I で一発移動
枠間は Tab で移動
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 23/57
ネットワークの設定 3/5
IPアドレスとサブネットを入力
固定IPアドレスを選ぶ
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 24/57
ネットワークの設定 4/5
DNSサーバのIPアドレスを入力
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 25/57
ネットワークの設定 5/5
ルーターのIPアドレスを設定
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 26/57
/home の設定
●
2台目のディスクを /home にマウントして使う
●
先に /home をバックアップしておく
– 標...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 27/57
Btrfs のサブボリューム
●
Btrfs ファイルシステムを細分割した領域
– ファイル、ディレクトリ、別のサブボリュームを...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 28/57
パーティション設定
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 29/57
もともとの /home を削除
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 30/57
パーティションテーブルの作成
新しいディスクを選択
2 TB 超の場合は自動的に GPT に
2 TB 以下は DOS も選択可
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 31/57
パーティションの作成とマウント 1/3
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 32/57
パーティションの作成とマウント 2/3
ディスクの全体を使うことにします
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 33/57
パーティションの作成とマウント 3/3
どこにマウントするか
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 34/57
/home の設定まとめ
●
色々なツールを個別に呼び出さずに、YaST から設定可能
●
YaST なしなら
– # btrf...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 35/57
ユーザーの追加 1/2
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 36/57
ユーザーの追加 2/2
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 37/57
ユーザアカウントの詳細設定
追加のグループの設定も可能
ログインシェルの変更も可能
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 38/57
Btrfs + Snapper + Samba
「以前のバージョン」対応ファイルサーバーを
設定する
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 39/57
「以前のバージョン」を Samba で
●
今までのやり方: vfs_shadow_copy, vfs_shadow_copy2...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 40/57
Snapper
●
ファイルシステムのスナップショット作成ツール
– openSUSE プロジェクト傘下だが、CentOS など...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 41/57
Snapper が作るスナップショットの実体
/home/
├ geeko
├ Documents
│ └ スライド.odp
└...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 42/57
Snapper でスナップショットを撮る
●
設定ファイルを作成するだけで定期スナップショットが始まる
– デフォルトでは毎時
...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 43/57
スナップショットへのアクセス権の設定
●
ファイルサーバーのユーザーに .snapshot/$id/ への
アクセス権を与える
...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 44/57
/home のコピーに時間がかからない?
ディスクを大量に消費しない?
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 45/57
Btrfs の説明続き
●
Copy on Write (CoW) を採用したファイルシステム
– 書き込む前にデータをコピーす...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 46/57
Copy on Write
.snapshots/1
ストレージ上の
データ
/home/ geeko.jpg 消しちゃった.t...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 47/57
Samba サーバーを設定 1/4
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 48/57
Samba サーバーを設定 2/4
systemd の設定変更
firewalld の設定変更
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 49/57
Samba サーバーを設定 3/4
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 50/57
Samba サーバーを設定 4/4
btrfs と snapper を使用する
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 51/57
新しく共有を追加する場合は…
チェックボックス
で設定できる
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 52/57
GUI 版はこんな感じです
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 53/57
Samba ユーザーのパスワードを設定
●
今回は pdbedit コマンドで
– # pdbedit -a ユーザー名
●
残...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 54/57
完成
192.168.0.3usersgeeko
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 55/57
制限事項
●
192.168.0.3geeko でアクセスすると、
以前のバージョンが表示されない
– Samba の共有ディレ...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 56/57
スナップショット
おまけ: トランザクショナルアップデート
●
スナップショット側のパッケージをまとめてアップデートして、
完了...
2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 57/57
最後に
●
Have a lot of fun! — 楽しみましょう!
– 分からないことはコミュニティに聞きましょう
●
op...
Nächste SlideShare
Wird geladen in …5
×

Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー

429 Aufrufe

Veröffentlicht am

YaST を使って、いつでもファイルを昔の状態に戻せる、Windows の「以前のバージョン」機能に対応したファイルサーバーを構築するまでの手順を紹介します。YaST は Linux ディストリビューション openSUSE の設定ツールです。テキストエディタで設定ファイルを編集すること無く、GUI やテキストベースの画面から次のような設定を簡単に行うことができます。

- ユーザーの設定
- ディスクの設定
- IP アドレスの設定
- ファイアウォールの設定
- Samba サーバーの設定

「以前のバージョン」機能は、ファイルサーバーの Samba と Btrfs と Snapper を連携することで実現します。Btrfs は Copy on write という仕組みでスナップショットを取れるファイルシステムです。Snapper は Btrfs のスナップショットを定期的に作成し、さらには古いスナップショットを自動的に間引くことができます。

セミナーの冒頭で openSUSE の最近の動向についても紹介します。

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー

  1. 1. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 1/57 Btrfs + Snapper + Samba で作る 「以前のバージョン」に戻せるファイルサーバー 武山 文信 (@ftake) 日本 openSUSE ユーザ会 オープンソースカンファレンス2020 Tokyo/Spring
  2. 2. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 2/57 今日のセミナー内容 1.openSUSE の紹介 (10分) 2.ファイルサーバーの構築手順と使用するツールの紹介
  3. 3. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 3/57 みなさん って何かご存知ですか?
  4. 4. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 4/57 正しいのはどれ? ● 1. サーバールームでモフモフできるカメレオン型ガジェット ● 2. Ruby で簡単に Web アプリを作れるフレームワーク ● 3. 1996年にドイツで生まれた Linux ディストリビューション
  5. 5. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 5/57 正しいのはどれ? ● 1. サーバールームでモフモフできるカメレオン型ガジェット ● 2. Ruby で簡単に Web アプリを作れるフレームワーク ● 3. 1996年にドイツで生まれた Linux ディストリビューション
  6. 6. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 6/57 正解: 3 ● 3. 20年以上前にドイツで生まれた Linux ディストリビューション – 1996 年: S.u.S.E Linux 4.2 リリース ● これ以前は Slackware + 設定ツールでした ● Q: RedHat 系ですか? Debian 系ですか? A: どちらでもありません! Slackware系でもありません ● Q: OpenSUSE ですか?openSUSE ですか? A: o は小文字です。IPhone ではなく、iPhone なのと同じです
  7. 7. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 7/57 2つの openSUSE Tumbleweed 常に最新 安定 新しいカーネルやライブラリを使いたい人 アプリケーションのテスト環境 有償サポートなしで安定版を使いたい人 普段遣いのデスクトップやサーバーに
  8. 8. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 8/57 openSUSE Leap 15.1 1/2 ● SUSE Linux Enterprise 15 ベースの安定志向 ディストリビューション ● エンタープライズ版に openSUSE 独自のパッケージを追加 – CentOS + Fedora のような感じ – 多数のデスクトップ環境やアプリケーション: Plasma 5.12, GNOME 3.26, XFCE 4.12, MATE, LXQt, etc.
  9. 9. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 9/57 openSUSE Leap 15.1 2/2 ● 年に1回のマイナーアップデート(サービスパック) – 15.1, 15.2, 15.3, … ● 移行期間はマイナーアップデートが出てから半年 – 15.2 は 2020年5月7日リリース予定(現在はβ版) – 3年に1度程度のメジャーアップデート ● 1つ前のメジャーバージョンは 42 でした – 15 のほうが新しいので注意!
  10. 10. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 10/57
  11. 11. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 11/57 同人誌も書いています ● コミックマーケットや技術書典で頒布 ● 内容 – Azure Files – システム構成管理ツール Uyuni – openQA でディストリの自動テスト – 仮想マシンコンテナホスト ● お買い求めはブースで!
  12. 12. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 12/57 YaST やすと
  13. 13. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 13/57 ところで ● どのように設定ファイルを書くか覚えていますか? – IP アドレスを固定したい – Samba でファイルサーバーを構築したい ● コマンドを覚えていますか? – パーティションを切りたい – フォーマットしたい
  14. 14. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 14/57 openSUSE の管理ツール YaST ● ハードウェア設定、ユーザー管理、各種サーバー管理をGUIで – Samba, VNC, HTTP, NTP
  15. 15. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 15/57 SSH からでも使える ● 同じレイアウトのテキスト(Curses)UI 版
  16. 16. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 16/57 本日のお題 ● 「以前のバージョン」対応ファイルサーバー – 昔のファイルの状態にアクセスできる ● ファイルを間違えて 消した・上書きしたときに便利 abaaaa 変更 2020-02-10 の My Document My Document aba aaa 現在のフォルダ内容 昔のフォルダ内容
  17. 17. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 17/57 Windows のエクスプローラから 1時間毎の過去の状態 昔のファイルに直接アクセスできる
  18. 18. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 18/57 構成と手順の確認 ● OS: openSUSE Leap 15.1 ● ディスク – 2台目の HDD を Btrfs でフォーマットし /home/ にマウント – Snapper でスナップショット(バックアップ)作成 ● ネットワーク – 有線接続、192.168.0.3 に固定 – ルーター(兼 DNS サーバー): 192.168.0.1 ● サーバー – openSUSE 提供の Samba 4.9.5 – ユーザー管理は簡易のためローカルファイル DB で管理
  19. 19. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 19/57 手始めに… YaST で設定してみましょう ネットワーク
  20. 20. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 20/57 YaST の起動 ● SSH からテキスト版を起動する場合 ● デスクトップから GUI版を起動する場合 – アプリケーションメニューを開き 設定 > 管理者設定 をクリック $ sudo yast2
  21. 21. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 21/57 ネットワークの設定 1/5
  22. 22. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 22/57 ネットワークの設定 2/5 Alt+I で一発移動 枠間は Tab で移動
  23. 23. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 23/57 ネットワークの設定 3/5 IPアドレスとサブネットを入力 固定IPアドレスを選ぶ
  24. 24. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 24/57 ネットワークの設定 4/5 DNSサーバのIPアドレスを入力
  25. 25. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 25/57 ネットワークの設定 5/5 ルーターのIPアドレスを設定
  26. 26. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 26/57 /home の設定 ● 2台目のディスクを /home にマウントして使う ● 先に /home をバックアップしておく – 標準的なインストールをした場合 / も Btrfs のため、 /home はディレクトリではなくサブボリュームなので注意 $ btrfs subvolume snapshot /home /home.back
  27. 27. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 27/57 Btrfs のサブボリューム ● Btrfs ファイルシステムを細分割した領域 – ファイル、ディレクトリ、別のサブボリュームを持てる – サブボリュームごとにスナップショット(後述)を撮ったり、 設定を変えられる @ <-- トップレベル、/ にマウント ├ var ├ usr <-- ふつうのディレクトリ │ └ local ├ tmp ├ srv ├ root ├ opt ├ home ├ ... openSUSE の標準的なサブボリューム構成 トップレベル / にマウント ブロックデバイス ではない ディレクトリに見えますが サブボリューム!
  28. 28. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 28/57 パーティション設定
  29. 29. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 29/57 もともとの /home を削除
  30. 30. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 30/57 パーティションテーブルの作成 新しいディスクを選択 2 TB 超の場合は自動的に GPT に 2 TB 以下は DOS も選択可
  31. 31. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 31/57 パーティションの作成とマウント 1/3
  32. 32. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 32/57 パーティションの作成とマウント 2/3 ディスクの全体を使うことにします
  33. 33. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 33/57 パーティションの作成とマウント 3/3 どこにマウントするか
  34. 34. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 34/57 /home の設定まとめ ● 色々なツールを個別に呼び出さずに、YaST から設定可能 ● YaST なしなら – # btrfs subvolume delete /home – # gparted ● パーティション作成 – # mkfs.btrfs /dev/vdb1 – # vi /etc/fstab ● /home にマウントするように変更
  35. 35. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 35/57 ユーザーの追加 1/2
  36. 36. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 36/57 ユーザーの追加 2/2
  37. 37. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 37/57 ユーザアカウントの詳細設定 追加のグループの設定も可能 ログインシェルの変更も可能
  38. 38. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 38/57 Btrfs + Snapper + Samba 「以前のバージョン」対応ファイルサーバーを 設定する
  39. 39. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 39/57 「以前のバージョン」を Samba で ● 今までのやり方: vfs_shadow_copy, vfs_shadow_copy2 – rsync などを使って、定期的にファイルのバックアップを作成 ● 新しい方法: vfs_snapper – スナップショット管理ツール Snapper – Samba 4.2 以降で対応 ● openSUSE は 13.2 の 4.1 でも対応していた
  40. 40. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 40/57 Snapper ● ファイルシステムのスナップショット作成ツール – openSUSE プロジェクト傘下だが、CentOS などでも使える ● スナップショットポリシーをカスタマイズ可能 – スナップショットを作成する間隔 – 古いスナップショットの間引き方 ● スナップショット間の差分表示機能 ● Btrfs と LVM をサポート
  41. 41. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 41/57 Snapper が作るスナップショットの実体 /home/ ├ geeko ├ Documents │ └ スライド.odp └ Pictures └ geeko.jpg /home/.snapshots ├ 1 │ ├ info.xml │ └ snapshot │ └ geeko │   ├ Documents │ │ ├ 消しちゃった.txt │   │ └ スライド.odp │   └ Pictures │   └ geeko.jpg ├ 2 │ ├ info.xml │ └ snapshot │ └ geeko │   ├ Documents │   │ └ スライド.odp │   └ Pictures │   └ geeko.jpg 現在のファイル スナップショットで作成した サブボリューム 以前のファイル
  42. 42. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 42/57 Snapper でスナップショットを撮る ● 設定ファイルを作成するだけで定期スナップショットが始まる – デフォルトでは毎時 ● snapper コマンドで設定ファイルを作成 – -c の後ろは設定名 ● デフォルトのスナップショット最大個数 – 毎時: 10個、毎日: 10個、毎月: 10個 # snapper -c home create-config /home/ 残念ながら、YaST からはまだ設定できない 定期スナップショットを撮るサブボリューム
  43. 43. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 43/57 スナップショットへのアクセス権の設定 ● ファイルサーバーのユーザーに .snapshot/$id/ への アクセス権を与える – デフォルトでは root しか見られない ● 方法: 設定ファイル /etc/snapper/configs/home を編集 – ALLOW_GROUPS="users" ● 過去のバージョンにアクセスするユーザーのグループ – SYNC_ACL="yes"
  44. 44. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 44/57 /home のコピーに時間がかからない? ディスクを大量に消費しない?
  45. 45. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 45/57 Btrfs の説明続き ● Copy on Write (CoW) を採用したファイルシステム – 書き込む前にデータをコピーする ● 書き込まれるまで、実データはコピーされない – Sun Microsystems (当時) の ZFS に影響 – CoW → 牛 → バター ● Btrfs のスナップショット機能でサブボリュームをコピーすると ファイルは変更されるまで実際にはコピーされない – ディスク容量を消費しない – スナップショットの作成は一瞬で終わる
  46. 46. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 46/57 Copy on Write .snapshots/1 ストレージ上の データ /home/ geeko.jpg 消しちゃった.txtスライド.odp スライド.odp geeko.jpg 消しちゃった.txt 消しちゃった.txt Create .snapshots/1 ストレージ上の データ /home/ geeko.jpg 消しちゃった.txtスライド.odp スライド.odp geeko.jpg 消しちゃった.txt Updated Deleted Copy
  47. 47. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 47/57 Samba サーバーを設定 1/4
  48. 48. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 48/57 Samba サーバーを設定 2/4 systemd の設定変更 firewalld の設定変更
  49. 49. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 49/57 Samba サーバーを設定 3/4
  50. 50. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 50/57 Samba サーバーを設定 4/4 btrfs と snapper を使用する
  51. 51. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 51/57 新しく共有を追加する場合は… チェックボックス で設定できる
  52. 52. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 52/57 GUI 版はこんな感じです
  53. 53. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 53/57 Samba ユーザーのパスワードを設定 ● 今回は pdbedit コマンドで – # pdbedit -a ユーザー名 ● 残念ながら YaST からはできない – LDAP ならできるのですが…
  54. 54. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 54/57 完成 192.168.0.3usersgeeko
  55. 55. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 55/57 制限事項 ● 192.168.0.3geeko でアクセスすると、 以前のバージョンが表示されない – Samba の共有ディレクトリとスナップショットを 撮っているサブボリュームのディレクトリとが一致する必要あり – /home/geeko をサブボリュームにして、 スナップショットを作成すればよい
  56. 56. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 56/57 スナップショット おまけ: トランザクショナルアップデート ● スナップショット側のパッケージをまとめてアップデートして、 完了したら / を入れ替えるアップデート方法 – パッケージの不整合防止のダウンタイムを再起動の時間だけに – 詳しくは OSC 2018 Tokyo/Fall のスライドで ● https://www.slideshare.net/ftake/btrfs-121076162 ストレージ上の データ / libB.so libC.so/usr/bin/A 実行中 /usr/bin/A libB.so libC.so Updated Updated 古いファイル
  57. 57. 2020-02-22Btrfs+Snapper+Smb で「以前のバージョン」に戻せるファイルサーバー 57/57 最後に ● Have a lot of fun! — 楽しみましょう! – 分からないことはコミュニティに聞きましょう ● openSUSE のコミュニティは – 日本openSUSEユーザ会 https://www.geeko.jp/ – Twitter: @opensuseja – Facebook: https://www.facebook.com/opensuseja – openSUSEプロジェクト公式日本語メーリングリスト ● opensuse-ja@opensuse.org 公式アナウンスなど – その他、Slack、LINE Open Chat もあり

×