一、NFS永久挂载
方法1:/etc/rc.local 开机自启动
mount -t nfs 172.16.1.31:/upload/ /mnt/
需要添加执行权限:chmod +x /etc/rc.d/rc.local
方法2:/etc/fstab 开机自动挂载
172.16.1.31:/upload /mnt nfs defaults 0 0
以上在开机自动挂载中添加一行,
在centos7中没问题;
在centos6中失败,因为centos6中开机初始化的时候是先进行挂载,再启动网络,估不生效。解决:启动netfs服务,这个服务在centos7中默认启动
注:以上两种方法都需要服务端的nfs和rpcbind开机自启动才行,systemctl enabled rpcbind nfs
二、NFS相关命令和文件
1> NFS相关命令
rpcinfo:查询rpc服务注册信息
参数:-p(指定ip,看那台机器的;什么都不加,就查看当前服务器的rpc信息)
showmount:查看nfs服务器共享信息
参数:-e(指定ip,看那台机器的;什么都不加,就查看当前服务器的nfs信息)
mount:挂载
补充参数:
-t:指定文件系统类型
-o:指定挂载参数
umount:卸载
参数:
-lf:强制卸载(慎用)--------适用于无法卸载时
exportfs:nfs服务的管理命令
2> NFS 相关文件
/etc/exports:nfs服务端配置文件
/proc/mounts:挂载文件
/var/lib/nfs/etab:exports table nfs服务端共享列表(nfs服务端的共享信息)
三、nfs客户端挂载参数
3.1 跟性能有关
rsize:读出的区块大小
wsize:写入的区块大小
默认大小:
CentOS5:rsize=1024,wsize=1024
CentOS6:rsize=131072,wsize=131072
3.2 跟安全有关
nosuid:取消设置suid的权限,默认suid
nodev:是否可以保留装置文件的特殊功能
noexec:在挂载的文件系统中不允许直接执行任何二进制的程序,即命令和脚本
noatime:nfs挂载后不会更新文件的atime 访问时间
nodiratime:nfs挂载后不会更新目录的atime 访问时间
比如:mount -o rsize=131072,wsize=131072,nosuid,noexec,nodev 172.16.1.31:/nfs /nfs
四、NFS故障案例:read-only file system (磁盘只读)
故障模拟:vim /etc/fstab将里面的/跟分区的uuid进行随便修改,记着一定要备份,保存推出之后,reboot重启之后,随便创建个文件,就报read-only file system的错误
touch: cannot touch ‘/root/alex.txt’: Read-only file system
mount -o rw,remount /
第一种:正常情况直接直接在命令行:mount -o rw,remount /就可以,但在CentOS下不行
第二种:进入光盘的救援模式
具体步骤:
1>右键虚拟机,选择"设置",选择光盘,设备状态是已连接和启动时连接,检查确认没有问题,重启虚拟机
2>重启虚拟机时,在vaware弹出log的界面,快速按一下Esc键(这里是考验你手速的时候了)
3>在弹出框中选择"CD-ROM Drive",回车之后,进入装系统的页面
4>选择第三个"Troubeshooting"解决问题的意思,回车之后,进入下一个页面
5>选择"Rescue a CentOS system"之后按下回车.
6>稍等之后,进入救援模式
1)Continue:继续,进去之后自动把磁盘上的跟分区挂载到/mnt/sysimage
2)Read-only mount:只读挂载
3)Skip to shell:跳过之后进入到命令行,需要手动挂载
4)Quit(Reboot):重启
7>选择3)回车直接进入命令行
1)mount /dev/sda3 /mnt/sysimage(将原来系统的跟挂载到/mnt/sysimage上)
2)chroot /mnt/sysimage #把当前系统的根目录设置为 从 /mnt/sysimage
3)然后vim /etc/fstab #修改磁盘上的文件
8>reboot #重启
五、NFS优化、优缺点
5.1 NFS优化
5.2 NFS优缺点
优点:
- 简单,容易上手,容易掌握。
- NFS文件系统内数据是在文件系统上的,及数据是能看见的。
- 部署快速,维护简单方便,且可控,满足需求的就是最好的。
- 可靠,从软件层面上,数据可靠性高,经久耐用。
- 服务非常稳定
缺点:
- 存在单点故障,如果NFS server宕机了,所有客户端都不能访问共享目录。这个在后期的课程会通过负载均衡及高可用方案弥补。
- 在大数据高并发的场合,NFS效率、性能有限(2千万/日以下PV(page view)的网站不是瓶颈,除非网站架构设计太差)。
- 客户端认证是基于ip和主机名的,权限要根据ID识别,安全性一般(**用于内网则问题不大)。
- NFS数据是明文的,NFS本身不对数据安全性作验证。
- 多台客户机挂载一个NFS服务时,连接管理麻烦(耦合性高)。尤其NFS服务端出问题后,所有NFS客户端都处于挂掉状态(测试环境可使用autofs自动挂载解决,正式环境可修复NFS服务或强制卸载)。
- 设计了同步(实时等待)和异步(解耦)的概念,NFS服务端和客户端相对来说就是耦合度有些高。网站程序也是一样,尽量不要耦合度太高,系统及程序架构师的重要职责就是为程序及架构解耦,让网站的扩展性变得更好。
网友评论