web-dev-qa-db-ja.com

マルチテープバックアップスクリプト

我慢してください、これはあらゆる種類のStackExchangeタイプのWebサイトへの私の最初の投稿です。ストレージサーバーからのデータをテープライブラリ内の複数のテープに保存するためのバックアップサーバーの作成に取り組んでいます。私はまだLinuxを学んでいるので、続行する方法についてのヘルプ/推奨事項が必要です。私は正しい考えを持っていると思います。これが私の設定です: バックアップ環境

テープライブラリ(Quantum SuperLoader 3、LTO-4、SCSI)を古いDellサーバーに接続しています。 LTO-3テープとLTO-4テープの組み合わせがあります。 FreeNASを実行しているストレージに使用する別のサーバーがあります。ストレージサーバーとバックアップサーバーはどちらも10.xネットワーク上のスイッチに接続されており、2つのサーバーを接続する専用のイーサネットケーブルもあります。 10.xネットワーク上のNICは、DHCPがpfSenseから予約を取得するようにセットアップされ、2つのサーバーを直接接続するNICは、IPが20.1および20.2で静的にセットアップされます。これは、スイッチを介して帯域幅に影響を与えることなく、ストレージサーバーに完全な読み取りアクセスを許可し、物事をより安全に保つための良い方法だと思いました。別のメモとして、誰かがIPを20.1に設定して、ストレージサーバー上のすべてのファイルにアクセスできるでしょうか。 FreeNASではIPを選択するための特定の権限を制限できることを知っていますが、特定のイーサネットポートに制限するための何もそこには見当たりませんでした。

とにかく、mtxを使用してテープを移動し、tarと複数のテープフラグを設定してデータを転送することができました。複数のテープにまたがる場合、1つのテープを取り出して別のテープを挿入するように求められます。mtxコマンドを使用して2番目の端末/画面を実行してテープを切り替えてから、元に戻ってバックアップを続行する必要があります。これを検出して自動的に別のテープに切り替える方法はありますか?これは、シェルスクリプトなどPythonまたはその他の言語で行うのが最適ですか?また、tarコマンドで、テープのサイズを指定する必要があります。方法はありますか?それを満たすためにドライブにあるテープのサイズを検出できますか?mtに何も表示されませんでしたが、何かが不足している可能性があります。

どんな助けと知識と専門知識もありがたいです。ありがとう!

それが役立つ場合は、これが私が使用しているコマンドのいくつかです:

Sudo mount -t nfs 192.168.20.2:/mnt/Storage /home/andrew/FreeNAS/Storage
Sudo mt -f /dev/st0 status // Check status of drive
Sudo mtx -f /dev/sg3 load 1
Sudo tar -v --create --tape-length=800G --file=/dev/st0 
/home/andrew/FreeNAS/Storage/Public
Sudo mtx -f /dev/sg3 unload 1
2
Andrew K.

あなたのすべてのニーズは bacula で彼らの答えを見つけることができます

これで、次のことができるようになります。

  • 保存先を選択し、
  • あなたのテープを管理する
  • バックアップ戦略(フル、インクリメンタル、ディファレンシャルなど)に応じて、テープのローテーションを構成します。
  • テープの保持戦略を定義します。
  • 等...

クライアント/サーバーモードで動作し、Baculaのさまざまな機能を複数のサーバーに分割できます。

あなたが望むようにあなたのバックアップを管理することができます

2
Sorcha

あなたはすでにすべてのツールを配置しています、あなたはただ接着剤を逃しています:

自分でそれを必要とすることは決してありませんが、私のtarマニュアルには、--new-volume-script your_scriptを使用して各テープの最後でスクリプトを実行できると書かれています。

your_scriptは、終了する前に新しいテープが所定の位置にあることを確認する必要があります。

1
TomTomTom