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]