Config LMDB 擴容
故障原因
Config LMDB 用於儲存 OpenResty Edge Node 的配置資訊。 當配置所需的空間大於所指定的大小(當前預設大小為 4 GB)時無法程序配置同步。
如果以下的錯誤日誌出現在 /usr/local/oredge-node/logs/error.log
檔案中,它表示需求的 config LMDB 的大小已經超過了當前配置的大小。
2022/01/20 15:06:48 [emerg] 3162826#3162826: unable to commit: MDB_MAP_FULL: Environment mapsize limit reached
2022/01/20 15:06:48 [error] 3162826#3162826: *1041049 [lua] sync.lua:417: apply delta failed: failed to set requested key-values, context: ngx.timer
2022/01/20 15:06:48 [error] 3162826#3162826: *1041049 [lua] sync.lua:501: unable to synchronize with edge-admin err:failed to set requested key-values, context: ngx.timer
故障影響
無法進行配置同步,需要對 LMDB 進行擴容。
請注意:LMDB 的空間只能擴大,不能縮小。
新版本擴容步驟
此擴容指令碼在 OpenResty Edge 25.6.15-1
中首次引入。
執行指令碼 expand-config-lmdb.sh
執行擴容。指令碼支援指定擴容後的檔案大小,單位為兆。
比如,將大小調整為 8192m(8GB)。
sudo /usr/local/oredge-node/bin/expand-config-lmdb.sh 8192
擴容前,會將原來的舊的 LMDB 檔案備份在 /usr/local/oredge-node/data/config.lmdb.backup 目錄下。
舊版本擴容步驟
如果 OpenResty Edge 版本低於 25.6.15-1
版本,需要手動修改配置檔案進行擴容。
修改 nginx.conf 配置:/usr/local/oredge-node/conf/nginx.conf
lua_config_map_size 4096m;
修改大小為需要的值,如 8192m(8GB)。
修改 config.ini 配置:/usr/local/oredge-node/conf/config.ini
[config] lmdb_size = 4096m
修改大小為需要的值,如 8192m(8GB)。
重啟 OpenResty Edge Node
systemctl start upgrade-oredge-node
檢查配置是否生效:
ls -lh /usr/local/oredge-node/data/config.lmdb
看到大小變為配置的大小(如 8GB),則說明配置生效。