問題タブ [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.
java - NFSとgetFD()。sync()の呼び出しの間に競合はありますか?
私の上司は、NFSファイルシステムが、書き込み中のファイルに対してgetFD()。syncを呼び出すjbossrunjavaプロセスに満足できないのではないかと心配しています。作成されたファイルのタイムスタンプは、ファイルの書き込みが終了したとログに記録されてから数分(場合によっては15分)になることがよくあります。私の唯一の推測は、NFSがメモリ内のファイルにぶら下がっていて、そのように感じるまでファイルを書き込まないということです。syncはそのprobelmを解決するはずですよね?
また、ファイルでclose()が呼び出されることはないことにも気づきました。それも原因だったのではないかと思いますか?
どんな考えでもありがたいです。
app-config - 複数のアプリケーション サーバーへのデプロイ
1 つのアプリケーション サーバーでは不十分な点に到達しました。パフォーマンス上の利点とは別に、新しいカーネルのためにサーバーを再起動する必要があるという理由だけで 30 分間のダウンタイムを許容できないため、多少のフェイルオーバー シナリオが必要です。
解決しなければならない最初の問題は、両方のアプリケーション サーバーが常にアクセスできるように、共有ファイルをどこに保存するかです。考えられる解決策は次のとおりです。
- 両方のサーバーで NFS を使用する DRBD。
- NFS を備えた NAS
- クラスター化されたファイルシステムを使用する SAN
私たちはソリューションをできるだけシンプルに保ちたいと考えており、それに大金を費やしたくありません。DRBD 同期は安価ですが、脆弱すぎます。SAN は高価で、クラスター化されたファイルシステムに関する恐ろしい話を聞いたことがあります。NFS を備えた NAS が最適と思われます。
複数のサーバーからの共有ストレージをどのように処理しますか? NFS で何か問題が発生しましたか?
おまけの質問: Sun には、大幅な割引を提供するスタートアップ エッセンシャル プログラムがあり、Sun 7110 Unified Storage を約 6,000 で購入できます。統合ストレージの経験がある人はいますか? かなりの価格の代替品はありますか?
c# - C#/.NET NFS 実装はどこにありますか?
C# で記述されたNFSプロトコルの実装、または読みやすい優れたドキュメントがあるので、独自に実装できます..
サーバーとクライアントの両方が必要ですが、クライアントは C# である必要はありません。何かあるはずです。
linux - Linuxディスクレスクライアントのnfsスループット
nfsを使用してマウントするgentooディスクレスクライアントがありますが、nfsのスループットが遅いようです。iperfは770Mb/ sをプッシュできるネットワークを示し、hdparmは90 Mb / sでサーバー上のsataディスクを示しますが、ネットワーク全体でddを実行すると、10 Mb / sとしてのみ表示されます(同じテストがサーバー上で3番目のマシンに対して実行されます)。
奇妙なことに、pxebootはnfsver2をマウントします。これが問題であるかどうかはわかりませんが、ブートマウント後にnfsver3として他のマウントが行われます。本当にどこかでnfsの設定の問題のようですが、違いを生むものは何も見つかりませんでした。rsize = 8k、wsize = 8k、noatime、asyncを実行します。誰かが探すためのヒントがありますか、それともこの10 Mb / sは本当にディスクレスクライアントに期待すべきスループットですか?
windows - Windowsにエクスポートされたnfs共有の一覧表示
LinuxクライアントからWindowsサーバーにエクスポートされたnfs共有を表示したいと思います。私はcifs共有を表示する方法を知っています(sambaの "net rpc share .."コマンドを使用して)。nfs共有を表示するにはどうすればよいですか?
c++ - C C++ ライブラリをネットワーク ファイル システム経由で共有される HOME にインストールします。
私のホーム ディレクトリは、ネットワーク ファイル システムを介して複数の Linux コンピューター間で共有されています。ソースからいくつかの C C++ ライブラリをホーム ディレクトリにインストールし、すべての Linux コンピュータで使用できるようにしたいと考えています。
コンピューターごとにホームの異なるディレクトリに異なるバージョンのライブラリをインストールする必要がありますか?
これらのライブラリを呼び出す C C++ プログラムがあると仮定すると、Makefile で別のコンピューターの別のインクルード ファイルとリンク ファイルとディレクトリを指定するにはどうすればよいですか? コンピューターのホスト名に基づいてディレクトリを決定することですか?
ライブラリのインクルード ファイルとリンク ファイルおよびディレクトリがすべてのコンピュータで同じになるように、異なる Linux コンピュータのライブラリの .a および .so ファイルとヘッダー ファイルの異なるバージョンを組み合わせることは可能ですか? C C++ プログラムの Makefile で別のコンピュータに別のディレクトリを指定する必要がありますか?
よろしくお願いします!
linux - プログラムをビルドし、さまざまなマシンの Network File System の下にソフトウェアをインストールする
少し経験がありますが、異なる Linux バージョン (CentOS リリース 4.7 、Ubuntu 8.10)、異なるビット (例: 32 ビット、64 ビット) および異なるバージョンのコンパイラ (例: gcc/g++ 3.4.6 20060404 (Red Hat 3.4.6-10)、gcc/g++ (Ubuntu 4.3.2) -1ubuntu12) 4.3.2.)、実行可能ファイルまたはライブラリ ファイルをこれらの異なるマシンで使用できるようにするには? ここでの原則は何ですか?
たとえば、ネットワーク ファイル システムでは、CentOS リリース 4.7、x86_64 ad gcc/g++ 3.4.6 20060404 (Red Hat 3.4.6-10) のマシンで C++ プログラムからビルドされた実行可能ファイルがあります。驚いたことに、Ubuntu 8.10、x86_64、および gcc/g++ (Ubuntu 4.3.2-1ubuntu12) 4.3.2 を搭載した別のマシンで実行可能ファイルを使用できることがわかりました。また、最初のマシンで構築し、プログラムで使用したすべての共有ライブラリは、実行可能ファイルが 2 番目のマシンで実行されているときにエラーを報告しません。別のマシンでビルドされた実行可能ファイルを実行すると、信頼できる結果が得られるかどうか心配です。
別の例として、64 ビット マシンでビルドされた実行可能ファイルは 32 ビット マシンでは実行できないことを覚えています。しかし、逆に、32 ビット マシンでビルドされた実行可能ファイルを 64 ビット マシンで実行するにはどうすればよいでしょうか。さまざまなビット マシンでビルドおよび使用される C++ ライブラリ ファイルについてはどうでしょうか。
可能であれば、ウェブページや本など、私の質問に関連する参考文献を教えていただけますか?
よろしくお願いします!
bash - 異なるマシンで実行するプログラムの Makefile
ネットワーク ファイル システムを使用する複数のマシンで実行する C++ プログラムがあります。私のプログラムが使用する C++ ライブラリごとに、各マシン用のバージョンを ~/program_files/machinename/libraryname の下にインストールしました。
「マシン名」は bash コマンド「ホスト名」で取得します。私が使用しているマシンでは、「ホスト名」は「io21.aaa.bbb.edu」のようなものを出力し、ライブラリへのパスの「マシン名」として「io21」のみを使用します。bashで、私はそれを学びました
$ HOST=
hostname
# HOST の値は "io21.aaa.bbb.edu" になりました$ HOST=${HOST%%.*} # 「io21.aaa.bbb.edu」から「io21」を抽出
$ echo ${HOST}
io21
プログラムの Makefile で、これらの bash コマンドを呼び出して、現在のマシンに応じてライブラリへのパスを指定したいと考えています。
HOST := $(シェルのホスト名)
ホスト := $(シェル ${HOST%%.*})
LDFLAGS=-L${HOME}/program_files/${HOST}/libraryname/lib
CXXFLAGS=-Wall -I${HOME}/program_files/${HOST}/libraryname/include
最初の行は機能しています。つまり、HOST は "io21.aaa.bbb.edu" ですが、"io21" を抽出する 2 行目は機能せず、HOST は "io21.aaa.bbb.edu" のままです。
この問題をどのように解決すればよいのでしょうか。
よろしくお願いします!
ruby - Ruby を使用して NFS エクスポートの可用性を確認する方法は?
Ruby コード (Linux 上) を使用して、ネットワーク上の NFS 共有がオンライン/利用可能/稼働中であるかどうかを確認するにはどうすればよいですか?
現時点では、次のようなコードがあります。
また、共有をエクスポートしているリモート マシンは、ネットワーク上でオンラインになるとすぐに NFS サービスの準備が整っているとは限らないため、うまく動作しません。あれは; ping には応答しますが、NFS サービスが起動しないとマウントできません。
c# - C# int から byte[]
を に変換する必要があるのは、 を使用する方法の 1 つint
です。しかし、それが次の仕様に一致するかどうかはわかりません。byte[]
BitConverter.GetBytes()
XDR 符号付き整数は、[-2147483648,2147483647] の範囲の整数をエンコードする 32 ビットのデータです。整数は 2 の補数表記で表されます。最上位バイトと最下位バイトは、それぞれ 0 と 3 です。整数は次のように宣言されます。
ソース:RFC1014 3.2
上記の仕様を満たす int から byte への変換を行うにはどうすればよいですか?