問題タブ [nfs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Zend_Search_Lucene、ネットワーク経由でインデックス ストレージ フォルダーを共有する方法
負荷分散を使用して 2 つの異なるサーバーで Web アプリケーションを実行しており、Zend_Search_Lucene を使用してドキュメントのインデックスを作成しています。
現在、ユーザーがサーバー#1を介してサイトにアクセスし、情報を保存するインデックス作成の問題に直面しています.Zend_Search_Luceneはインデックスのみサーバー#1を保存します。
したがって、別のユーザーがサーバー #2 と検索を介してサイトにアクセスすると、サーバー #2 のインデックスのみが取得されます。
両方のサーバーからアクセスされるインデックス格納フォルダーを共有する方法はありますか? または、ファイル システムではなく、mysql データベースにインデックスを保存する方法はありますか?
linux - nfs の変更を追跡し、複数のデータセンターで nfs を同期する
2 つのデータセンターがあり、それぞれに大規模な EMC ベースの nfs を共有する多数の Linux サーバーがあります。
課題は、2 つの NFS の同期を維持することです。今のところ、nfs1 に対してのみ書き込みが発生し、nfs2 に変更を伝達する必要があると仮定します。
定期的な一般的な rsync は遅すぎることが判明しました。-az を使用しても、各 rsync が完了するまでに数時間かかります。ファイルまたはディレクトリが実際に変更されたときに、特定の同期を行う必要があります。
では、問題は、ファイルまたはディレクトリがいつ変更されたかをどのように知ることができるかということです。inotify は明白な答えですが、nfs では機能しないことで有名です。(inotify が nfs サーバーにインストールされている場合に動作する可能性があるというおしゃべりがありますが、それは私たちのオプションではありません。サーバーではなく、クライアントのみを制御できます。)
Linux nfs クライアントでは、サーバーに送信するすべての変更をログファイルなどにキャプチャできますか? または、これを行うためにクライアントをハッキングできますか? その後、各クライアントから変更を収集し、対象となる rsync を定期的に開始できます。
他のアイデアを歓迎します。ありがとう!
perl - fcntlとPerlのアラームを連携させることはできますか?
私はLinux、nfsを使用しており、複数のマシンが関係しています。
fcntlを使用してファイルロックを実装しようとしています。同じマシン上のプロセス間でのみ機能することがわかるまで、flockを使用していました。
F_SETLKWを使用してfcntlを呼び出すと、perlアラーム(タイムアウトを追加するため)が以前のように機能しなくなりました。これは通常は問題ありませんが、ctrl-cも実際には機能しません。
私が起こっていると私が信じているのは、fcntlが30秒ごとに信号をチェックしているだけだということです。アラームは最終的には戻ります。ctrl-cがキャッチされました...最終的に。
fcntlがこれらの信号をチェックする頻度を調整するためにできることはありますか?
php - 2 つ以上のサーバーが同じファイルを同時に書き込もうとすると、NFS ではどうなりますか?
イメージの自動サイズ変更を行う PHP Web アプリケーションに取り組んでおり、イメージが更新されたときにキャッシュを簡単にフラッシュできるように、キャッシュされたコピーを NFS マウントされた NAS に保存することを考えています。
私が唯一心配しているのは、クラスター内の 2 つ以上のサーバーが同時に同じイメージ キャッシュ ファイルを作成しようとした場合、一般的に NFS で何が起こるかということです。
コンテンツの更新のためにキャッシュがフラッシュされると、そのように衝突する可能性がかなりありますが、私は単一のボックスでしか作業していないため、開発中にこのシナリオをテストする優れた方法がありません.
これについて経験のある人はいますか?
java - JavaでのFile.exists()の代替
私はそれが私に起こるとは思っていませんでしたが、Javaで最初のバグに遭遇しました:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5003595
私はバグ(Linux上のNFS)で説明されているのとほぼ同じ状況にあり、それFile.exists()
が正しい値を返さないことがわかります(少なくともすぐには)。
だから私の質問は、ファイルが存在するかどうかをチェックするこの方法に代わるものはありますか?可能であれば、OSに依存しないようにしたいです。
編集:回避策を見つけました。を呼び出すとls $filedir
、NFSはJavaの問題を引き起こしているキャッシュ/メタデータを更新しFile.exists()
、正しい値を返します。確かに、これは移植性を損なうため、完全に理想的ではありませんが、その問題に対処する方法はあります。
qt - cmakeストアを使用するqtcreatorはどこで設定を実行および構築し、スクリプトを介して設定する方法は?
少なくとも私の使用法では、CMakeビルドフォルダーを削除して新しいフォルダーを作成したり、複数のビルドフォルダー(コンピューターごとに1つ)があり、ソースフォルダーが1つ(nfsマウント)しかない場合があります。
私の知る限り、QT Creatorは、設定を ソースツリー内のCMakeLists.txt.userに保存し、その他の設定をビルドフォルダーの「project.cbp」ファイルに保存します。GUIから設定した場合、ビルドフォルダーのワイプ/作成後に設定が失われます。十分に公平ですが、新しいビルドが作成されたときに、スクリプトを使用してそれらを再設定したいと思います。
だから、どうすればいいですか?
a)QT CreatorにCMakeLists.txt.userフォルダーをソースツリー以外の場所に書き込んで、マシン固有の設定が保持されるようにします(たとえば、開発コンピューターでのデバッグ、テストコンピューターでのリリース)。
b)各実行可能ファイルのデバッグ引数や追加のビルドコマンド(例:-j8)など、QT Creatorプロジェクトからビルドと実行の設定を読み取り/書き込みますか?
次に、CMakeLists.txtで「execute_process(...)」のようなことを実行して、QTCreatorプロジェクトのデバッグ引数とビルド引数を設定します。
nginx - nfs マウントから nginx/ubuntu で静的ファイルを提供することは可能ですか?
nfs マウントの使用中に「403 許可が拒否されました」というメッセージが表示されました。
何か案は?
注意: sendfile を無効にしました。
io - FreeBSD iostat - 問題があるかどうかを確認する方法は?
私は FreeBSD NFS サーバーを実行していますが、最近、クラスター全体で奇妙な問題が発生しています (NFS 共有からファイルをロードするときに Apache サーバーが「lockf」状態でハングするなど)。
私はこれにかなり慣れていないので、私の質問は、サーバーの IO が過負荷になっているかどうかをどのように確認できますか?
これが私の現在のiostatです:
高いと思われる値はありますか? システムが負荷を効率的に処理しているかどうかを確認するためにできる他のテストはありますか?
ありがとう!
bash - SSH と NFS を使用したクラスターでの並列化の最も簡単な方法は何ですか?
単純に並列化可能な計算がたくさんあり、SSH + NFS ネットワーク上に分散された多くの (100 の) コアがあります。並列化の最も簡単な方法は何ですか。問題は、各タスクにかかる時間がわからないため、何らかのキューが必要なことです。とても使いやすいものはありますか?
nfs - クロスデバイス リンクが無効です
ヘッド ノードに 1 つの NFS 共有フォルダーがある 8 ノード クラスターで NAMD シミュレーションを実行しています。ただし、「無効なクロスデバイス リンク」というエラーが表示され、シミュレーションが途中で停止することがあります。これが NAMD や NFS に起因するものかどうかはよくわかりませんが、無効なクロスリンクに関する限り、何らかのファイルシステムの問題に関連しているのではないでしょうか?
ありがとう。