0

これは私の前の質問Solarisに少し関連しています:この質問を除いてアプリケーションのハンドラーにファイルシステムをマウントすることは別の目的であり、オープン/クローズ/ロックがないのでより簡単です/書き込み操作。

とにかく、RAMディスクやSVMスライスのような仮想スライスを作成できますか?しかし、読み取りと書き込みをアプリで実行したいと思います。

ZFSを使用して、これらの仮想スライス/ディスクを複数取得し、スナップショット付きの分散バックアップストレージ用に1つの大きなものにすることを計画しています。私はZFSが提供する圧縮とスタッキングが本当に好きです。必要に応じて、一度にこれらの仮想ディスクにアクセスするZFSのインスタンスが1つだけであることを保証できます(キャッシュの競合などを防ぐため)。1つのインスタンスがダウンした場合、それが再起動しないことを確認してから、そのZFSの別のインスタンスを開始できます。

これらのディスクを約4GB程度のチャンクに配置することを計画しています。次に、各チャンクを移動して、それらを格納する場所を決定し(もちろん、複数回ミラーリング)、ZFSにチャンクにアクセスさせて、より大きなチャンクにまとめることができます。実際に使用するためのチャンク。また、ZFSでは、必要に応じてこれらの小さなチャンクを追加して、大きなチャンクのサイズを増やすことができます。

Javaで独自のアプリを使用した場合、余分な遅延/ネットワークトラフィックが発生することは承知していますが、これはバックアップストレージ用です。本番ストレージは、関係のないまったく異なる構成です。

編集:使用可能なすべてのスペースを使用するシステムがあります。基本的に、十分なスペースがない場合は、古いスナップショットが削除され、古いスナップショット間のギャップが大きくなります。私の提案の目的は、生産設備の未使用スペースを追加費用なしで使用できるようにすることです。異なる時期に、当社の生産設備の異なるユニットに空きスペースがあります。また、私が説明しているシステムは、データにアクセスしようとするときの単一障害点を排除する必要があります。2台の大型ユニットを購入して同期を保つ必要がないことを望んでいます。アクセスポイントが2つあれば、大小のユニットを好きなように組み合わせて、データをシームレスに移動できます。

これはsysadmin関連よりもソフトウェア関連であるため、これはクロスポストです。元の質問はここにあります:https ://serverfault.com/questions/212072 。オリジナルを閉じるのは良い考えかもしれません

4

2 に答える 2

2

1つの方法は、Solarisデバイスドライバーを作成することです。正確には、実際のディスクをエミュレートするブロックデバイスですが、代わりにアプリケーションと通信します。

デバイスドライバチュートリアルを読むことから始めて、実際のドライバコードのOpenSolarisソースコードを見てください。

または、SolarisiSCSIターゲットをアプリケーションとのインターフェイスになるように変更することを検討することもできます。繰り返しになりますが、 OpenSolarisCOMSTARを検討することは良いスタートになります。

于 2010-12-13T21:47:17.643 に答える
-1

任意のファイルシステム上の任意の固定長ファイルは、ZFSで使用するブロックデバイスに適しているようです。再起動がどのように機能するかはわかりませんが、それを解決するためにいくつかの起動コマンドを作成できると確信しています。

編集:固定長ファイルは、NFSなどのネットワークファイルシステム上にあります。

于 2010-12-27T23:32:49.960 に答える