問題タブ [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.
linux - 2 つの NFS マウントが同じリモート ファイルシステム上にあるかどうかを確認する方法は?
私の Linux ベースのシステムは、NFS マウントされたファイルシステムの統計を次のように表示します。
それはうまくいきます。問題は、NFS サーバー上の同じファイルシステムがクライアントに 2 回マウントされている場合です。
server1
とは実際には同じファイルシステム上に/some/path/name
あり/some/path/name2
、100 GB の空き容量がありますが、誤ってそれらを合計して 200 GB の空き容量を報告しています。
それらが同じパーティション上にあることを検出する方法はありますか?
うまくいかないアプローチ:
- 「使用
statfs()
」: 「ファイル システム ID」フィールドを持つ をstatfs()
返します。残念ながら、これは未定義であり、NFS ではゼロに設定されます。struct statfs
f_fsid
- 「同じパーティションを複数回マウントしないでください。」これは私の管理外です。
- 「使用可能なスペースに基づくヒューリスティックを使用します。」メソッドは確実に機能する必要があります。また、
statfs()
出力をキャッシュするため、大規模なデータ移動に直面してこれを正しく取得することは困難です。
解決策がない場合は、サーバー側の潜在的なすべてのマウント ポイントで構成ファイルを生成する必要がありますが、それを回避するためのクリーンな方法があれば、はるかに優れています。
ありがとう!
architecture - 仮想ファイル システム ツリーの Web サービスと NFS
SQL で仮想ファイル システムを構築することを考えていました。SQL でファイル システムのような構造を実現する既知の方法がいくつかあります (具体化されたパス、隣接リストなど)。
しばらくして、NFS を使用してディレクトリ/ファイル構造を格納し、フラット キー値ストアを使用してカスタム属性を格納することを考えました。
NFS のディレクトリ/ファイル構造は、ID のみを格納します。
そして、次のようなフラット テーブル:
シンボリックリンク、マウントポイント、および UNIX パーミッションの恩恵を受けることができます。
そのようなアーキテクチャの短所は何ですか?
firefox - スクリプトを使用して Firefox プロファイル パスを変更しますか?
Mozilla プロファイルが NFS サーバー上にあるため、FF の起動に非常に多くの問題 (非常に遅い) があるため、私はハックのようなものに取り組んでいます。FF のスタートアップ スクリプトでデフォルト プロファイルを編集する方法はありますか?
私のハックのアイデアは、mozilla プロファイルをローカル ディレクトリに cp することです。これにより、すばやく開くことができ、変更が加えられたら rsync を実行できます。ほとんどの場合、現在、プロファイルのスクリプトを介してデフォルト パスを変更する方法を見つけることについて心配しています。同期などについての考えがあります。
提案をありがとう
java - JavaからNFS共有をポーリングすると、ファイルシステムが壊れます
NFSを介してそれぞれにディレクトリがマップされた2つのサーバーがあります。
サーバーAのプロセス(シェルスクリプト)は、ファイルをマップされたドライブに配置します。
サーバーBのJavaプロセスは、マップされたドライブを定期的にポーリングし、ファイルが見つかるとすぐに処理します。ファイルが処理された後-名前が変更されます(その後、サーバーAでcronされたプロセスによって削除されます)
このファイルは小さな.propertiesファイルです。すべてが2、3サイクルうまく機能します。その後、サーバーAとサーバーBは、マップされたドライブの内容を異なる方法で表示し始めます。NFSキャッシングと属性ルックアップを無効にしました。問題はまだあります。
ビューが壊れているサーバーに移動して実行すると、次のようになります。
停止したファイルが表示されます。しかし、もう一度やると、正しいファイルリストが出力されます。
この問題についてご協力いただければ幸いです。
nfs - NFS 書き込み権限エラー
あるサーバーから別の (クライアント) サーバーへの NFS 共有を作成し、フォルダー (/home/user/public_html/examplefolder としましょう) を 2 番目の (クライアント) サーバーに正常にマウントしました。
2 番目の (クライアント) サーバーで FTP アカウントにログインし、マウントされた NFS の場所 (/home/user/public_html/examplefolder) にフォルダー/ファイルを書き込もうとしていますが、アクセス許可拒否エラーが発生します。
rootとしてクライアントサーバーにsshすると、NFSマウントされた場所に書き込むためのフルアクセス権があるため、ユーザー許可タイプのエラーである必要があることがわかります.
両方のサーバーで CentOS 5 を実行しています。
python - Python: NFS 認証の確認
皆さん、私には 2 つの質問があると思います。1 つは Python 固有のもので、もう 1 つは NFS です。
基本的なポイントは、私のプログラムが「username」、「uid」、NFS サーバー IP、および export_path をユーザーからの入力として取得することです。ここで、NFS エクスポート パスがこのユーザー/uid によって読み取り/書き込み可能であることを確認する必要があります。
私のプログラムは、ローカル マシンで root として実行されています。簡単な方法は、指定されたユーザー名と uid を持つユーザーを「useradd」し、NFS エクスポートされたパス (マウントのルートとして実行) を一時的な mount_point にマウントしてから、「su username -c touch /mnt_pt/ tempfile」を実行することです。ユーザー名とユーザー ID の入力が正しければ (そして NFS サーバーが正しくセットアップされていれば)、この一時ファイルへのタッチは、NFS リモート ディレクトリに一時ファイルを作成することに成功します。これが目標です。
ここで 2 つの質問があります: (i) 新しい UNIX ユーザーを作成し、ファイルをマウントしてタッチして NFS パーミッションを確認するよりも簡単な方法はありますか?
(ii)これが必要な場合、「useradd」、「userdel」関連のコマンドを実行するのに役立つpythonモジュール/パッケージがあるかどうか疑問に思いますか?現在、それぞれのバイナリ (/usr/sbin/useradd など) を使用し、subprocess.Popen を呼び出してコマンドを実行し、出力を取得するつもりです。
洞察をありがとう。
linux - ネットワーク ファイル システムはプリフェッチしますか? (または: Internet File System は往復を減らすために最適化を行いますか)
次のコード スニピットをご覧ください。
上記の例では、リモート ファイル foo.bin が 1MB で、これまでクライアントからアクセスされたことがないとします。つまり、ファイル全体を取得するために「読み取り」を約 1000 回呼び出すことになります。
さらに、ディレクトリがクライアントにマウントされているサーバーがローカルではなくインターネット上にあるとします。クライアントへの帯域幅は高速ですが、待ち時間が長くなります。
すべての「読み取り」呼び出しは、サーバーへの往復を呼び出して、さらにデータを要求しますか? または、クライアント/サーバープロトコルは、リモートファイルの後続の読み取りがしばしばシーケンシャルであることを認識し、そのため、アプリケーションが実際に read() 呼び出しを行う前に後続のブロックがプッシュダウンされます. したがって、データがプリフェッチされてキャッシュされているため、後続の読み取り呼び出しはより高速に戻ります。
最新のネットワーク ファイル システム プロトコル (NFS、SMB/Samba、その他のプロトコル) は、このような最適化を行いますか? このように最適化されたインターネット用に調整されたネットワーク ファイル システム プロトコルはありますか?
私は、インターネットを介したネットワーク ファイル システムの実装を含む可能性のある個人的なプロジェクトを調査しています。ファイル I/O の往復回数を減らすことができれば、パフォーマンスが向上するのではないかと思いました。
mongodb - イメージのアップロード - CDN、MongoDB、または NFS?
ユーザーがページを構成し、ページに表示される画像をアップロードできる複数のWebサーバーを持つWebサイトの管理タイプのシステムがあります(CMSに似ています)。レプリカ セットが設定された MongoDB インスタンスが既にある場合、フェイルオーバーが存在するようにこれらのアップロードを格納するための推奨される方法は何ですか?またその理由は何ですか?
- Amazon S3 / CloudFront などの CDN。
- 画像を MongoDB に保存しますか? 私は今これを行っており、GridFS を使用していません。これは、イメージがすべて 1MB 未満であるためです。
- なんらかの種類のフェイルオーバー設定で、ある種の NFS を使用します。#3 の場合、このフェイルオーバーをどのように構成しますか?
私は現在、#2 を問題なく使用しており、以前はフェイルオーバーなしで #3 を使用していました。MongoDB を Web サイトのデータ ストアとして使用し、画像を提供する場合、画像に対するこれらの GET 要求は、DB から画像以外のデータを取得するパフォーマンスに影響を与える可能性がありますか?
c# - .NET NFS サーバーの実装?
シンプルなソケットを介してマネージャーと通信する独自の RTOS を実行する組み込みデバイスの管理 UI を維持しています。最近、ネットワーク経由でファイルにアクセスできるように、NFS v2 または v3 を実行するデバイスに NFS クライアントを追加しました。C# .NET 3.5 で記述された管理アプリケーションから、管理アプリケーションを実行しているマシン上のフォルダーをデバイスに動的に提供する方法を探しています。
したがって、私が直面しているのは、コードでインスタンス化、構成、および起動できる何らかの種類の NFS サーバー オブジェクトが必要であり、NFS 共有の情報をデバイスに渡し、デバイスが共有をマウントすることです。デバイスが完了すると、接続が切断され、完了したことが通知されます。この時点で、サーバー オブジェクトをシャットダウンして破棄できます。
少し調べてみたところ、いくつかの Java NFS サーバーが見つかりましたが、C# 用のものはありませんでした。ここ (http://code.google.com/p/nekodrive/) で優れた NFS クライアントを見つけましたが、サービス提供機能を提供していないようです。私が探していることを実行するものはありますか、それとも独自のサーバーを最初から作成する必要がありますか?
git - NFS/Samba 上の Git リポジトリ
Git リポジトリが NFS/Samba 上にある場合、心配することはありますか?
たとえば、NFS でのファイル ロックは信頼できないため、Git に影響しますか?