auto-snapshot,time-sliderの設定

かんたん編集ウェブサイト(ホームページ)WIKIPLUS かんたん編集ウェブサイト(ホームページ)WIKIPLUS

安くかんたんに編集できるウェブサイトを本気で作りたい人」のために、本気になって考えて作りました。体験アカウントは無料なので試して見てください。ご意見募集中です! ご意見を「@kohju」あてに是非 :)



zfsに関する世界で初めて出版された本。 ストレージが好きなら、Solaris使いでなくても必ず読むべき。


お品書き

コンテンツ

ツリー表示:開く | 閉じる


保存庫

ホットリンク

HOME / コンピュータTips / Solaris / zfs / auto-snapshot,time-sliderの設定

タイムスライダー(別名、auto-snapshot)について

タイムスライダーは、zfsのsnapshot機能を用いて、定期的にファイルシステムの スナップショットを取る機能です。そのため、別名、auto-snapshotとも言います。

タイムスライダーをGUIで使うと、Mac OSXのTime Machine機能のように、過去の物 を参照することができます。ただし、Solaris11のTime Sliderはもっと手軽で、且 つ、高速に管理できます

  • MacのTime Machineは、定期的に別のディスクにファイルを定期的にバックアップを取るもの。
  • Solaris11のTime Sliderは、定期的にファイルシステムのスナップショットをとるもの。

したがって、別のディスクを必要とせず、取得に対してコストがかからないのが特徴です。


とっても便利な機能なのですが、デフォルトではGUIでの設定ツールしかありませ ん。Solaris11をテキストインストールした場合は、この機能は有効にならないのです。

たとえばファイルサーバでタイムスライダーが使えれば、 ファイルシステム直下の.zfs/snapshot/以下に、過去のファイルが見えます。 ユーザに伝えておけば、ユーザがおもわずやってしまったときにとても便利です。

ウェブサーバで使えば、改ざんがあったときに、何を改ざんされたかのチェックにも使え ます。ftpでデザイナーが書き換えをした時、過去のバージョンを取り出すことも できます。

アプリケーションサーバで使えば、メンテ前とメンテ後の比較や、何となればその スナップショットポイントに巻き戻すこともできます。

DBMSの場合、データストレージが壊れてしまうようなインシデントがあったときに 便利です。某OSSのDBの場合、知らない間に物理エリアが壊れてることが、 たまに・・・・というかしばしばあり、こうなると一度落とすと二度と起動しなかっ たりします。でも、スナップショットがあれば、もしかしたら戻れるかも知れませ ん。

というわけ、サーバこそタイムスライダーがあるといい!というわけで、CLIでタ イムスライダを設定する方法です。

インストール

sudo pkg install -v desktop/time-slider 

だけです。

デプロイ・設定

なぜか、dbusのリスタートがいります。

sudo svcadm refresh dbus
sudo svcadm restart dbus

time-sliderを起動します。

sudo svcadm enable svc:/application/time-slider:default

auto-snapshotポイントの起動

sudo svcadm enable svc:/system/filesystem/zfs/auto-snapshot:hourly
sudo svcadm enable svc:/system/filesystem/zfs/auto-snapshot:daily
sudo svcadm enable svc:/system/filesystem/zfs/auto-snapshot:weekly
sudo svcadm enable svc:/system/filesystem/zfs/auto-snapshot:monthly
sudo svcadm enable svc:/system/filesystem/zfs/auto-snapshot:frequent

5つのポイントがあります。それぞれ1時間後と、1日ごと、1週間後と、月ごと、15分ごとです。 全部有効にしちゃっても良いのですが、 スナップショットを取得する数xzfsデータセットの数必要になるので、 この時間がだんだん馬鹿にできなくなります。

ディスクIOが定期的に増えたなぁと思ったら、frequentあたりを、disableにするといいでしょう。

これで、タイムスライダーが起動しました。

スナップショットを取る場所の指定

データセット(当然、ファイルシステム型のみ)の単位で、zfsのプロパティを設定 します。

例:rpool以下、全てをタイムスライダー対象にする

sudo zfs set com.sun:auto-snapshot=true rpool

こうすると、全てが有効になります。

基本、inherit(継承)するので、一番上だけつければ、全てが有効になります。

例:ROOTボリューム系を、タイムスライダー対象にする

sudo zfs set com.sun:auto-snapshot=true rpool/ROOT

ちなみに、varだけをsnapshotの対象外にしたいときもあるかもしれない。 理由は、ログにsnapshotをかけられると、logrotate等と相性が悪くなるから。

Solaris 11のデフォルトでは、varが割れてるので、次のようにすればいい。

zfs list -o name -H -r rpool/ROOT | grep /var | xargs -n1 sudo zfs set com.sun:auto-snapshot=false

HOME系を、タイムスライダー対象にする。

sudo zfs set com.sun:auto-snapshot=true rpool/export/home

全然関係ないのですが、MacOSX Lionは、たまーに、タイムマシンのエリアを壊すこ とがあり、私は過去、これで大ダメージを何度か食らったことがあります。 baffaloのNASのTimeMachine機能(netatalk)を使っているので、 純正じゃないからそのためかもしれませんが。

そこで、先日Solaris11でnetatalkを立ち上げ、TimeMachine用にzfsのエリアを公開、 これをタイムスライダー対象にしました。 こうしておけば、TimeMachineなのかnetatalkの互換性問題なのか、 どっちにしろやってしまったとしても、後戻りができます。

sudo zfs set com.sun:auto-snapshot=true dpool/export/backup/macosx

コマンド例、スナップショットの状態一覧の見方

zfs list -o name,com.sun:auto-snapshot -r rpool/ROOT 

下記不明だけど疑問に思ったこと。

後で調査する予定。

  • タイムスライダーのGUIでは、容量が何パーセント(デフォルトでは80%)越えたら古いsnapshotを消すことになっている。これの設定がどこにあるのか?
  • 上記の時、容量が一定になる判断は、過去のバージョンではpool単位で行っていた。そのため、quotaを切っておくとauto-snapshotがquotaを使い尽くす問題があった。これは修正されているか調べる。

Get RSS

カレンダー
<< 2012.5 >>
[日記]
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Twitter

最新情報
Nakanohito
Copyright Kohju / TAKI, Yasushi http://kohju.justplayer.com/ - Design by Casafree.com