龙空技术网

NFS服务器

IT运维大爆炸 117

前言:

当前姐妹们对“centosnomountnfs”都比较关切,看官们都想要知道一些“centosnomountnfs”的相关资讯。那么小编同时在网络上汇集了一些对于“centosnomountnfs””的相关知识,希望看官们能喜欢,兄弟们快快来了解一下吧!

nfs

NFS服务端概述:

NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

模式:C/S 模式

端口:

RHEL7是以NFSv4作为默认版本,NFSv4使用TCP协议(端口号是2049)和NFS服务器建立连接

安装nfs

[root@docker-01 ~]# yum -y install rpcbind nfs-utils

配置文件位置

[root@docker-01 ~]# ls /etc/exports

/etc/exports

启动NFS服务

先查看2049端口是否开放:

[root@docker-01 ~]# netstat -antpu | grep 2049

[root@docker-01 ~]# systemctl start rpcbind

[root@docker-01 ~]# systemctl start nfs-server.service

再次查看端口监听状态

[root@docker-01 ~]# netstat -antpu | grep 2049

tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -

udp 0 0 0.0.0.0:2049 0.0.0.0:* -

配置开机自动启动

[root@docker-01 ~]# systemctl enable nfs-server.service

服务的使用方法(看下机器名字,客户端挂载)

showmount -e NFS服务器IP

例:

[root@docker-02 opt]# showmount -e 172.17.120.50

Export list for 172.17.120.50:

挂载(发现挂载不上报错)

[root@docker-02 opt]# mount 172.17.120.50:/tmp /opt

mount.nfs: access denied by server while mounting 172.17.120.50:/tmp

修改配置文件,实战举例

[root@docker-01 tmp]# vim /etc/exports

/tmp *(rw)

注意: * 表示对所有网段开放权限

也可以指定特定的网段

下面是一些NFS共享的常用参数:

ro 只读访问

rw 读写访问

sync 资料同步写入到内存与硬盘当中

async 资料会先暂存于内存当中,而非直接写入硬盘

secure NFS通过1024以下的安全TCP/IP端口发送

insecure NFS通过1024以上的端口发送

wdelay 如果多个用户要写入NFS目录,则归组写入(默认)

no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

Hide 在NFS共享目录中不共享其子目录

no_hide 共享NFS目录的子目录

subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

no_subtree_check 和上面相对,不检查父目录权限

all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

no_all_squash 保留共享文件的UID和GID(默认)

root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)

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

重启服务

[root@docker-01 tmp]# exportfs -rv ##重新读取配置文件,不中断服务.

exporting *:/tmp

客户端查看:

[root@docker-02 opt]# showmount -e 172.17.120.50

Export list for 172.17.120.50:

/tmp *

挂载共享

[root@docker-02 opt]# mount -t nfs 172.17.120.50:/media/ /opt/

[root@docker-02 opt]# df -Th

文件系统 类型 容量 已用 可用 已用% 挂载点

/dev/mapper/centos-root xfs 198G 1.4G 197G 1% /

devtmpfs devtmpfs 4.8G 0 4.8G 0% /dev

tmpfs tmpfs 4.9G 0 4.9G 0% /dev/shm

tmpfs tmpfs 4.9G 8.5M 4.8G 1% /run

tmpfs tmpfs 4.9G 0 4.9G 0% /sys/fs/cgroup

/dev/vda1 xfs 397M 133M 264M 34% /boot

tmpfs tmpfs 984M 0 984M 0% /run/user/0

172.17.120.50:/tmp nfs4 198G 1.4G 197G 1% /opt

开机自动挂载:

编辑

[root@docker-02 opt]# vim /etc/fstab

在文件最后添加自动挂载的信息:

/dev/mapper/centos-root / xfs defaults 0 0

UUID=79285dbe-478c-4de0-93e7-ee906f1133cc/boot xfs defaults 0 0

/dev/mapper/centos-swap swap swap defaults 0 0

172.17.120.50:/tmp /opt nfsdefaults0 0

验证写入权限

[root@docker-02 opt]# umount /opt/

[root@docker-02 opt]# ls

yunweimao

[root@docker-02 opt]# df -Th

文件系统 类型 容量 已用 可用 已用% 挂载点

/dev/mapper/centos-root xfs 198G 1.4G 197G 1% /

devtmpfs devtmpfs 4.8G 0 4.8G 0% /dev

tmpfs tmpfs 4.9G 0 4.9G 0% /dev/shm

tmpfs tmpfs 4.9G 8.5M 4.8G 1% /run

tmpfs tmpfs 4.9G 0 4.9G 0% /sys/fs/cgroup

/dev/vda1 xfs 397M 133M 264M 34% /boot

tmpfs tmpfs 984M 0 984M 0% /run/user/0

[root@docker-02 opt]# mount -a

[root@docker-02 opt]# df -Th

文件系统 类型 容量 已用 可用 已用% 挂载点

/dev/mapper/centos-root xfs 198G 1.4G 197G 1% /

devtmpfs devtmpfs 4.8G 0 4.8G 0% /dev

tmpfs tmpfs 4.9G 0 4.9G 0% /dev/shm

tmpfs tmpfs 4.9G 8.5M 4.8G 1% /run

tmpfs tmpfs 4.9G 0 4.9G 0% /sys/fs/cgroup

/dev/vda1 xfs 397M 133M 264M 34% /boot

tmpfs tmpfs 984M 0 984M 0% /run/user/0

172.17.120.50:/tmp nfs4 198G 1.4G 197G 1% /opt

[root@docker-02 opt]# touch huqi

[root@docker-02 opt]# ls

huqi yunweimao

如果创建文件夹报错

[root@docker-02 opt]# touch huqi

touch: 无法创建"/huqi": 权限不够

解决方法:

设置访问权限一般包含2部分

1)服务本身权限

2)目录访问权限

nfs默认使用nfsnobody用户

[root@docker-01 tmp]# grep nfs /etc/passwd

rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

修改权限

[root@docker-01 tmp]# chmod 777 -R /tmp

[root@docker-01 tmp]# chown nfsnobody.nfsnobody -R /tmp

再次验证写入权限

[root@docker-02 opt]# touch yunweicat

[root@docker-02 opt]# ll !$

ll yunweicat

-rw-r--r--. 1 root root 0 8月 18 15:21 yunweicat

关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。

标签: #centosnomountnfs