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]