版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://yunwei365.blog.csdn.net/article/details/100235685
iscsiadm -m node --logoutall=all,这我试了一下确实可以了,不再卡了,有没有其他方法可以设置iscsi设备在关机时自动卸载的啊?
配置Linux关机时执行指定脚本
/etc/rc0.d 包含关机脚本K*
/etc/rc6.d 包含重启脚本K*
Linux关机过程:
init同样也用来控制系统关机或者重新启动,通过shutdown命令可以实现关机操
作。要立即关闭计算机,可以使用shutdown -h now命令,h代表的意思就是halt,也就
是切断了电源,如果是重新启动,直接把h参数换成r就可以了:shutdown -r now
关机过程需要一些时间,这个过程中不应该手工切断电源或者按下reset键。上面的
例子里now参数表示的就是立即的意思,也有许多其他的参数可以选用,比如+n设定倒
计时时间,n就是你想要的时间,这些都可以通过man shutdown了解一下。
举例说明,要使系统10分钟后重新起动:shutdown -r +10
在linux系统里,shutdown命令会通知已经登录进来的用户它即将关机,不过意义不
大罢了。如果定义了倒计时关机,shutdown命令会生成一个/etc/nologin文件,这个文
件的存在能够阻止其他用户再进行登录操作,当然了,root用户除外。
在系统关机时,shutdown命令会告诉init程序转换到0运行级别,如果是重新启动则
转换到第6运行级别。当进入0或者6运行级别后,系统将会依照下面的顺序运行:
1,init关闭所有它能关闭的进程(转换到其他运行级别也一样)
2,rc0.d/rc6.d目录下的第一个命令开始运行,锁定系统文件为关机作准备
3,rc0.d/rc6.d目录下的第二个命令运行,卸载除根文件系统以外的所有文件系统(
如挂载的windows分区)
4,rc0.d/rc6.d中的命令将把根文件系统重新挂载为只读属性
5,rc0.d/rc6.d中的命令调用sync程序把缓存中的数据写入文件系统
6,最后的命令是重新启动或者关闭内核程序
关机时执行某个脚本的具体思路
(1)在文件夹/etc/init.d/下创建关机时需要执行的脚本file_name;
echo "iscsiadm -m node --logoutall=all" >/etc/init.d/file_name
chmod 777 /etc/init.d/file_name
(2)分别在文件夹/etc/rc0.d/和/etc/rc6.d/下创建该该脚本文件的链接文件K07file_name:
ln -s /etc/init.d/file_name /etc/rc0.d/K07file_name
ln -s /etc/init.d/file_name /etc/rc6.d/K07file_name
操作步骤:
echo "iscsiadm -m node --logoutall=all" >/etc/init.d/umountiscsi
chmod 777 /etc/init.d/umountiscsi
ln -s /etc/init.d/umountiscsi /etc/rc0.d/K70umountiscsi
ln -s /etc/init.d/umountiscsi /etc/rc6.d/K70umountiscsi
执行下reboot的,真的不再卡死在重启过程。
————————————————
插图show娃