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における正規表現の一般的な使用法

MySQL における Regexp の一般的な使用法特定の文字列を含むあいまい一致# コンテンツフィ...

CSSでできるならJavaScriptは使わない

序文JavaScript で記述できるアプリケーションは、最終的には JavaScript で記述さ...

CSS のインライン スタイルに変換するソリューション (css-inline)

シーンについて話すメールを送信サードパーティのウェブサイトにHTMLを埋め込む他の編集者の記事をコピ...

js配列の基本的な使い方のまとめ

序文配列は特別な種類のオブジェクトです。 js には実際の配列はなく、オブジェクトを使用して配列をシ...

Kubernetes を使用して Springboot または Nginx をデプロイするための詳細なチュートリアル

1 はじめに「Maven がワンクリックで Springboot を Docker リポジトリにデプ...

CentOS システムのディスク パーティションを拡張する方法

問題/障害/シナリオ/要件Eve-ng の仮想マシン OVA のハードディスクは 38G しかないた...

CSS コンテンツ属性を使用して、マウスホバープロンプト (ツールチップ) 効果を実現します。

なぜこのような効果を実現するのでしょうか。実は、この効果もタイトルプロンプトから派生したものですが、...

MySQL監視ツールmysql-monitorの詳細な説明

1. 概要mysql-monitor MYSQL 監視ツール、最適化ツール、1 つの Java Sp...

vue-router 履歴モード サーバー側設定プロセス記録

歴史ルート履歴モードとは、HTML5 の履歴 API を使用してクライアント側ルーティングを実装する...

JavaScriptはフォームデータの非同期取得を実装します

この記事では、フォームデータの非同期取得を実現するためのJavaScriptの具体的なコードを例とし...

アコーディオン効果を実現するJavaScript

この記事では、アコーディオン効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

MySQL 5.7.20 圧縮版のダウンロードとインストールの簡単なチュートリアル

1. ダウンロードアドレス:参考: http://dev.mysql.com/downloads/m...

さまざまな環境での Docker Compose のインストール方法

1. オンラインインストール現在、Linux x86アーキテクチャのオンラインインストールのみを試し...

MySQL ベースのシーケンス実装方法

チームは新しいフレームを交換しました。すべての新しいビジネスでは、新しいフレームワークと新しいデータ...

テーブルを開く際のMySQLスレッドの問題の解決方法

問題の説明最近、MySQL5.6.21サーバーがありました。アプリケーションがリリースされた後、同時...