Docker の NFS-Ganesha イメージを使用して NFS サーバーを構築する詳細なプロセス

Docker の NFS-Ganesha イメージを使用して NFS サーバーを構築する詳細なプロセス

NFS-Ganesha3 イメージの説明と使用方法

1. NFS-Ganeshaの紹介

NFS-Ganesha は、NFS プロトコル (NFSv3/NFSv4、NFSv4.1) をサポートするユーザー モード ファイル サーバーです。Unix および Unix 系オペレーティング システム用の FUSE (Filesystem in Userspace) 互換インターフェイス FSAL (File System Abstraction Layer) を提供します。このようにして、ユーザーは NFS クライアントを通じて自分のストレージ デバイスにアクセスできます。 NFS-Ganesha サービスを使用すると、ユーザーはカーネルと頻繁にやり取りすることなく、FSAL を介してユーザー モードでデータにアクセスできるため、データ読み取りの応答時間が大幅に短縮されます。

2. NFS-Ganeshaの設定

GANESHA_LOGFILE: ログファイルの場所

GANESHA_CONFIGFILE: ganesha.conf の場所

GANESHA_OPTIONS: ganesha に渡すコマンドライン オプション

GANESHA_EPOCH: ガネーシャのエポック値

GANESHA_EXPORT_ID: ガネーシャの一意のエクスポート ID

GANESHA_EXPORT: エクスポート場所

GANESHA_ACCESS: アクセス ACL リストをエクスポート

GANESHA_ROOT_ACCESS: ルートアクセス ACL リストをエクスポートする

GANESHA_NFS_PROTOCOLS: サポートするnfsプロトコル

GANESHA_TRANSPORTS: サポートするnfsトランスポート

GANESHA_BOOTSTRAP_CONFIG: 起動時に新しい設定ファイルを書き込む

STARTUP_SCRIPT: 起動時に実行するシェルスクリプトの場所


3. NFS-Ganeshaコンテナの使用

3.1 NFS-Ganesha サーバーの構築

1. ホストにNFSサービスがある場合は、まずホスト上のNFSサービスをシャットダウンします。

systemctl 停止 NFS
systemctlでNFSとRPC関連のサービスを無効にするか、直接yumでnfs-utilsを削除します。

2. コンテナを実行する

docker run -d --net=host --privileged=true --restart=always --name=nfs_server -v /data/k8s:/export elimuzi/nfs-ganesha

コンテナを実行する

-dはバックグラウンドで実行することを意味します

–net=hostはホストIPを共有することを意味します

–privileged=true このパラメータを使用すると、コンテナ内のルートに実際のルート権限が与えられます

–name=nfs_server コンテナの名前をnfs_serverにする

-v /data/k8s:/export はディスク マッピングを作成します。/data/k8s はローカル マシンが nfs として共有する必要があるディレクトリであり、/export は構成ファイルで固定されているコンテナーのディレクトリです。

elimuzi/nfs-ganeshaはイメージ名です

–restart=always は起動時に自動的に再起動することを意味します

3. オプション: デフォルト設定を変更するには

設定ファイルはデフォルトのものを使用できますが、デフォルトの設定を変更する場合、ganesha イメージでは、nfs-ganesha の起動スクリプトは /start.sh です。これを変更する必要がある場合は、まずこのファイルをコピーします。

docker cp nfs_server:/start.sh を実行します。

変更後、コンテナにコピーし直します

docker cp start.sh nfs_server:/start.sh
docker restart nfs_server # コンテナを再起動します

3.2 NFS-Ganesha クライアントの使用

サーバーホストのIPアドレスを確認する

ここに画像の説明を挿入

クライアントのIPアドレスを確認する

ここに画像の説明を挿入

3.マウントビューの表示

ショーマウント -e 192.168.18.143 

ここに画像の説明を挿入

4. nfs3のマウント

マウントコマンドはデフォルトでnfs3を使用します

192.168.18.143:/export /mnt をマウントします

ここに画像の説明を挿入

マウント #マウントを表示

ここに画像の説明を挿入

5. nfs4のマウント

mount.nfs4 192.168.18.143:/ /mnt #nfs4 は /export の代わりに / を使用します

ここに画像の説明を挿入

IV. 参考文献

NFS-Ganesha ソースコード アドレス: https://github.com/nfs-ganesha/nfs-ganesha
NFS-Ganesha2.5 コンテナ ソース コード アドレス: https://github.com/apnar/docker-image-nfs-ganesha
NFS-Ganesha3 コンテナのソースコード アドレス: https://github.com/JiHeTuXing/docker-image-nfs-ganesha
NFS-Ganesha2.5 コンテナ アドレス: https://hub.docker.com/r/apnar/nfs-ganesha
NFS-Ganesha3 コンテナ アドレス: https://hub.docker.com/r/elimuzi/nfs-ganesha

Docker の NFS-Ganesha イメージを使用して NFS サーバーを構築する方法についての記事はこれで終わりです。Docker を使用した NFS サーバーの構築の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker Composeでコンテナ管理の問題を解決する
  • DockerでGPUを使用するプロセスの詳細な説明

<<:  上部の固定ナビゲーションバーによって CSS アンカーの配置がブロックされる問題の解決方法

>>:  MySQL シリーズ 11 ログ

推薦する

MySql データベースにおける単一テーブル クエリと複数テーブル結合クエリの効率の比較

この間、プロジェクトに取り組んでいるときに、データ間の接続が非常に複雑なモジュールに遭遇しました。テ...

Vue computedのキャッシュ実装原理の詳細な説明

目次計算結果を初期化する依存関係の収集アップデートを配布する総括するこの記事では、計算された初期化と...

表のセルの内容が超過した場合に省略記号効果を表示する(実装コード)

例示するフロントエンド開発では、セルの幅を制限し、コンテンツが制限を超える部分に省略記号を表示する必...

MySQLデスクトップツールSQLyogのリソースとアクティベーション方法は、白黒のコマンドラインに別れを告げます

では、早速リソースについて見ていきましょう。 123WORDPRESS.COM ダウンロードSQLy...

Linux C バックグラウンドサービスプログラムの単一プロセス制御の実装

導入通常、バックグラウンド サーバー プログラムには 1 つのプロセスのみが必要ですが、単一のプロセ...

Linux の EXT シリーズファイルシステムフォーマットの詳細な説明

Linux ファイルシステム一般的なハードディスクは上図のとおりです。各ディスクは複数のトラックに分...

Vue プロジェクトがページング効果を実現

ページング効果は、参考までにvueプロジェクトに実装されています。具体的な内容は次のとおりです。 1...

JenkinsのLinuxインストール手順と各種問題解決(ページアクセス初期化パスワード)

1. Java環境jdk1.8を準備するJavaがインストールされているかどうかを確認します。イン...

MySQL における SQL ページングクエリのいくつかの実装方法と利点と欠点

【SQL】SQLページングクエリの概要開発プロセスではページングが必要になることがよくあります。今日...

CSSを使用してすべての子要素を選択する方法の詳細な説明

CSS を使用してすべての子要素を再帰的に選択するにはどうすればよいですか?以下の記事では、CSS ...

Docker の MySQL 時間とシステム時間の不一致の問題を解決する

最近、Docker に MySQL をインストールしたところ、データベースの時刻がシステム時刻と 8...

Dockerイメージストレージoverlayfsの使用

1. 概要Docker のイメージはレイヤーで設計されています。各レイヤーは「レイヤー」と呼ばれます...

Linux での MySQL 5.7.16 無料インストール バージョンのグラフィック チュートリアル

この記事では、参考までにMySQL 5.7.16の無料インストール版のチュートリアルを紹介します。具...

MacBook 向け Python 3.7 インストール チュートリアル

MacBookにpython3.7.0をインストールする詳細な手順は、参考までに記録されています。具...

フロントエンドの面接の質問の最も包括的なコレクション

HTML+CSS 1. WEB 標準と W3C の理解と知識<br /> タグを閉じ、小...