如果对运维课程感兴趣,可以在b站上搜索我的账号: 运维实战课程,可以关注我,学习更多运维实战技术视频!
部分客户端访问nfs共享文件
nfs共享 项目1 允许部分的客户端以只读(只允许下载)的方式访问共享文件
允许部分的客户端以只读(只允许下载)的方式访问共享文件,但不能做任何修改(包括删除、移动、修改) (只允许192.168.4.205访问nfs共享,但不允许其他两个访问)
nfs服务器配置:
1)安装nfs服务:yum -y install nfs-utils ,yum -y install rpcbind
/etc/init.d/rpcbind start, /etc/init.d/nfs start
2)建立测试的nfs共享文件: mkdir /nfs_share, echo "nfs share " > /nfs_share/nfs_share.txt
3)修改配置文件,共享nfs文件:
vim /etc/exports
/nfs_share 192.168.4.205(ro) //*表示允许所有客户端,ro:只读
客户端访问共享:(部分客户端能以只读方式访问) //要启动rpcbind服务
只允许192.168.4.205访问nfs共享,但不允许其他两个访问,其他两个访问共享会失败,挂载不了。
1)安装查看共享的命令showmount, yum -y install showmount
2)查看共享:showmount -e 192.168.4.5
3)挂载共享后访问共享:mkdir /gongxiang, mount -t nfs 192.168.4.5:/nfs_share/ /gongxiang/
4)挂载后,可以把挂载目录下的文件拷贝下来,但不能做任何修改(包括删除、移动、修改)
cp /gongxiang/nfs_share.txt /root ,可以实现
mv /gongxiang/nfs_share.txt /root ,不可以实现
mkdir /gongxiang/a ,不可以实现
rm -rf /gongxiang/nfs_share.txt ,不可以实现。
注意:192.168.4.205访问能成功。192.168.4.206和 192.168.4.207访问共享会失败,挂载不了。
设置永久挂载:
可以写入/etc/fstab或/etc/rc.local中实现永久挂载,但后者比较好。/etc/fstab中最后两行0 0表示不备份、不检查,如果改为1,可能会启动不了。
生产经验:把rpc服务的启动命令和挂载命令均放入/etc/rc.local里面,然后用nagios等监控软件监控开机后的挂载情况。
1)/etc/rc.local配置文件:
vim /etc/rc.local
/etc/init.d/rpcbind start
/bin/mount -t nfs 192.168.4.5:/nfs_share /gongxiang
2)/etc/fstab配置文件
[root@localhost 桌面]# vim /etc/fstab
192.168.4.5:/nfs_share /gongxiang nfs defaults,noexec,nosuid,… 0 0
参数:(客户端)
查看客户端挂载时的参数命令: cat /proc/mounts
nfs共享 项目2 允许部分的客户端以读和写(下载和上传、修改)的方式访问共享文件
允许部分的客户端以读和写(下载和上传)的方式访问共享文件,能做任何修改(包括删除、移动、修改)(只允许192.168.4.205访问nfs共享,但不允许其他两个访问)
nfs服务器配置:
1)安装nfs服务:yum -y install nfs-utils ,yum -y install rpcbind
/etc/init.d/rpcbind start, /etc/init.d/nfs start
2)建立测试的nfs共享文件: mkdir /nfs_share, echo "nfs share " > /nfs_share/nfs_share.txt
3)修改配置文件,共享nfs文件:
vim /etc/exports
/nfs_share 192.168.4.205(rw, no_root_squash)
注意: //*表示允许所有客户端,rw:读写,但必须要有:no_root_squash,保留客户端的root身份,否则如果没有no_root_squash,或者只有all_squash,客户端访问共享时,身份会自动降低为nobody或nfsnobody,即使有w权限,也无法对共享文件修改。
客户端访问共享:(部分客户端都能以读写方式访问) 只允许192.168.4.205访问nfs共享,但不允许其他两个访问,其他两个访问共享会失败,挂载不了。 //要启动rpcbind服务
1)安装查看共享的命令showmount, yum -y install showmount
2)查看共享:showmount -e 192.168.4.5
3)挂载共享后访问共享:mkdir /gongxiang, mount -t nfs 192.168.4.5:/nfs_share/ /gongxiang/
4)挂载后,可以把挂载目录下的文件拷贝下来,也可以做任何修改(包括删除、移动、修改)
cp /gongxiang/nfs_share.txt /root ,可以实现
mv /gongxiang/nfs_share.txt /root ,可以实现
mkdir /gongxiang/a ,可以实现
rm -rf /gongxiang/nfs_share.txt ,可以实现。
注意:192.168.4.205访问能成功。192.168.4.206和 192.168.4.207访问共享会失败,挂载不了。
设置永久挂载:
可以写入/etc/fstab或/etc/rc.local中实现永久挂载,但后者比较好。/etc/fstab中最后两行0 0表示不备份、不检查,如果改为1,可能会启动不了。
生产经验:把rpc服务的启动命令和挂载命令均放入/etc/rc.local里面,然后用nagios等监控软件监控开机后的挂载情况。
1)/etc/rc.local配置文件:
vim /etc/rc.local
/etc/init.d/rpcbind start
/bin/mount -t nfs 192.168.4.5:/nfs_share /gongxiang
2)/etc/fstab配置文件
[root@localhost 桌面]# vim /etc/fstab
192.168.4.5:/nfs_share /gongxiang nfs defaults,noexec,nosuid,… 0 0
参数:(客户端)
查看客户端挂载时的参数命令: cat /proc/mounts
nfs共享 项目3 允许部分的客户端以读和写(下载和上传、修改)的方式访问共享文件,并且同步写入硬盘。
允许所有的客户端以读和写(下载和上传)的方式访问共享文件,能做任何修改(包括删除、移动、修改)(只允许192.168.4.205访问nfs共享,但不允许其他两个访问)
nfs服务器配置:
1)安装nfs服务:yum -y install nfs-utils ,yum -y install rpcbind
/etc/init.d/rpcbind start, /etc/init.d/nfs start
2)建立测试的nfs共享文件: mkdir /nfs_share, echo "nfs share " > /nfs_share/nfs_share.txt
3)修改配置文件,共享nfs文件:
vim /etc/exports
/nfs_share 192.168.4.205(rw, no_root_squash,sync)
注意: //*表示允许所有客户端,rw:读写,但必须要有:no_root_squash,保留客户端的root身份,否则如果没有no_root_squash,或者只有all_squash,客户端访问共享时,身份会自动降低为nobody或nfsnobody,即使有w权限,也无法对共享文件修改。
客户端访问共享:(所有客户端都能以读写方式访问) (只允许192.168.4.205访问nfs共享,但不允许其他两个访问,其他两个挂载不成功。) //要启动rpcbind服务
1)安装查看共享的命令showmount, yum -y install showmount
2)查看共享:showmount -e 192.168.4.5
3)挂载共享后访问共享:mkdir /gongxiang, mount -t nfs 192.168.4.5:/nfs_share/ /gongxiang/
4)挂载后,可以把挂载目录下的文件拷贝下来,也可以做任何修改(包括删除、移动、修改)
cp /gongxiang/nfs_share.txt /root ,可以实现
mv /gongxiang/nfs_share.txt /root ,可以实现
mkdir /gongxiang/a ,可以实现
rm -rf /gongxiang/nfs_share.txt ,可以实现。
注意:192.168.4.205访问能成功。192.168.4.206和 192.168.4.207访问共享会失败,挂载不了。
设置永久挂载:
可以写入/etc/fstab或/etc/rc.local中实现永久挂载,但后者比较好。/etc/fstab中最后两行0 0表示不备份、不检查,如果改为1,可能会启动不了。
生产经验:把rpc服务的启动命令和挂载命令均放入/etc/rc.local里面,然后用nagios等监控软件监控开机后的挂载情况。
1)/etc/rc.local配置文件:
vim /etc/rc.local
/etc/init.d/rpcbind start
/bin/mount -t nfs 192.168.4.5:/nfs_share /gongxiang
2)/etc/fstab配置文件
[root@localhost 桌面]# vim /etc/fstab
192.168.4.5:/nfs_share /gongxiang nfs defaults,noexec,nosuid,… 0 0
参数:(客户端)
查看客户端挂载时的参数命令: cat /proc/mounts
nfs共享 项目4 允许部分的客户端以读和写(下载和上传、修改)的方式访问共享文件,并且异步写入硬盘。
允许所有的客户端以读和写(下载和上传)的方式访问共享文件,能做任何修改(包括删除、移动、修改)(只允许192.168.4.205访问nfs共享,但不允许其他两个访问)
nfs服务器配置:
1)安装nfs服务:yum -y install nfs-utils ,yum -y install rpcbind
/etc/init.d/rpcbind start, /etc/init.d/nfs start
2)建立测试的nfs共享文件: mkdir /nfs_share, echo "nfs share " > /nfs_share/nfs_share.txt
3)修改配置文件,共享nfs文件:
vim /etc/exports
/nfs_share 192.168.4.205(rw, no_root_squash,async)
注意: //*表示允许所有客户端,rw:读写,但必须要有:no_root_squash,保留客户端的root身份,否则如果没有no_root_squash,或者只有all_squash,客户端访问共享时,身份会自动降低为nobody或nfsnobody,即使有w权限,也无法对共享文件修改。
客户端访问共享:(所有客户端都能以读写方式访问) (只允许192.168.4.205访问nfs共享,但不允许其他两个访问,其他两个挂载不成功。)//要启动rpcbind服务
1)安装查看共享的命令showmount, yum -y install showmount
2)查看共享:showmount -e 192.168.4.5
3)挂载共享后访问共享:mkdir /gongxiang, mount -t nfs 192.168.4.5:/nfs_share/ /gongxiang/
4)挂载后,可以把挂载目录下的文件拷贝下来,也可以做任何修改(包括删除、移动、修改)
cp /gongxiang/nfs_share.txt /root ,可以实现
mv /gongxiang/nfs_share.txt /root ,可以实现
mkdir /gongxiang/a ,可以实现
rm -rf /gongxiang/nfs_share.txt ,可以实现。
注意:192.168.4.205访问能成功。192.168.4.206和 192.168.4.207访问共享会失败,挂载不了。
设置永久挂载:
可以写入/etc/fstab或/etc/rc.local中实现永久挂载,但后者比较好。/etc/fstab中最后两行0 0表示不备份、不检查,如果改为1,可能会启动不了。
生产经验:把rpc服务的启动命令和挂载命令均放入/etc/rc.local里面,然后用nagios等监控软件监控开机后的挂载情况。
1)/etc/rc.local配置文件:
vim /etc/rc.local
/etc/init.d/rpcbind start
/bin/mount -t nfs 192.168.4.5:/nfs_share /gongxiang
2)/etc/fstab配置文件
[root@localhost 桌面]# vim /etc/fstab
192.168.4.5:/nfs_share /gongxiang nfs defaults,noexec,nosuid,… 0 0
参数:(客户端)
查看客户端挂载时的参数命令: cat /proc/mounts
查看客户端挂载时的参数命令: cat /proc/mounts
nfs强制卸载挂载点的命令:umount -lf 挂载点
有时在挂载点里面或者其他程序正在访问挂载点时,就卸载不了,需要强制卸载:umount -lf 挂载点
nfs服务优化:
硬件方面优化:
买多块,raid10既安全,又效率高。网卡要好。
nfs服务的服务端优化:
vim /etc/exports
/共享目录 192.168.4.0/24(rw,async,all_squash)
nfs服务的客户端挂载优化:
客户端挂载的参数:
[root@localhost 桌面]# vim /etc/fstab
192.168.4.5:/nfs_share /gongxiang nfs defaults,noexec,nosuid,… 0 0
安全优化参数: noexec //不允许执行程序 nosuid //不允许设置suid
性能优化参数:
rsize=值、wsize=值//读或写入的区块大小,大点效率高但不能太大,网络能传输的最大值131072为限。
atime //在每一次数据访问时,同步更新访问时间,建议用noatime。 noatime //不更新访问时间。
nodiratime //不更新文件系统上的目录访问时间,推荐使用。
其他优化参数: soft或者(hard,intr)
其他参数:非性能参数越多,速度会越慢。
rw //可写挂载文件系统。
exec //允许执行程序
remount //重新挂载
ro //只读挂载文件系统
hard //当服务器离线,rpc会持续呼叫,直到连上服务器为止,可以加上intr参数。
intr //呼叫可以被中断。
soft //当服务器离线,rpc只会重复呼叫几次,非持续呼叫,建议用soft。
user //允许用户进行文件的挂载与卸载功能。
nouser //不允许用户进行文件的挂载与卸载功能。
async //异步写入磁盘,推荐使用同步的sync。 sync //同步写入磁盘。
auto //能自动挂载文件系统,相当于mount –a。 noauto //不自动挂载文件系统
nfs的内核优化 (参数值大一些,处理请求的效率会提高)
需要参数优化的文件:
/proc/sys/net/core/rmem_default //指定接收套接字缓冲区大小的缺省值(字节)
/proc/sys/net/core/rmem_max //指定接收套接字缓冲区大小的最大值(字节)
/proc/sys/net/core/wmem_default //指定发送套接字缓冲区大小的默认值(字节)
/proc/sys/net/core/wmem_max //指定发送套接字缓冲区大小的最大值(字节)
系统默认参数:
[root@localhost 桌面]# cat /proc/sys/net/core/rmem_default
124928
[root@localhost 桌面]# cat /proc/sys/net/core/rmem_max
124928
[root@localhost 桌面]# cat /proc/sys/net/core/wmem_default
124928
[root@localhost 桌面]# cat /proc/sys/net/core/wmem_max
124928
系统命令行临时优化:
[root@localhost 桌面]# echo 8388608 > /proc/sys/net/core/rmem_default
[root@localhost 桌面]# echo 16777216 > /proc/sys/net/core/rmem_max
[root@localhost 桌面]# echo 8388608 > /proc/sys/net/core/wmem_default
[root@localhost 桌面]# echo 16777216 > /proc/sys/net/core/wmem_max
系统永久优化:
cat >>/etc/sysctl.conf<<EOF
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
EOF
配置好nfs服务后,查看配置的参数细节方法:
cat /var/lib/nfs/etab 看这个配置文件即可查看服务器的配置参数。
Nfs的优缺点:
优点:1)简单,容易上手;2)方便,部署快速、维护简单。3)可靠,经久耐用。4)稳定。
缺点:
1)局限性存在单点故障,如果服务器宕机,所有客户端都不能访问共享目录。
- 在高并发的场合,nfs效率性能有限。(一般2千万以下的pv不是瓶颈,除非网站架构太差)
- 客户端认证时基于IP和主机名的,安全性一般。
- nfs数据是明文的,nfs对数据完整性不做验证。
- 多台机器挂载nfs服务器时,连接管理维护麻烦。
如果对运维课程感兴趣,可以在b站上搜索我的账号: 运维实战课程,可以关注我,学习更多运维实战技术视频!