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

推薦する

未来志向の総合的なウェブデザイン:プログレッシブエンハンスメント

<br />原文: プログレッシブエンハンスメントを理解するアーロン・ガスタフソン翻訳:...

MySQL 5.7.17 winx64 のインストールと設定のチュートリアル

今日、MySQL データベースをコンピューターに再度インストールしました。システムを再インストールす...

Linux学習におけるmkdirコマンドの詳しい説明

目次序文1. ファイルの概念に関する基礎知識2. mkdir コマンド序文最近、Linux にますま...

@Font-face の基本的な使い方と、すべてのブラウザと互換性を持たせる方法

@Font-face 基本紹介: @font-face は、Web ページにカスタム フォントを表示...

要素UIポップアップコンポーネントをカプセル化する手順

el-dialogをコンポーネントとしてカプセル化するelement-ui を使用する場合、ポップア...

HTML独習の旅(I)基本要素と属性の練習(自分でコードを書く)

私は W3school のチュートリアルに従いました。チュートリアルはとても良いと思います。各セクシ...

Vue で動的なスタイルを実現するためのさまざまな方法のまとめ

目次1. 三項演算子の判定2. 動的に設定されるクラス3. 方法判定4. 配列バインディング5. e...

Linux での syslogd および syslog.conf ファイルの解釈

1: syslog.conf の概要異なるタイプの Unix の場合、標準の UnixLog システ...

Docker に MySQL をデプロイする例

目次1 コンテナクラウドとは何ですか? 2 Dockerの紹介3 dockerを使ってMySQLをイ...

Win2008 R2 mysql 5.5 zip 形式 mysql のインストールと設定

Win2008 R2 zip形式のMySQLのインストールと設定1. Baidu MySQL 5.6...

CentOS で MySQL を完全にアンインストールする方法

この記事では、CentOSでのMySQLの完全アンインストールについて記録しています。具体的な内容は...

TomcatのmaxPostSize属性を設定する際に注意する必要がある問題を解決する

必要:近い将来、大容量ファイルのアップロード機能を実装します。フロントエンドフレームワークのアップロ...

Vue2.x - アンチシェイクとスロットリングの使用例

目次ユーティリティ: vue での使用:説明する:画像安定化:スロットル:ユーティリティ: // 手...

Jenkins統合Dockerプラグインの問題を解決するいくつかの方法

目次背景質問1エラー 2エラー 3エラー4要約する背景テスト環境では、docker プラグインを統合...

MySQL がタイムスタンプを使用するときにタイムゾーンの問題を無視できるのはなぜですか?

私はいつも、なぜMySQLデータベースのtimestampタイムゾーンの問題を無視できるのか疑問に思...