一、mount命令可以非常方便实现服务器间的文件共享。下面记录一下实际工作的使用方法:

文件服务器(IP:123.456.789.1):面向其他服务器提供挂载文件,比如现在想要将/home/mountTest1目录被挂载。

客户端(IP:123.456.789.2):需要挂载文件服务器的某些文件,比如这里想要挂载文件服务器的/home/mountTest1目录

步骤:

1.对于文件服务器而言,先启动nfs服务。

# service nfs status //先查看nfs服务状态,若未开启服务,则需要将其启动

# service nfs start  //手动启动服务

# chkconfig --level 35 nfs on  //开启NFS开机运行

注意:对于某些操作系统,如果执行时报错:Failed to start nfs.service: Unit nfs.service not found   需要查看下操作系统版本,有的操作系统比如龙晰系统或ubuntu 10.0以上的版本中nfs服务名是nfs-server,所有涉及到的命令中都需要改成这个名字才可,以龙晰系统为例,需按照以下命令执行启动命令

#龙晰操作系统
/bin/systemctl start nfs-server.service

2.设置nfs服务权限

# vim /etc/exports  //编辑该文件,对nfs权限进行设置

# /home/mountTest1 123.456.789.2 (rw,sync,no_root_squash) 

##保存该文件

在这里注意几个点:

  • 对于某些操作系统,以上格式会报错,比如在Anolis OS 8.9(龙晰系统),这样在mount时候直接卡死没反应,如下图

    这时执行命令查看nfs状态:

/bin/systemctl status nfs-server.service

会发现打印如下日志,提示:

exportfs: No options for /web 客户端IP: suggest 客户端IP(sync) to avoid warning

exportfs: No host name given with /web (rw,sync,no_root_squash), suggest *(rw,sync,no_root_squash) to avoid warning

这说明配置文件/etc/exports中格式有误,将IP与后面的权限之间的空格去掉(如下图所示),再执行以下nfs重启服务(/bin/systemctl restart nfs.service或service nfs restart)就可以了。 

在进行nfs服务权限设置时,有几个参数需要说明:

1、rw  :表示可读写权限。

2、ro  :表示只读权限。

3、sync  :请求或写入数据时,数据同步写入到NFS Server的硬盘后才返回。(优点:数据安全不会丢。缺点:性能比启用该参数要差)。

4、async  :写入时数据会先写到内存缓冲区,只到硬盘有空档才会再写入磁盘,这样可以提升写入效率!风险:若服务器宕机或不正常关机,会损失

       缓冲区中未写入磁盘的数据(解决办法:服务器主板电池或加UPS不间断电源)。

5、no_root_squash  :访问NFS Server共享目录的用户如果是root的话,它对该共享目录具有root权限,这个配置原本是为无盘客户端准备的。用户应避免使用。

6、root_squash  :如果访问NFS Server共享目录的用户是root,则它的权限将压缩成匿名用户,同时它的UID和GID通常会变成nfsnobody账号身份。

7、all_squash  :不管访问NFS Server共享目录的用户身份如何,它的权限都将被压缩成匿名用户,同时它的UID和GID都会变成nfsnobody账号身份。在

         早期多个NFS客户端同时读写NFS Server数据时,这个参数很有用。

3.重启nfs服务:service nfs restart 使得配置生效

4.在客户端上创建目录,用于进行挂载

# mkdir /home/mountTest2
# chmod 777 -R /home/mountTest2

 5.因为nfs服务需占用2049端口,所以需要注意文件服务器防火墙需对该接口放行,特别是一些云服务器,安全组也要对该端口放行

6.客户端执行挂载命令

mount 123.456.789.1:/home/mountTest1 /home/mountTest2

注意:执行命令后,如果一直卡住,需要注意确认下服务端的防火墙或者安全组是否对端口 2049开放,因为mount服务默认是要访问服务端2049端口。可以尝试查看系统日志(例如/var/log/messages)以获取更多的错误信息,或者使用NFS相关的命令(例如showmount)来进行故障排除。

7.将挂载操作命令放到客户端的开机启动项里

# vim /etc/rc.local
##添加 mount 123.456.789.1:/home/mountTest1 /home/mountTest2 下次开机就会自动挂载了

8.若想取消挂载,需执行如下命令 

umount -l 本地挂载目录

比如:本地目录/test已挂载到远程目录10.10.30.1:/home/mountTest1

则若想要取消挂载,需执行以下命令:

umount -l /test

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐