ネットワーク接続ストレージ(NAS)サーバーを構築することを計画しています。
頻繁にアクセスするファイルをリモートストレージからローカルPCに自動的にキャッシュする方法はありますか?
(私はrsyncのようにフォルダー全体を同期する方法を探しているのではなく、最後にアクセスした50 GBのファイルを自動的かつ透過的にキャッシュする方法を探しています。)
理想的には、1台のPCのみがサーバーにアクセスするため、読み取りだけでなく書き込みもキャッシュするものを探しています(ローカルキャッシュが破損している場合、変更が1日失われることは許容されます)
Windowsのオフラインファイルを調べましたが、キャッシュを使用するには、サーバーを切断するかオフラインモードに入るには、手動で操作する必要があります。
サーバーはおそらくLinuxまたはfreeNASを実行しており、PCはWindows XPを実行していますが、必要に応じて7にアップグレードできます。
あなたとZlatevは、オフラインファイルで正しい方向に進んでいます。 NASはWindowsを実行する必要があります。グループポリシーで、「低速リンクモード」を構成する必要があります。999999Kbpsのように設定をジャックするだけです。これにより、基本的にローカルキャッシュへのすべての読み取りと書き込み。低速リンクでは、ウィンドウは約2分に1回しか同期されません。また、バルーンリマインダーをオフにする必要があります。最初にポップアップします。 「ねえ、あなたはオフラインです!私たちは今ローカルキャッシュからものを読み書きしています!!!」Durrrrrr。
クライアント側で、「ファイルを自動的にキャッシュする」をオンにします。そのUNCパスを介してアクセスするすべてのネットワークファイルを、ディスク容量の最大25%まで自動的にキャッシュします。それも調整できます。
共有するフォルダーが複数あり、サーバーでLinuxまたはVista/7を使用している場合は、ダミーの共有フォルダーを作成し、共有するすべてのフォルダーをそのフォルダーにハードリンクします。
最後に、私は強く少なくともクライアントをVistaにアップグレードすることをお勧めします。 Vistaの改善点の1つは、差分ブロック書き込みでした。ファイルの変更された部分のみがサーバーに送り返されます。また、Vista/7オフラインファイル(技術的にはクライアントサイドキャッシングと呼ばれます)の方がはるかに信頼性が高くなります。サーバー側では、SMBプロトコルの最新の変更に更新するだけです。実際には、SMBを使用するだけです。したがって、これはすべて、任意のネットワークを使用して可能です。サーバー側がSMBをサポートしている限り、共有します。
ここにいくつかのtechnetの記事があります。
http://technet.Microsoft.com/en-us/library/bb457104.aspx
http://technet.Microsoft.com/en-us/magazine/2007.11.offline.aspx
よくわかりませんが、Windows共有フォルダーのオフライン可用性/ BranchCacheを使用すると、同様のことができる場合があります。ここにいくつかの情報- http://technet.Microsoft.com/en-us/library/cc755136.aspx
私は同じ問題を調べています。 Macでの私のアイデアは、rsyncをスクリプトと組み合わせて使用することでした。スクリプトの仕事は、同期/キャッシュするファイルを決定することです。次に、Rsyncは、ネットワーク共有に向けてこれを効率的に実行します。したがって、たとえば5GBのキャッシュが必要で、使用頻度の低いものを削除する場合は、「最近使用した5GBのファイル」に対応するファイルリストを出力するスクリプトをプログラムし、rsyncでローカルに同期して、のファイルを削除する必要があります。そのリストに含まれなくなったキャッシュ。
ただし、混乱するリスクが大きいため、慎重に設定する必要があります。