设为首页 收藏本站
查看: 575|回复: 0

[经验分享] NFS部署和优化

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-3-10 13:46:51 | 显示全部楼层 |阅读模式
NFS 即 network file system,网络文件系统。允许通过网络共享文件系统将服务端文件系统共享给远程客户端,在客户端上访问共享目录与访问客户端本地文件系统一样。
服务端IP:192.168.147.137,客户端IP:192.168.147.138
服务端:
在服务端上安装NFS服务需要安装两个包:nfs-utils 和 rpcbind
login as: root
root@192.168.147.137's password:
Last login: Sat Feb 25 21:16:48 2017 from 192.168.147.1
[iyunv@cp1 ~]# yum install -y nfs-utils rpcbind
创建共享目录并将其权限改为777:
[iyunv@cp1 ~]# mkdir -p /home/network/nfs
[iyunv@cp1 ~]# chmod 777 /home/network/nfs
打开配置文件/etc/exports:
[iyunv@cp1 ~]# vim /etc/exports
默认是空的,我们写入一行内容:
#共享的目录        共享给IP或网段(操作,同步,权限)
/home/network/nfs 192.168.147.138(rw,sync)
保存退出,
启动rpcbind服务
[iyunv@cp1 ~]# /etc/init.d/rpcbind start
正在启动 rpcbind:                                         [确定]
然后启动NFS服务
[iyunv@cp1 ~]# /etc/init.d/nfs start
启动 NFS 服务:                                            [确定]
启动 NFS mountd:                                          [确定]
启动 NFS 守护进程:                                        [确定]
正在启动 RPC idmapd:                                      [确定]
客户端:
在客户端主机上安装包nfs-utils
login as: root
root@192.168.147.138's password:
Last login: Wed Feb 22 22:07:44 2017
[iyunv@cp2 ~]# yum install -y nfs-utils
启动rpcbind和nfs服务
[iyunv@cp2 ~]# /etc/init.d/rpcbind start
正在启动 rpcbind:                                         [确定]
[iyunv@cp2 ~]# /etc/init.d/nfs start
启动 NFS 服务:                                            [确定]
启动 NFS mountd:                                          [确定]
启动 NFS 守护进程:                                        [确定]
正在启动 RPC idmapd:                                      [确定]
然后使用命令showmount查看服务端共享信息(共享目录,共享给谁)
[iyunv@cp2 ~]# showmount -e 192.168.147.137
Export list for 192.168.147.137:
/home/network/nfs 192.168.147.138
接着就可以将共享的目录挂载到客户端指定的挂载点上了
[iyunv@cp2 ~]# mount -t nfs 192.168.147.137:/home/network/nfs /mnt
查看挂载后的磁盘信息
[iyunv@cp2 ~]# df -h
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/vg_cp1-lv_root          18G  1.4G   15G   9% /
tmpfs                              947M     0  947M   0% /dev/shm
/dev/sda1                          485M   31M  429M   7% /boot
192.168.147.137:/home/network/nfs   18G  2.5G   14G  15% /mnt
测试nfs:
1.操作:ro 只读;rw 读写;
服务端:
[iyunv@cp1 ~]# vim /etc/exports
/home/network/nfs 192.168.147.138(ro)
[iyunv@cp1 ~]# exportfs -arv
exporting 192.168.147.138:/home/network/nfs
客户端:
[rachy@cp2 mnt]$ ls
text.txt
[rachy@cp2 mnt]$ cat text.txt
123456
[rachy@cp2 mnt]$ touch 1.txt
touch: 无法创建"1.txt": 只读文件系统
服务端:
[iyunv@cp1 nfs]# vim /etc/exports
/home/network/nfs 192.168.147.138(rw)
[iyunv@cp1 nfs]# exportfs -arv
exporting 192.168.147.138:/home/network/nfs
客户端:
[rachy@cp2 mnt]$ ls
text.txt
[rachy@cp2 mnt]$ cat text.txt
123456
[rachy@cp2 mnt]$ touch 1.txt
[rachy@cp2 mnt]$ ls
1.txt  text.txt
2.是否同步:
sync,同步,内存数据实时写入磁盘
async,不同步,内存数据定期写入磁盘
3.限制用户:默认情况下,客户端对nfs文件系统操作是限制以nfsnobody用户身份进行的。
root_squash:只限制root用户为anonuid和anongid
no_root_squash:不限制root用户,
all_squash:限制所有用户为anonuid和anongid
no_all_squash:所有用户都不限制
如果限制,需要指明限制为哪个用户和组:anonuid和anongid,否则将限制为默认的nfsnobody。
(1)默认情况下,将客户端root用户创建的文件限制为nfsnobody,一般用户创建的文件限制为nobody:
[iyunv@cp1 nfs]# vim /etc/exports
/home/network/nfs 192.168.147.138(rw,sync)
[iyunv@cp1 nfs]# exportfs -arv
exporting 192.168.147.138:/home/network/nfs
[iyunv@cp2 mnt]# touch root.txt
[iyunv@cp2 mnt]# su rachy
[rachy@cp2 mnt]$ touch rachy.txt
[rachy@cp2 mnt]$ ls -l
总用量 0
-rw-rw-r-- 1 nobody    nobody    0 2月  25 23:06 rachy.txt
-rw-r--r-- 1 nfsnobody nfsnobody 0 2月  25 23:06 root.txt
(2)all_squash
[iyunv@cp1 nfs]# vim /etc/exports
/home/network/nfs 192.168.147.138(rw,sync,all_squash)
[iyunv@cp1 nfs]# exportfs -arv
exporting 192.168.147.138:/home/network/nfs
[iyunv@cp2 mnt]# touch root.txt
[iyunv@cp2 mnt]# su rachy
[rachy@cp2 mnt]$ touch rachy.txt
[rachy@cp2 mnt]$ ls -l
总用量 0
-rw-rw-r-- 1 nfsnobody nfsnobody 0 2月  25 23:11 rachy.txt
-rw-r--r-- 1 nfsnobody nfsnobody 0 2月  25 23:11 root.txt
(3)all_squash,anonuid=502,anongid=502,将所有用户都限制为服务端上用户rachy
[iyunv@cp1 nfs]# vim /etc/exports
/home/network/nfs 192.168.147.138(rw,sync,all_squash,anonuid=502,anongid=502)
[iyunv@cp1 nfs]# exportfs -arv
exporting 192.168.147.138:/home/network/nfs
[iyunv@cp1 nfs]# tail -n 1 /etc/passwd
rachy:x:502:502::/home/rachy:/bin/bash
[iyunv@cp2 mnt]# touch root
[iyunv@cp2 mnt]# su rachy
[rachy@cp2 mnt]$ touch rachy
[rachy@cp2 mnt]$ ls -l
总用量 0
-rw-rw-r-- 1 rachy rachy 0 2月  25 23:20 rachy
-rw-r--r-- 1 rachy rachy 0 2月  25 23:20 root
(4)no_root_squash不限制root用户,其他用户自动被限制为nobody:
[iyunv@cp1 nfs]# vim /etc/exports
/home/network/nfs 192.168.147.138(rw,sync,no_root_squash)
[iyunv@cp1 nfs]# exportfs -arv
exporting 192.168.147.138:/home/network/nfs
[iyunv@cp2 mnt]# touch root
[iyunv@cp2 mnt]# su rachy
[rachy@cp2 mnt]$ touch rachy
[rachy@cp2 mnt]$ ls -l
总用量 0
-rw-rw-r-- 1 nobody nobody 0 2月  25 23:34 rachy
-rw-r--r-- 1 root   root   0 2月  25 23:34 root
(5)root_squash,anonuid=502,anongid=502,将root用户限制为服务端上用户rachy,其他用户自动被限制为nobody:
[iyunv@cp1 nfs]# vim /etc/exports
/home/network/nfs 192.168.147.138(rw,sync,root_squash,anonuid=502,anongid=502)
[iyunv@cp1 nfs]# exportfs -arv
exporting 192.168.147.138:/home/network/nfs
[iyunv@cp2 mnt]# touch root
[iyunv@cp2 mnt]# su rachy
[rachy@cp2 mnt]$ touch rachy
[rachy@cp2 mnt]$ ls -l
总用量 0
-rw-rw-r-- 1 nobody nobody 0 2月  25 23:38 rachy
-rw-r--r-- 1 rachy  rachy  0 2月  25 23:38 root
(6)no_all_squash,都不限制的话,root被限制为nfsnobody,其他用户为nobody,与什么都不做的情况(1)一样:
[iyunv@cp1 nfs]# vim /etc/exports
/home/network/nfs 192.168.147.138(rw,sync,no_all_squash)
[iyunv@cp1 nfs]# exportfs -arv
exporting 192.168.147.138:/home/network/nfs
[iyunv@cp2 mnt]# touch root
[iyunv@cp2 mnt]# su rachy
[rachy@cp2 mnt]$ touch rachy
[rachy@cp2 mnt]$ ls -l
总用量 0
-rw-rw-r-- 1 nobody    nobody    0 2月  25 23:42 rachy
-rw-r--r-- 1 nfsnobody nfsnobody 0 2月  25 23:42 root


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-350612-1-1.html 上篇帖子: linux-/etc/inittab,rc.sysinit,rc服务类脚本,chkconfig 下篇帖子: redhat6.4执行二进制程序报错:/lib/ld-linux.so.2: bad ELF interpret...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表