web-dev-qa-db-ja.com

AmazonS3またはOpenStackでテープドライブをエミュレートするプロジェクトまたはパッケージSwift互換性のあるバックエンド?

Baculaを介してテープにバックアップされているデータがいくつかあります。ある時点で、テープ以外のストレージに移行する必要があります。

Baculaはディスクへのアーカイブをサポートしていますが、S3やopenstack Swift、またはその他のオブジェクトストアサービスへの仮想テープライブラリインターフェイスがあれば、構成を交換して既存のアーカイブを維持できると思いました。構成のエージングとスケジューリングをシームレスに行います。

私はグーグルを持っていて、Amanda(Device APIを使用)と一連のバックアップ製品にS3オブジェクトストアバックエンドがあることがわかりますが、* nix/devを使用してドロップイン置換するプロジェクトはありません/ st0デバイスインターフェイスのセマンティクス。

これは、私にはわからないことや、その考えが馬鹿げていて不可能であるなどの理由である可能性がありますが、ハッキングされた代替品を掘り下げる前に、明らかなことを見逃していないかどうかを知りたいと思います。

したがって、プラットフォームオプションを明確にします-AWSでホストされておらず、現在利用可能なEBSはなく、ターゲットは社内のS3互換のopenStack Swiftオブジェクトストアであるため、帯域幅とストレージのコストは内部。

3
Tom H

これは、誰もがバックアップを検討できるものにとっては疑わしいアプローチではありませんが、試してみることができるはずです。最初に必要なのは、S3の上にブロックインターフェイスを表示するものです。 NBD S3バックエンドを備えたサーバー this を見てください。

それが機能するようになったら、ブロックデバイスの上にファイルを表示し、チェンジャーとテープドライブを備えたSCSIターゲット/仮想HBAをシステムに提供するものが必要です。このプロジェクトを見てください ここ

S3でバックアップとリカバリを実行することが(現在のS3価格設定スキームでは)悪い考えである理由の追加の理由については、S3NBDプロジェクト(最初のリンク)を参照してください。

1
pfo

EC2でテープをエミュレートすることの悪い点は、テープをエミュレートするには、すべての側面をエミュレートする必要があることです。これには、テープをロードし、最初に書き込む予定がない場合は、そのすべてのデータを検索する必要があるという考えが含まれます。

より簡単な行動は、EBSボリュームをBaculaのブロックデバイスとしてインターフェースすることだと思います。

さらに簡単な行動は、Media Type = Fifoを使用して、それをEBSに書き出すプログラムにリンクすることです。復元の場合は、別の方法で解決する必要がありますが、データは移動します。

1
Jeff Ferland

仮想テープライブラリをエミュレートし、ファイル/ディレクトリをストレージとして使用するMHVTLを試してみてください。 S3FSまたはその他のメカニズムを使用して、MHVTLが配置できるファイル/ディレクトリをエミュレートできます。 MHTLを変更して、マウント/アンマウント時にターゲットのようにS3/Swiftとの間でファイルを移動することもできます。/dev/tapedeviceとscsiメディアチェンジャーのように見えるため、バックアップ製品は変更されずに動作する可能性があります。サポートについて知らない。

1
Gary Grider