質問

これは私の以前の質問に少し関連しています Solaris:アプリケーションのハンドラーにファイルシステムを取り付ける この質問を除いて、異なる目的のためであり、オープン/クローズ/ロックがないため、より簡単です。これは、読み取り/書き込み操作を備えたバイトの固定された長さブロックです。

とにかくそこには、RAMディスクやSVMスライスのような仮想スライスを作成できます。しかし、読み取りと書き込みを私のアプリを通過させたいです。

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

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

Javaで自分のアプリを使用した場合、追加のレイテンシ /ネットワークトラフィックがあることを知っていますが、これはバックアップストレージ専用です。生産ストレージは、関係のないまったく異なる構成です。

編集: 利用可能なすべてのスペースを使用するシステムがあり、基本的に十分なスペースがない場合は、古いスナップショットを削除し、古いスナップショット間のギャップを増やします。私の提案の目的は、生産機器から未使用のスペースを追加費用なしで使用できるようにすることです。さまざまな時点で、生産機器の異なるユニットには空きスペースがあります。また、私が説明しているシステムは、データにアクセスしようとするときに、単一の障害点を排除する必要があります。 2つの大きなユニットを購入して同期し続ける必要がないことを望んでいます。 2つのアクセスポイントを使用することをお勧めします。その後、必要な方法で大/小さなユニットを混ぜて、データをシームレスに移動できます。

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

役に立ちましたか?

解決 2

ファイルシステム上の固定された長さファイルは、ZFSで使用するブロックデバイスに対して行われるようです。再起動がどのように機能するかはわかりませんが、ブートアップコマンドを作成するためのコマンドを作成することができると確信しています。

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

他のヒント

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

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

または、Solaris ISCSIターゲットの変更を、アプリケーションとのインターフェースにすることを調査することもできます。繰り返しますが、見ています Opensolaris comstar 良いスタートになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top