部署背景:
因公司的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目录 1
2
3
4
5
6
7
8
| 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测试是否会成功开启;
1
2
3
4
5
6
7
8
9
10
11
12
13
| # 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
|
1
| ③NFS存储服务器服务重启,测试应用服务器是否能够在NFS重新启动后,挂载NFS磁盘;
|
③NFS服务重启,测试应用服务器是否能够在NFS重新启动后,挂载NFS磁盘
1
2
3
4
5
6
7
8
9
10
11
12
| 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磁盘; 1
2
3
4
5
6
7
8
9
10
| 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周期,问题解决,配置如下:
1
2
| 205-virtual-machine:/mnt# cat /etc/auto.master
/mnt/ceshi_nfs /etc/auto.nfs --timeout 30
|
|