問題タブ [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.

0 投票する
2 に答える
3157 参照

nfs - NFS 書き込み権限エラー

あるサーバーから別の (クライアント) サーバーへの NFS 共有を作成し、フォルダー (/home/user/public_html/examplefolder としましょう) を 2 番目の (クライアント) サーバーに正常にマウントしました。

2 番目の (クライアント) サーバーで FTP アカウントにログインし、マウントされた NFS の場所 (/home/user/public_html/examplefolder) にフォルダー/ファイルを書き込もうとしていますが、アクセス許可拒否エラーが発生します。

rootとしてクライアントサーバーにsshすると、NFSマウントされた場所に書き込むためのフルアクセス権があるため、ユーザー許可タイプのエラーである必要があることがわかります.

両方のサーバーで CentOS 5 を実行しています。

0 投票する
2 に答える
766 参照

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 を呼び出してコマンドを実行し、出力を取得するつもりです。

洞察をありがとう。

0 投票する
1 に答える
1031 参照

linux - ネットワーク ファイル システムはプリフェッチしますか? (または: Internet File System は往復を減らすために最適化を行いますか)

次のコード スニピットをご覧ください。

上記の例では、リモート ファイル foo.bin が 1MB で、これまでクライアントからアクセスされたことがないとします。つまり、ファイル全体を取得するために「読み取り」を約 1000 回呼び出すことになります。

さらに、ディレクトリがクライアントにマウントされているサーバーがローカルではなくインターネット上にあるとします。クライアントへの帯域幅は高速ですが、待ち時間が長くなります。

すべての「読み取り」呼び出しは、サーバーへの往復を呼び出して、さらにデータを要求しますか? または、クライアント/サーバープロトコルは、リモートファイルの後続の読み取りがしばしばシーケンシャルであることを認識し、そのため、アプリケーションが実際に read() 呼び出しを行う前に後続のブロックがプッシュダウンされます. したがって、データがプリフェッチされてキャッシュされているため、後続の読み取り呼び出しはより高速に戻ります。

最新のネットワーク ファイル システム プロトコル (NFS、SMB/Samba、その他のプロトコル) は、このような最適化を行いますか? このように最適化されたインターネット用に調整されたネットワーク ファイル システム プロトコルはありますか?

私は、インターネットを介したネットワーク ファイル システムの実装を含む可能性のある個人的なプロジェクトを調査しています。ファイル I/O の往復回数を減らすことができれば、パフォーマンスが向上するのではないかと思いました。

0 投票する
3 に答える
3485 参照

mongodb - イメージのアップロード - CDN、MongoDB、または NFS?

ユーザーがページを構成し、ページに表示される画像をアップロードできる複数のWebサーバーを持つWebサイトの管理タイプのシステムがあります(CMSに似ています)。レプリカ セットが設定された MongoDB インスタンスが既にある場合、フェイルオーバーが存在するようにこれらのアップロードを格納するための推奨される方法は何ですか?またその理由は何ですか?

  1. Amazon S3 / CloudFront などの CDN。
  2. 画像を MongoDB に保存しますか? 私は今これを行っており、GridFS を使用していません。これは、イメージがすべて 1MB 未満であるためです。
  3. なんらかの種類のフェイルオーバー設定で、ある種の NFS を使用します。#3 の場合、このフェイルオーバーをどのように構成しますか?

私は現在、#2 を問題なく使用しており、以前はフェイルオーバーなしで #3 を使用していました。MongoDB を Web サイトのデータ ストアとして使用し、画像を提供する場合、画像に対するこれらの GET 要求は、DB から画像以外のデータを取得するパフォーマンスに影響を与える可能性がありますか?

0 投票する
2 に答える
1374 参照

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 クライアントを見つけましたが、サービス提供機能を提供していないようです。私が探していることを実行するものはありますか、それとも独自のサーバーを最初から作成する必要がありますか?

0 投票する
2 に答える
1533 参照

git - NFS/Samba 上の Git リポジトリ

Git リポジトリが NFS/Samba 上にある場合、心配することはありますか?

たとえば、NFS でのファイル ロックは信頼できないため、Git に影響しますか?

0 投票する
1 に答える
899 参照

hadoop - Hadoop のような分散型ストレージはありますが、ZFS の利点がありますか?

Hadoop のような分散ストレージで、ZFS の利点を備えたものはありますか?

0 投票する
2 に答える
840 参照

ubuntu - リモート ssh 接続を設定し、インターネット経由で ubuntu 10.04 にディレクトリをマウントするにはどうすればよいですか?

インターネット経由でリモート ssh 接続と NFS (または、ubuntu クライアントのサーバーからディレクトリをマウントする他の方法) を設定するのに役立つものはありますか?

ローカルネットワークについて話している場所で見つけたすべてのマニュアルと、Web 経由で設定する方法を理解するのに役立つものが見つかりません...

NATにUbuntuの明快なサーバーがあり、apache2サーバーがインストールされて動作しています。私が必要としているのは、インターネット経由で作業できるように、NAT 内にいないときにも「www」ディレクトリをマウントする方法です。

だから私は2つのことが必要だと思います。ssh を使用してサーバーに接続する方法と、NFS またはその他の機能を使用してクライアント Ububntu lucid に Web 経由でディレクトリをマウントする方法。

どうもありがとう、エレズ

0 投票する
1 に答える
632 参照

unix - NFS & Java (/etc/exports)

UNIXにPCをマウントしようとしています。「mount」というソフトウェアを見つけ、UNIX の /etc/exports ファイルを編集して、PC の IP (または DNS 名) を認識できるようにしました。

マウントを実行しましたが、問題ありません。パスワードを指定する必要さえありません。しかし、時々マウントが機能しなくなり、再度マウントする必要があります。

私は2つのことを疑問に思っていました:

  1. 「net use」コマンドを使用してマウントできますか (unix のユーザー名とパスワードを指定せずに - /etc/exports がマウント PC を認識する場合)?

  2. マウントを使用する場合でも「ネット使用」を使用する場合でも、NFS ディレクトリのドライブ文字を設定する必要があります。とにかく、「マウント」/「ネット使用」の両方の代わりにJavaコードを記述して、リモートディレクトリにアクセスすることはありますか(/ etc/exportsがJavaが実行されているPCを認識する場合)。

0 投票する
2 に答える
364 参照

python - C ライブラリでのファイル ハンドル リーク (おそらく) は、NFS で問題を引き起こします (+python、しかしそれは偶発的です)

ここに非常にクールな問題があります。

私はPythonモジュール(foo.py)を呼び出すPythonスクリプト(メイン)を持っています。これは別のPythonモジュール(barwrapper.py)を呼び出し、LoadLibraryを使用してlibbar.soライブラリを動的に開いてアクセスします。

libbar とチェーンの残り全体が開いてファイルを作成し、タスクを実行します。インポートされたモジュールによって作成された一時ディレクトリを取り除くために、メインの python スクリプトで rmtree を発行すると、問題が発生します。rmtree は、スクリプトの最後、終了する直前に呼び出されます。.nfs-whateverディレクトリに隠しファイルが含まれているため、呼び出しは失敗します。これは、削除されたファイルであると思われます。.nfs-whateverこれらのファイルはコード内で開いたままになっているようで、ファイル記述子が解放されるまで、nfs はそれらをこれらのファイルに強制的に移動させます。この状況は他のファイルシステムでは発生しません。保持されている記述子に関連付けられているファイルは事実上削除されますが、記述子が閉じられるまでカーネルによってアクセス可能なままになるためです。

私たちは、.so ライブラリがファイル記述子をリークしていることを強く疑っています。これらの閉じられていないファイルは、クリーンアップ時に rmtree パーティを台無しにします。barwrapper で .so ファイルをアンロードすることを考えましたが、明らかにそれを行う方法はありません。また、dynloader が実際にプロセス空間から lib を削除して記述子を閉じるのか、それともアンロード済みとしてマークするだけなのかはわかりません。それだけで、他のものに置き換えられるのを待っていますが、記述子がリークされています。

この問題に対する他の回避策は本当に考えられません (リークの修正は別として、これはサードパーティのライブラリであるため、やりたくないことです)。明らかに、これは nfs でのみ発生します。私たちがそれを修正するために試すことができるアイデアはありますか?