markdown[linux:nfs]linux上的网络文件系统。#linux(代码片段)

author author     2022-12-17     344

关键词:

## Overview
OS のファイルシステム上の任意のディレクトリについて、複数ホストと共有することができる拡散ファイルシステム。30 年近く使われていて歴史も古いらしい。

### Refs
- [CentOS6.5 ファイルサーバ構築](https://www.mk-mode.com/octopress/2013/12/23/centos-6-5-nfs-installation/)
- [NFS サーバの設定](https://www.server-world.info/query?os=CentOS_6&p=nfs)
- [NFSサーバを設定(CentOS6)シンプルで簡単なファイル共有をする](https://genchan.net/it/server/11887/)

-----

## How to use ?
### Install
```sh
$ yum -y install nfs-utils 
# AWS や普段使っている Vagrant 環境だと既に入ってることも
# NFS サーバ側・クライアントサーバ側ともにインストールしておく
```

### Settings
#### NFS Server
```sh
# 1. ドメイン名を設定
$ vi /etc/idmapd.conf
> #Verbosity = 0
> # The following should be set to the local NFSv4 domain name
> # The default is the host's DNS domain name.
> Domain = your.domain.here  # コメントを外して自身ドメイン名に

# 2. 共有ディレクトリ作成
# - 慣習的に export / import が利用されるみたい
# - 暗号化されていたりルート直下じゃないと外だしできないみたい
$ mkdir -p /export

# 3. マウント設定の記述
$ vi /etc/exports
> /export IP_ADDRESS(rw,all_squash)
# 上記で export ディレクトリを IP_ADDRESS に開放して共有している

# 4. 実行と再起動時有効化
$ /etc/rc.d/init.d/rpcbind start
$ /etc/rc.d/init.d/nfs start
$ chkconfig rpcbind on 
$ chkconfig nfs on 
```

#### Client server
```sh
# 1. マウントポイント作成
$ mkdir /import

# 2. マウントの割当て設定 (末尾追加)
$ vim /etc/fstab
> IP_ADDRESS:/export /import nfs defaults 0 0
# 上記の IP_ADDRESS および ディレクトリは NFS サーバで設定したモノを指定

# 3. マウント開始
$ mount /import

# 4. マウント状況の確認
$ nfsstat -m  # クライアント上の NFS マウント一覧
$ nfsstat -c  # クライアント統計情報の確認
$ nfsstat -s  # サーバー統計情報の確認
```

------

## TIPS 

### Case of to enable IPTables
NFS は動的にポートを割り当てる仕様。IPTables が有効の際はポートを固定し、そのポートを IPTables で許可してやる必要がある。

```
$ vi /etc/sysconfig/nfs
# 20,22行目:コメント解除
> LOCKD_TCPPORT=32803
> LOCKD_UDPPORT=32769
# 57行目:コメント解除
> MOUNTD_PORT=892
# 63行目:コメント解除
> STATD_PORT=662
$ /etc/rc.d/init.d/rpcbind restart 
$ /etc/rc.d/init.d/nfs restart
# 111, 2049 および固定設定したポートを許可
$ for port in 111 662 892 2049 32803; do iptables -I INPUT 5 -p tcp -m state --state NEW -m tcp --dport $port -j ACCEPT; done 
$ for port in 111 662 892 2049 32769; do iptables -I INPUT 6 -p udp -m state --state NEW -m udp --dport $port -j ACCEPT; done 
```

### Options of /etc/exports
|オプション|説明|
| ------- | -- |
|rw|読み込みと書き込みの両方を許可する|
|ro|読み込みを許可する|
|ro| 読み込みを許可する|
|sync|  同期書き込みを有効にする (デフォルト)|
|async| 非同期書き込みを有効にする|
|secure|  1024番ポートより小さいポートからのリクエストのみ受け付ける (デフォルト)|
|insecure|  1024番ポート以降のポートからのリクエストも受け付ける|
|wdelay|  別の書き込み要求が実行中/発生予定の場合、書き込みを遅らせる (デフォルト)|
|no_wdelay| wdelay を無効にする。async と合わせて設定する|
|subtree_check| サブツリーのチェックを行う(デフォルト)。一般的な指針として、多くは読み込みのみでファイル名の変更があまり行われないようなディレクトリをエクスポートする場合は、サブツリーチェック有効の方がよいとされる。|
|no_subtree_check|  サブツリーのチェックを無効にする。一般的な指針として、ホームディレクトリのような細かなファイルが多く、変更も多いディレクトリをエクスポートする場合は、 サブツリーのチェックを無効にした方がよいとされる。|
|root_squash | root UID/GID を anonymous UID/GID にマッピングする|
|no_root_squash | root を anonymous UID/GID にマッピングしない|
|all_squash | 全 UID/GID を anonymous UID/GID にマッピングする|
|no_all_squash | 全 UID/GID を anonymous UID/GID にマッピングしない (デフォルト)|
|anonuid=UID | 指定の UID を anonymous UID にマッピングする|
|anongid=GID | 指定の GID を anonymous GID にマッピングする|

markdown在linux上设置时区(代码片段)

查看详情

markdown在linux上着色日志文件(代码片段)

查看详情

红帽7nfs(网络文件系统)(代码片段)

NFS(网络文件系统)服务可以将远程Linux系统上的文件共享资源挂载到本地主机的目录上,从而使得本地主机(Linux客户端)基于TCP/IP协议,像使用本地主机上的资源那样读写远程Linux系统上的共享文件, RHEL7系统中默认已经... 查看详情

markdown如何在linux上安装tcpping(代码片段)

查看详情

markdown在linux上快速安装midnightcommander(代码片段)

查看详情

linux搭建nfs开发环境(代码片段)

网络文件系统,英文NetworkFileSystem(NFS),是由SUN公司研制的UNIX表示层协议,能使使用者访问网络上别处的文件就像在使用自己的计算机一样。我们可以在Ubuntu上制作板子需要的文件,然后使用NFS来加载文件到板子... 查看详情

将 NFS 文件夹挂载到远程机器上(两台机器都在 Red Hat Linux 上)

】将NFS文件夹挂载到远程机器上(两台机器都在RedHatLinux上)【英文标题】:MountingNFSFolderontoaRemoteMachine(BothmachinesareonRedHatLinux)【发布时间】:2013-07-1510:16:52【问题描述】:我是Linux的新手,需要一些关于我在安装NFS文件夹方面尝... 查看详情

markdown在linux.md上安装mysql(代码片段)

查看详情

linux中nfs网络文件系统共享

1.NFS:NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文... 查看详情

markdown在linux上拆分和合并pdf文件(代码片段)

查看详情

markdown在linux上安装python2.7(代码片段)

查看详情

markdown如何创建将在linux上运行的osxelcapitanvm(代码片段)

查看详情

如何以编程方式确定文件是不是位于 Linux 和/或 macOS 的网络文件系统(NFS 或 SMB)上?

】如何以编程方式确定文件是不是位于Linux和/或macOS的网络文件系统(NFS或SMB)上?【英文标题】:HowcanIdetermine,programatically,ifafileislocatedonanetworkfilesystem(NFSorSMB)inLinuxand/ormacOS?如何以编程方式确定文件是否位于Linux和/或macOS的网络... 查看详情

linux,nfs服务,是啥啊

用处广泛吗,有更好的替代方式吗NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,... 查看详情

检查 Linux NFS 上文件是不是存在的任何可靠方法? [复制]

】检查LinuxNFS上文件是不是存在的任何可靠方法?[复制]【英文标题】:AnysurefirewaytocheckfileexistenceonLinuxNFS?[duplicate]检查LinuxNFS上文件是否存在的任何可靠方法?[复制]【发布时间】:2011-09-2203:06:35【问题描述】:我正在开发一个... 查看详情

AWS Amazon Linux2 上的 nfs 问题

】AWSAmazonLinux2上的nfs问题【英文标题】:nfsissueonAWSAmazonLinux2【发布时间】:2020-04-2816:51:29【问题描述】:我在AmazonAWS上运行多个网站。我在主服务器上挂载和EBS,挂载目录保存网站的文件。另外,我配置了应用程序负载均衡器... 查看详情

开启linux的网络服务,ftpssh和nfs服务

在使用linux中开发的时候,我们可以选择启用一些网络服务方便我们进行开发,加快开发的进度。 现在很多用linux进行开发的工程师,他们大多都是在windows系统上安装虚拟机,然后在虚拟机中安装linux系统,然后在里面完成项目... 查看详情

markdown[linux:iptables]限制在centos6上通过iptables从另一个实例访问端口。*#linux(代码片段)

查看详情