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

Date: 2012/01/24 |  このエントリーをはてなブックマークに追加  |  Tags: Solaris11, タイムスライダー, Time Slider, auto-snapshot, CLI, CUI

タイムスライダー(別名、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を使い尽くす問題があった。これは修正されているか調べる。

コンピュータTips/Solaris/zfs

Recent Updates

ディスクの不良を確認する(iostat -EnのError等)

ディスク関係のスタックをざっくり書くと次の様になっています 例、SAS Expanderを使う場合、 例、AHCIなどを使う場合、 これらのエラーは、次の様なコマンドで知ることができます。 出力結果例 このなかで、 たとえば、SATAディスクを利用している際に負荷が上がってしまい、ディスクの応答が間に合わないシチュエーションでは、Transport Errorが一気に …
»続きを読む

2017年、新年明けまして、おめでとうございます。

日記/2017年、新年明けまして、おめでとうございます。

新年明けまして、おめでとうございます。今年もよろしくお願いします。 昨年中は、皆様にお世話になりました。 昨年は、コツコツと3年程前から行ってきた改革がある程度完成された年で、この先5年、10年を見据えて、次のフェーズへと進む為の土台が完成した年でもありました。 それにキャッチアップする形で、個々の従業員一同が、役割を自覚し、明確に動けた年であったかと考えています。 …
»続きを読む

RSA鍵認証のみにし、Password認証を無効化する

意外に覚えきれなくて、いつも忘れるので、メモついでに残しておきます。 古いOpenSSHや、SunSSHの場合は、これも無効にします。 ユーザ目線でのザックリとした説明を。OpenSSHではなく別のSSH実装も含めて考えているので、OpenSSHのソースをじっくり読んだわけではないため、間違ってたらすみません。 まず、Password認証を無効にする場合、 PasswordAut …
»続きを読む

Nexus7 2013をMarshmallow(Android 6.0)化

OTAでない方法で。 だいたい ここに書いてある方法 なんだけど、adbなどが一式使えている状態で。 まずは自分の機種のものをダウンロードする。僕のは、 Android 6.0 Marshmallow for Nexus 7 2013 Wi-Fi 。tgzを展開し、zipも解いておく。 まずはboot loaderへ。 bootloader自体のアップデート。一式、updat …
»続きを読む

OS X 10.11 El Capitanで、phpのモジュールインストール

Yosemiteからのアップデートは割と簡単です。なぜならYosemite時に、すでにapache 2.4になり、php 5.5になっているから(笑 アップデート前に、まずはphp.iniとhttpd.confをバックアップしておきましょう きになるなら、hostsとかapache以下全てをバックアップしておいてもいいかも。 後はEl Capitanにアップデートする。 アッ …
»続きを読む

EasyAcc Powerbank PB4000CB

スマフォTips/モバイルバッテリー/モバイルバッテリー製品レビュー/EasyAcc Powerbank PB4000CB

薄型のモバイルバッテリーEasyAcc Powerbank PB4000CBです。 今や、モバイルバッテリーは大型のものが好まれるのか、隙間無く商品があります。20,000mAh越えで、「でけえ!」とか言ってますけど、大きいのを探せば、100Wh(27,000mAh)、200Wh当たり前、探せば500Wh(135,000mAh)とか、もっともっとあるのです。用途がどんどん異なっていくので …
»続きを読む

EC Technology Sports Headsets S10-JWH07B

デバイスTips/Bluetooth/EC Technology Sports Headsets S10-JWH07B

Bluetoothのスポーツヘッドセット、 S10-JWH07B について。 今までブログに記載することはなかったのですが、実は割とBluetoothと言うか無線型のヘッドフォンを沢山持っています。赤外線や独自物、Bluetoothなどいくつもストックを持っていたりします。普通の人からするとマニアです。でも、マニアからみるとそうでもないレベルです。 ただ「ヘッドフォンの音質」というの …
»続きを読む

静岡県内をVPNでつなぐ(割と特殊な例)

静岡というのはある意味特殊な土地で、ほとんどのインターネットプロバイダのPOIは静岡でつながれておらず、NTT西圏内のどこかで繋がっているので、大抵大阪折り返しになる。仮に静岡県内にPOIがあっても、だいたい静岡でルーティングしてないので、やっぱり東京折り返しになってたりする。例え 同じプロバイダを使っていたとしても 。 だから静岡←→静岡のVPNは、静岡←→東京や、静岡←→大阪よりも遅 …
»続きを読む

最新  |  << 前ページ  |  次ページ >>  |  最初