部署背景:
因公司的UPS老化,断电后只能支撑20min后,所有服务器都自动来电唤醒启动,此时 挂载nfs的应用服务器 总是比 nfs存储服务器 重启速度快,就是这个时间差,虽然可以实现开机挂载nfs磁盘,但是应用服务器往往无法成功挂载nfs磁盘。
解决方案:
①起初,使用开机脚本/etc/rc.local
sleep 300
mount -a
基本满足断电重启的需求。
②第二阶段,因为时间段300秒这个延迟问题,总是发送不该有的手动操作,于是写了一个类似守护进程脚本,只要磁盘中无法检索nfs磁盘,不停的执行mount -a命令,直至nfs存储服务器的应用完全开启。
脚本如下
mount -t nfs 192.168.3.207:/home/www /mnt/ceshi_nfs
③鉴于上述守护进程过于模式原因,找到工具autofs解决
部署并开启autofs后测试结果如下:
测试用例:
将192.168.3.207服务器的/home/www目录挂载在192.168.3.205服务器/mnt/ceshi_nfs目录
205-virtual-machine:/mnt# apt-get install autofs -y //配置autofs挂载nfs磁盘 205-virtual-machine:/mnt# cat /etc/auto.master /mnt/ceshi_nfs /etc/auto.nfs 205-virtual-machine:/mnt# cat /etc/auto.nfs nfs 192.168.3.207:/home/www
①umount掉nfs磁盘,开启autofs测试是否会成功开启;
# umount /mnt/ceshi_nfs # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda6 19092180 11952848 6146464 67% / udev 487036 4 487032 1% /dev tmpfs 100372 904 99468 1% /run none 5120 0 5120 0% /run/lock none 501852 144 501708 1% /run/shm /dev/sda1 439012 99706 312119 25% /boot # service autofs restart //使用restart读取配置文件后 # df | grep 207 192.168.30.207:/home/www 19092224 9122560 8976768 51% /mnt/ceshi_nfs
③NFS存储服务器服务重启,测试应用服务器是否能够在NFS重新启动后,挂载NFS磁盘;
③NFS服务重启,测试应用服务器是否能够在NFS重新启动后,挂载NFS磁盘
207:/home/www# /etc/init.d/portmap stop 207:/home/www# /etc/init.d/nfs-kernel-server stop //此时执行df命令会卡顿,无法得到结果,无法进行读取挂载nfs目录的磁盘操作,时间过长甚至终端无法操作 205-virtual-machine:/mnt# df ^C 205-virtual-machine:/mnt# ls ^C //等待60s时间过后即可进行自动挂载 205-virtual-machine:/mnt# df | grep 207 192.168.30.207:/home/www 19092224 9122560 8976768 51% /mnt/ceshi_nfs
③两服务器同时重启,测试应用服务器是否能够挂载NFS磁盘;
207:/home/www# reboot 205-virtual-machine:/mnt# reboot 205-virtual-machine:~# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda6 19092180 11952912 6146400 67% / udev 487036 4 487032 1% /dev tmpfs 100372 904 99468 1% /run none 5120 0 5120 0% /run/lock none 501852 144 501708 1% /run/shm /dev/sda1 439012 99706 312119 25% /boot
③测试结果:
无法解决开机上述即后无挂载问题
后续,更改配置文件,设置automount周期,问题解决,配置如下:
205-virtual-machine:/mnt# cat /etc/auto.master /mnt/ceshi_nfs /etc/auto.nfs --timeout 30
本文出自 “M层” 博客,请务必保留此出处http://mengix.blog.51cto.com/7194660/1908499
原文地址:http://mengix.blog.51cto.com/7194660/1908499