web-dev-qa-db-ja.com

UbuntuでのpNFSの現在のステータスは何ですか?

PNFSには混乱を招く情報がたくさんありますが、非常に簡単な質問がいくつかあります。

  • システムで実行中/有効/アクティブかどうかを確認するにはどうすればよいですか?
  • PNFSは現在広く利用されていますか、それともまだ実験段階ですか?特に、Ubuntu 18.04でのステータスは何ですか?しますnfs-kernel-server pNFSを使用しますか?
  • NFSv4.1とpNFSの違い/関係は何ですか?
  • PNFSはNFSv4.1のオプションの部分ですか、それともNFSv4.1を使用するときに常にアクティブですか?
  • PNFSもNFSv4.2の一部ですか、それとも4.1ですか?
  • pNFSは、クライアントからサーバーへの並列アクセスを可能にするため、そう呼ばれています。これは、pNFSがない場合、クライアントは単一のTCP接続でサーバーに接続する単一のNFSプロセスしか実行していないことを意味します。これは正しいですか?
5
isarandi

pNFSはNFSv4.1仕様のオプションの部分です。 IOW、それを利用するためにnfsv4.1 +と通信するには、nfsサーバーとクライアントが必要です。これはオプション機能であるため、クライアントとサーバーでサポートする必要があります。 Linuxカーネルはバージョン3.9以降のpNFSをサポートしており、新しいリリースごとに成熟度が高くなっています。

一般に、pNFSでは、単一のファイルのリクエストを複数のいわゆるデータサーバーに分散できます。たとえば、アプリケーションは16MBの読み取りを発行しますが、NFSサーバーは必要なブロックを持つ8つの異なるサーバーに2MBの読み取りを送信します。 pnfsをサポートするサーバーの実装はいくつかあります。

  • Linuxサーバー;ブロックレイアウトのみをサポート
  • Gangesha nfsベースの実装
  • NetApp 8.1以降
  • ハンマースペース
  • dCache(私が関与しているプロジェクト)
  • FreeBSD

他のシステムについて話すことはできませんが、数百のpNFSデータサーバーが単一のNFSサーバーとして公開されているシステムでは、1日あたりテラバイトのデータを移動しています。

NFSサーバーでpNFS機能を確認します。クライアント側で、サーバーがnfsv4.1以降でマウントされていることを確認します。サーバーがpNFS対応の場合、適切なレイアウトドライバーがカーネルモジュールとして読み込まれているはずです。

$ lsmod | grep layout
nfs_layout_nfsv41_files    36864  0
nfs_layout_flexfiles    53248  0
nfsv4                 708608  11 nfs_layout_flexfiles,nfs_layout_nfsv41_files
nfs                   323584  3 nfsv4,nfs_layout_flexfiles,nfs_layout_nfsv41_files
sunrpc                454656  22 nfsv4,auth_rpcgss,nfs_layout_flexfiles,lockd,nfs_layout_nfsv41_files,rpcsec_gss_krb5,nfs
$

また、対応するカーネルメッセージ:

$ dmesg  | grep Layout
[41827.049921] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
$

レイアウトタイプは、クライアントがさまざまなデータサーバーと通信する方法を指定します。 RFC 5661の Storage Protocols セクションを確認してください。

2
kofemann