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 ログ

推薦する

ウェブサイトのホームページを作成するための基本原則

1. ウェブサイトのホームページのハイパーテキスト ドキュメントの構成構造は、ユーザーの注意をできる...

MySQLのさまざまなオブジェクトのサイズと長さの制限について話しましょう

目次識別子の長さ制限権限テーブルの範囲フィールドの長さ制限データベースとテーブルの数の制限テーブルサ...

NavicatでMySQLビッグデータをインポートする際のエラーの解決方法

Navicat がエクスポートしたデータはインポートできません。最後に、MySQLコマンドのインポー...

要素テーブルからヘッダーを削除する方法

show-header属性を使用したドキュメントのヒントshow-header <el-テーブ...

JavaScriptを使用してSMS認証コード間隔を送信する機能を実装する

多くのアプリやウェブサイトでは、ログインやアカウント登録の際にSMS認証コード1を送信する場所があり...

Vue カードスタイルのクリックして切り替える画像コンポーネントの使用方法の詳細な説明

この記事では、vueカードスタイルのクリックして切り替える画像コンポーネントを参考までに紹介します。...

HTML ヘッドタグの詳細な紹介

HTML のヘッド部分には、ブラウザによる Web ページのレンダリングや SEO などに関連するタ...

JavaScriptは入力ボックスコンポーネントを実装します

この記事では、入力ボックスコンポーネントを手動で実装するための具体的なコードを参考までに紹介します。...

Hadoop 3.2.0 クラスターの構築に関する一般的な考慮事項

1つのポートの変更バージョン 3.2.0 では、ネームノード ページ ポートは 9870、データノー...

MySQL で特定の日、月、または年のデータをクエリするためのコードの詳細な説明

今日 テーブル名から * を選択します。ここで、to_days(時間フィールド名) = to_day...

divコンテナ内の背景色または画像は、サイズが大きくなるにつれて大きくなります。

コードをコピーコードは次のとおりです。高さ:自動 !重要;高さ:550px;最小高さ:550px; ...

MySQL 5.7.18 MSI インストール グラフィック チュートリアル

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

CSS 境界線の半分または部分的に表示される実装コード

1. 疑似クラスを使用して境界線の半分を表示する <!DOCTYPE html> <...

SQLデータベースの14の事例の紹介

データシート /* Navicat SQLite データ転送 ソースサーバー: school ソース...

aタグ内のテキストを非表示にして画像を表示するには?360モードレンダリングに対応

多くの場合、画像を表示する<a>タグのスタイルに遭遇しますが、タグ内にテキストがあり、そ...