SRX系列平台上,Commit一个新配置时,可能会出现原有的配置文件被锁定。本文将介绍移除锁定配置的方法。
当我们提交Commit配置时,可能会出现以下的Faild或Error信息:
error: remote lock-configuration failed on node0
error: configuration database locked by ...
以上问题的发生可能是因为不同的原因导致的。以下将只作为一个示例说明:
当用户连接到CLI时,MGD进程将会为这个用户创建一个子进程,以下Checked将从Shell模式下操作
1. 用户登录设备:
root@vsrx-a% cli
{primary:node0}
root@vsrx-a>
2. 一个新的mgd进程将会被创建
{primary:node0}
lab@vsrx-a> show system users
node0:
--------------------------------------------------------------------------
11:44PM up 8:49, 3 users, load averages: 0.04, 0.04, 0.00
USER TTY FROM LOGIN@ IDLE WHAT
root v0 - 5:16PM 4:32 cli
root p0 192.168.136.1 11:41PM 1 cli
lab p1 192.168.136.1 11:44PM - -cli (cli) ##新登录用户
root@vsrx-a% ps auxww | grep mgd
root 1143 0.0 1.8 25648 18856 ?? S 2:56PM 0:00.46 /usr/sbin/mgd -N
root 2341 0.0 2.8 37528 29316 ?? Ss 5:16PM 0:00.42 mgd: (mgd) (root)/dev/ttyv0 (mgd)
root 7263 0.0 1.9 25700 19600 ?? Ss 11:41PM 0:00.01 mgd: (mgd) (root)/dev/ttyp0 (mgd)
root 7280 0.0 2.9 34964 29488 ?? Ss 11:41PM 0:00.30 mgd: (mgd) (root)/dev/ttyp0 (mgd)
root 7584 0.0 1.9 25716 19640 ?? Ss 11:44PM 0:00.01 mgd: (mgd) (lab)/dev/ttyp1 (mgd)
root 7600 0.0 0.1 1900 1148 p1 S+ 11:45PM 0:00.00 grep mgd
3. lab用户想去commit配置,进入到配置模式中。
{primary:node0}
lab@vsrx-a> configure exclusive
warning: uncommitted changes will be discarded on exit
Entering configuration mode
{primary:node0}[edit]
lab@vsrx-a#
4. 当时Root用户也登录设备上,当当使用configure进入设备时,提前配置并Commit check时将会出现以下提前,无法Commit成功,配置数据库被lab所锁定
{primary:node0}[edit]
root@vsrx-a# commit check
Mar 05 23:54:20
error: configuration database locked by:
lab terminal p1 (pid 7602) on since 2019-03-05 23:46:44 UTC, idle 00:00:30
exclusive {primary:node0}[edit]
5. 通常这种情况下,是清除锁定配置的mgd进程,单机情况下将使用以下命令进行清除操作。
root@SRX> clear system commit
No commit scheduled
当这个问题出现在双机Chassis-cluster情况下时,两个Node都需要做一次clear system commit动作
{secondary:node0}
root@SRX1> clear system commit
No commit scheduled
{primary:node1}
root@SRX2> clear system commit
No commit scheduled
{primary:node1}[edit]
root@SRX2# commit and-quit
node0:
configuration check succeeds
node1:
commit complete
node0:
commit complete. <<<< commit is successful
Exiting config
Note:值得注意的是,以上操仅在锁定的用户已经断开了连接的情况下才会有效,若锁定配置的用户一直连接着设备,则无法cleaer掉system commit . ,此时也可以直接使用request命令logout用户。
{primary:node0}[edit]
root@vsrx-a# run request system logout user lab terminal p1
{primary:node0}[edit]
root@vsrx-a#
{primary:node0}[edit]
root@vsrx-a# show | compare
Mar 06 00:02:42
[edit system services]
+ ftp;
{primary:node0}[edit]
root@vsrx-a# commit check
Mar 06 00:02:44
node0:
configuration check succeeds
node1:
configuration check succeeds
{primary:node0}[edit]