扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
问题 |
在启动、关闭VPS的过程中可能遇到“VPS is locked” |
如何处理VPS被锁定?
解决方案
在VPS启动、停止、备份、恢复等几个典型的操作过程中,都会先把VPS锁定
当VPS处于锁定状态的时候,VPS是不能被其他程序操作的
以免其他操作和当前操作冲突
当操作完成后,锁定就会自动解除
例如,当VPS运行中时候,可以做备份操作;当VPS停止时候,也可以做备份操作
但是,当VPS处于锁定状态下,是不能做备份等操作
VPS的锁定是在必要的情况下的一种安全保护
以启动和停止为例,如果在启动过程中,遇到一个程序卡住锁死,无法正常启动也无法正常退出
则可能造成整个VPS被卡住了
对于VPS自身而言,由于内部的某个程序卡住,VPS无法跳过这一步骤,就自身无法顺利启动
对于Virtuozzo节点而言,由于启动没完成,VPS还是锁定中的,其他程序不能对VPS进行其他操作
这时候,就发生了“VPS is locked”的报错现象
要解决这个问题,需要登录到硬件节点,找到是哪个程序卡住了VPS,将出错的进程杀掉
这样,VPS即可继续完成启动、停止等操作
如果不杀掉出错的进程,理论上,只要等待足够长的时间,让有问题的进程发生了超时(timeout)
则VPS自己就会退出锁定状态,恢复到正常状态
但是很多情况下等候几十分钟也未必能恢复正常状态,所以还是以手工中止进程为上。
例如服务器上报告VPS101被锁定,那么登录到硬件节点
用vzlist -a 命令检查当前的vps列表和进程,得到如下结果:
C:\>vzlist -a
VEID NPROC STATUS IP_ADDR HOSTNAME
1 24 running 192.168.1.1 VPS1
101 2 stopped 192.168.1.2 VPS23
102 35 running 192.168.1.3 PLESKWIN761
C:\>
可看到编号为101的VPS的“Nproc”数字为2,即“Number of processes”,当前运行的进程数为2
一般来讲,如果vps是停止状态,这个数字应该为0;如果vps是运行状态,这个数字应该是20以上
只有两个进程,则说明vps启动的过程中可能发生错误被卡住了,才导致了vps被锁定的报错。
执行vzquery v2s命令,调查有问题的vps的session id。
例如对于vps id为101的vps,执行
C:\>vzquery v2s 101
VPS ID: 101
Session ID: 2 (ROOT)
Session ID: 2
C:\>
由此可以得到,凡是Session ID(会话ID为2)的进程,都属于VPS101。
现在登录到硬件节点,打开任务管理器,把所有会话ID都是2的进程给杀掉,即可解决问题。
默认情况下,任务管理器可能无法列出会话ID这个项目,此时可以点击任务管理器上的菜单“查看”
点击“选择列”,此时会打开一个选项清单,左侧倒数第二项,即可看到“会话ID”。
选中会话ID点击确定,任务管理器中就能列出每个进程的会话ID了
用鼠标点击会话ID的标题栏,则可以按照会话ID数字的大小,进行排序
现在即可列出所有会话ID是2的进程了
在列出的会话ID是2的进程里边,有些的运行者是System,有些是非System
通常来讲,只要把所有身份非System的进程都杀掉,VPS就可以恢复到正常状态。
如果VPS是在启动过程中卡住成为锁定状态的,杀掉有问题的进程后
则使用vzlist -a命令可以看到vps内启动的进程数量(NPOC)越来越多
并变成了running状态
如果VPS是在停止过程中卡住成为锁定状态的,杀掉有问题的进程后
则使用vzlist -a命令可以看到vps应该顺利停止,进程数量(NPOC)显示为0
VPS成功的停止掉了
当VPS解除了锁定状态,就可以对其做任何一种操作了
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者