【转载】如何在CentOS 7服务器之间使用NFS共享目录
NFS 即 (Network File System) 的缩写,最大的功能就是可以通过网络,让不同的机器、不同的操作系统实现共享彼此的文件。
NFS 服务端可以让客户端将网络中的 NFS 服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利。
NFS 一般用来存储共享视频,图片,文件等静态数据。
准备条件
- 192.168.1.101 ,系统为 CentOS 7,NFS 服务端
- 192.168.1.102 ,系统为 CentOS 7,NFS 客户端
安装 NFS 服务
步骤一、安装 NFS 和 PRC 软件
如果要实现NFS共享目录,首先我们要在一台 CentOS 7 上安装 NFS 服务,安装过程中需要安装两个软件分别是rpcbind
和nfs-utils
,安装命令如下:
1 |
|
步骤二、启动服务并设置为开机自启动
启动服务的过程需要注意,先启动 RPC 服务,再启动 NFS 服务,启动命令如下:
1 |
|
如果开启了防火墙 Firewall,可以通过以下命令让防火墙放行 nfs 服务。
1 |
|
步骤三、配置共享目录
在服务端创建或使用已有的目录作为共享目录,并配置 /etc/exports
文件指明可以访问的客户端 IP 及权限。本例子中,我们创建共享目录/home/linux265/webapp
,通过 vi 编辑器来编辑 /etc/exports
文件,添加添加对应内容:
1 |
|
参数解释如下:
- /home/linux265/webapp 为共享的目录,使用绝对路径;
- 192.168.1.102(rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,地址可以是一个网段,一个IP地址或者是一个域名,域名支持通配符,如:*.http://linux265.com ,地址与权限中间没有空格;
参数 | 作用 |
---|---|
ro | 只读 |
rw | 读写 |
root_squash | 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户 |
no_root_squash | 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员 |
all_squash | 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户 |
sync | 同时将数据写入到内存与硬盘中,保证不丢失数据 |
async | 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据 |
NFS 客户端配置
步骤一、使用showmount
命令查看服务端允许共享的目录及允许访问的IP,命令如下:
1 |
|
输出内容:
1 |
|
showmount命令的用法:
参数 | 作用 |
---|---|
-e | 显示NFS服务器的共享列表 |
-a | 显示本机挂载的文件资源的情况NFS资源的情况 |
-v | 显示版本号 |
步骤二、客户端创建目录并挂载共享目录
在客户端机器 192.168.1.102 上我们创建目录/mnt/webapp
作为共享目录的挂载目录。命令如下:
1 |
|
如果希望每次系统启动自动挂在该目录,可以在该文件/etc/fstab
中挂载。使用 vi 打开 文件/etc/fstab
添加内容:
1 |
|
/etc/fstab
文件配置格式规则为每行6个字段:
- 文件系统:要挂载的分区或设备的设备名称,如 /dev/sdb1。
- 挂载点:文件系统将被挂载的目录,如 /mnt/mydisk。
- 类型:文件系统的类型,如 ext4、ntfs、vfat、nfs 等。
- 挂载选项:文件系统的挂载选项,如 defaults、noatime、rw、ro、user、auto 等。选项之间使用逗号分隔。
- Dump 标记:备份工具 Dump 明确是否应该将此文件系统备份,通常将其设置为 0 即可。
- Pass 标记:与 fsck 关联的标志,表示应以何种顺序检查文件系统,通常将其设置为 0 即可。
步骤三、验证挂在是否成功
挂在命令完成后,可以通过df
命令查看是否正常挂载:
1 |
|
输出内容:
1 |
|