NFS安装配置

Ubuntu环境

1、安装nfs-server

$ apt-get install nfs-kernel-server

 

2、建立nfs专用文件夹

$ mkdir /data/share

 

3、配置nfs

$ vi /etc/exports

/data/share/ *(async,insecure,no_root_squash,no_subtree_check,rw)

 

/data/share:与nfs服务客户端共享的目录,这个路径必须和你前面设置的文件的路径一致

*:所有可以ping同该主机的用户

192.168.1.*:  指定网段,在该网段中的用户可以挂载

192.168.1.12: 只有该用户能挂载

rw:挂接此目录的客户端对该共享目录具有读写权限

async:资料同步写入内存和硬盘

no_root_squash:root用户具有对根目录的完全管理访问权限。

no_subtree_check:不检查父目录的权限。

 

4、重启rpcbind 服务

nfs是一个RPC程序,使用它前,需要映射好端口,通过rpcbind 设定。

$ /etc/init.d/rpcbind restart

 

5、重启nfs服务

$ /etc/init.d/nfs-kernel-server restart 

 

6、挂载指令

$ mount -t nfs 192.168.0.128:/data/share /nfsdir

 

 

 

通过docker centos

#启动centos Docker

$ docker run -itd --name docker-centos centos:latest

#进入docker后执行以下命令,报错

$ systemctl status firewalld.service

Failed to get D-Bus connection: Operation not permitted

#解决方法:

$ docker run --privileged -itd --name docker-centos centos:latest /usr/sbin/init

 

$ showmount -e 172.17.0.2

clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

解决方法:

被访问的NFS服务器上的防火墙没有添加规则,向iptables里面添加查看的所有端口即可(也可以关闭防火墙,不过这样是比较不安全的)

查看端口命令:

$ rpcinfo -p localhost

 

$ mount -t nfs 172.17.0.2:/data /data -o proto=tcp -o nolock

mount.nfs: Operation not permitted

解决方法:

docker容器启动的时候需要加上--privileged参数,否则启动nfs服务时候会提示权限不足报错。主要是这个过程中涉及到了mount操作, 使用该参数后使得container内的root拥有真正的root权限。

 

$ showmount -e localhost 

clnt_create: RPC: Remote system error - Address family not supported by protocol

解决办法:

启动rpcbind和nfs

$ service rpcbind restart

$ service nfs restart

 

取消挂载

$ umount -l /data/share

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值