アーカイブへの便利なアクセス(およびこれらのアーカイブの作成)をWindowsで実行しているクライアントのネットワークボールにします。
はじめに
Windows Serverバックアップとシャドウコピーが優れているのはなぜですか? これらはWindows Serverの配信に含まれており、追加料金を必要とせず(クラウドアーカイブを使用しない場合)、割り当てられたタスクにも十分に対応できます。 シンプルなユースケースには、非常に価値のあるソリューションです。 また、ファイルプロパティダイアログを介したシャドウコピーへのアクセスは、一般的に非常に便利です。 次に、Sambaを使用してLinuxファイルサーバーに対して同じことを試してみましょう。
ファイルの以前のバージョンにアクセスする
この機会は、Samba shadow_copy2モジュールによって提供されます。 smb.confファイルのネットワークリソースセクションに記述する必要があります。
[share] vfs objects = shadow_copy2 shadow:snapdir = /mnt/.share path = /mnt/share
最初のバージョンのモジュールとは異なり、このモジュールでは、異なる場所に異なる名前でコピーしたフォルダーを配置できます。
ここで、path = /mnt/.shareフォルダー内にサブフォルダー@ GMT-2016.12.25-10.17.52を作成します
その後、何もうまくいきません。 [general]セクションに次の設定を追加します。
wide links = yes
これで、以前のバージョンセクションのネットワークボールのプロパティに、「コピー」が表示されます。 時刻はUTCで示され、タイムゾーンによってローカルに変換されることに注意してください。
アーカイブとスナップショットの作成
コピーを作成するためのメカニズムなしでコピーにアクセスするためのメカニズムを持つことは無意味です。 次のスクリプトはこれに役立ちます(
公式の類似物もあります)。
免責事項スクリプトは(私が私の手を満たす限り)完全ではなく、あなたの誠意に依存しています(引数の正確さの検証はなく、量だけがあります)。 ただし、データを可能な限り安全にしようとしました(ボリュームは削除せず、スナップショットのみを削除し、空のディレクトリのみを削除します)。 改善と修正のためのあなたの提案は大歓迎です。
作業には、LVM ThinVolumesを使用する必要があります。 通常のボリュームと比較して、そのパフォーマンスはスナップショットの数にわずかに依存します(COWは、「新しい」ブロックを変更するときにパフォーマンスを2〜3倍低下させます。スナップショットが2つ以上ある場合、作業はフリーズします)。
アーカイブコピーを作成する原則:
- ソースボリュームのスナップショットを作成してマウントする
- マウント先ボリューム
- rsyncを使用してコピーする
- 宛先ボリュームをアンマウントし、スナップショットにします
- ソーススナップショットをアンマウントして削除する
- ローカルアーカイブの場合、アーカイブボリュームの最後のスナップショットをマウントします
したがって、通常の増分バックアップを取得します。 オプションで、btrfsまたはZFSに適合させることができます。
使用する
スナップショットを作成し、ボール(ボールを含むフォルダー)という名前の隠しディレクトリにマウントします。
/usr/local/bin/thin_lv_backup.sh create vg_system/share
別のボリュームグループでrsyncを使用してアーカイブを作成します。
/usr/local/bin/thin_lv_backup.sh create_archive vg_system/share vg_archive
rsyncを使用してリモートアーカイブを作成します。
/usr/local/bin/thin_lv_backup.sh create_archive vg_system/share vg_archive archive@archive.localdomain 'sudo /usr/local/bin/thin_lv_backup.sh' srv1
rsyncを使用してリモートおよびローカルアーカイブを作成します。
/usr/local/bin/thin_lv_backup.sh create_archive vg_system/share vg_archive archive@archive.localdomain 'sudo /usr/local/bin/thin_lv_backup.sh' srv1 true
古いコピーを削除する(Nを最後に残す):
/usr/local/bin/thin_lv_backup.sh remove_old vg_system/share 5
オンラインヘルプ:
/usr/local/bin/thin_lv_backup.sh help
/usr/local/bin/thin_lv_backup.sh help mount_all