Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Red Hat Enteprise Linux 7でスナップショット取り放題生活のススメ

5 868 vues

Publié le

Red Hat Enterprise Linux 7から同梱されたsnapperと、LVM thin provisioningを活用することで、自動的にスナップショットをとって楽しく暮らせるのでおすすめしたいというスライド

Publié dans : Technologie
  • Soyez le premier à commenter

Red Hat Enteprise Linux 7でスナップショット取り放題生活のススメ

  1. 1. Red Hat Enterprise Linux 7で スナップショット取り放題生活のススメ Red Hat K.K. Solution Architect Kazuo Moriwaka <kmoriwak@redhat.com> 2015-05-22
  2. 2. LVM thin provisioningとは ● RHEL7 の機能に「LVM thin provisioning 」と よばれるものがあります ● 各種ストレージのシンプロビジョニング機能と おおむね同等の機能を実現します。 – 100TB のストレージがあることにしておいて最初は 1TB からはじめて徐々に大きくする…… etc. pool thin provisioning されたLV 仮想的なストレージを用意して、 必要に応じてプールに用意している ブロックを割り当てていく
  3. 3. LVM thin provisioningイメージ図 thinタイプの LV thinタイプの LV btree btree space-map pool device pool device上のextentについての 参照カウントの管理 読み書きをうけつける みかけ上のブロックデバイス thinpool上に複数作成できる LVのextentとpool deviceの extentの対応表をbtreeで維持 thinpool タイプのLV pool deviceは実際にデータを 保持する
  4. 4. LVM thin provisioningの スナップショット ● LVM thin provisioning ではスナップショット作成 を低いコストで行えます ● 複数世代のスナップショット作成時にも対応 – 書き込みを検知して必要分のみブロックを割り当て thin LV (original) btree space-map pool device thinpool thin LV (snapshot) btree btree space-map pool device thinpool 変更部分のみ 割り当て メタデータ作成 thin LV
  5. 5. (参考)今までのLVMスナップショット ● thin provisioning 以前から存在する LVM の スナップショットは、複数世代のスナップショット時に コストが増大する問題がありました オリジナルのLV スナップショット領域1 スナップショット領域2 変更があるとスナップショット領域に オリジナルのデータをコピーする 最悪ケースでは スナップショット個数と同数の コピーが発生。 複数世代の スナップショットは高コスト 最悪ケースでは スナップショット個数と 同数のコピーが発生 複数世代の スナップショットは 高コストになる
  6. 6. スナップショットを活用するシナリオ LVM thin provisioning 環境では事実上「スナップ ショット取り放題」です。 スナップショットはどういう時に便利でしょうか ? ● バックアップのためにある時点でのスナップショットを 取得する ● 作業前と作業後のスナップショットを取り比較して、 作業によってどのような変更がおきたかまとめる ● 何もなくても定期的にスナップショットを取っておく – そして何かあった時に調査・復旧するために利用する
  7. 7. インストーラでの設定 1. 「LVMシンプロビジョニング」を 選択する 2. ここをクリックしてパーティションを 自動作成
  8. 8. LVM thin provisioningコマンド例 ● pvcreate /dev/sdb1 ● vgcreate VGthin /dev/sdb1 – ここまでは今までの LVM と同じ。VG を作成する。 ● lvcreate -L 1T -T VGthin/thinpool – “thinpool” という名前で thin pool タイプの LV を作成 ● lvcreate -V 100T --thinpool VGthin/thinpool -n hoge – VGthin/thinpool 上に 100T の thin LV ”hoge” を作成 ● lvcreate -s VGthin/hoge -n huga – ”hoge” のスナップショット ” huga” を作成
  9. 9. snapper登場 ● LVM thin provisioning は 「できることは素晴らしいけど使うのが面倒くさい」 ● snapper は LVM コマンドのラッパーとして動作し、 簡単に利用できるようにします – スナップショット作成 – 定期的なスナップショット作成 – スナップショット間の差分表示と逆変更 – 古いスナップショットの自動削除 ● SUSE 出身のプロジェクト – LVM だけでなく btrfs のスナップショット管理もできます – RHEL には 7.0 から同梱
  10. 10. snapperの使い方 ● 設定作成 (LVM 上の XFS である root fs ( / )を対象とする) – # snapper create-config -f 'lvm(xfs)' / ● スナップショット作成 – # snapper create ● スナップショット一覧 – # snapper list Type | # | Pre # | Date | User | Cleanup | Description | Userdata -------+----+-------+--------------------------+------+---------+-------------+--------- single | 0 | | | root | | current | single | 9 | | Mon May 18 18:15:10 2015 | root | | | pre | 10 | | Mon May 18 18:18:32 2015 | root | | | ● スナップショットの削除 – # snapper delete 9
  11. 11. snapperのちょっと高度な使い方 ● スナップショットのマウント – # snapper mount 10 → /.snapshots/10/snapshot にマウント ● スナップショットの差分チェック – # snapper status 10..11 -..... /root/hoge c..... /var/log/messages c..... /var/log/snapper.log – # snapper diff 10..11 (diff -u のフォーマットで出力されます ) ● スナップショット10から11の差分を現在のFSにて逆むきに 反映(作成されたファイルは削除、変更された行は変更前に戻す等) – # snapper undochange 10..11 ● 定期的なスナップショット取得、自動削除 (デフォルト) – 1 時間おきにスナップショットを作成 – 時間/日/月/年について各10世代保持
  12. 12. snapperの設定ファイル、ログなど ● 設定ファイルは ? – /etc/snapper 以下に ● ログは ? – /var/log/snapper.log ● スナップショットの情報は ? – 管理対象ディレクトリの .snapshots/ 以下に、各スナッ プショット毎のデータを保持
  13. 13. 注意点 ● 「あるsnapshot の状態に全体を戻す」という操作 は snapper では提供されません ● undochange 時に、もろもろの一貫性が維持される という保証はありません。事前にスナップショットや バックアップを取るなどしましょう。 ● LVM thin provisioning の pool 容量が枯渇する 場合があります。 lvs コマンドで現在の利用率を確 認しましょう [root@localhost ~]# lvs rhel/pool00 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert pool00 rhel twi-aotz-- 12.00g 12.23 37.14
  14. 14. 関連情報 ● LVM thin provisioning – “Logical Volume Manager Administration” 内 “ Creating Thinly-Provisioned Logical Volumes” http://red.ht/1JFp6LY – man lvmthin(7) ● Snapper – http://snapper.io/ – Snapper Portal (tutorial, FAQ あり ) https://en.opensuse.org/Portal:Snapper – “ ストレージ管理ガイド” 内 “ Snapper” http://red.ht/1HxP9Ct

×