快取索引檔案擴容和故障修復
索引檔案擴容
當 /usr/local/oredge-node/logs/error.log
錯誤日誌中出現以下訊息時,表明快取索引檔案所需大小已超過當前配置值:
"cache index database is full: MDB_MAP_FULL: Environment mapsize limit reached, considering raising the map size?"
此問題不會影響資料轉發,但會影響 HTTP 快取清理功能。在這種情況下,我們需要根據實際情況對 cache index 檔案進行擴容。
擴容步驟
修改
/usr/local/oredge-node/conf/nginx.conf
配置:cache_index_map_size 1024m;
將大小調整為所需值,例如 1024m(1GB)。
修改
/usr/local/oredge-node/conf/config.ini
配置檔案,新增以下內容:[cache] lmdb_size = 1024m
請確保此處的大小與
nginx.conf
中的值保持一致。注意:如果您使用的 OpenResty Edge 版本低於
23.6.1
,請在/usr/local/oredge-node/conf/or-config.ini
中進行配置。同時,請通知我們更新您的配置包,以防後續升級還原您的修改。重啟 OpenResty Edge Node:
systemctl start upgrade-oredge-node
驗證配置是否生效:
ls -lh /usr/local/oredge-node/data/cache_index.lmdb
如果顯示的大小與配置的大小一致(如 1GB),則說明配置已生效。
索引檔案修復
當 /usr/local/oredge-node/logs/error.log
錯誤日誌中出現以下訊息時,表明索引檔案已損壞:
"cache index unable to seek cursor: MDB_CORRUPTED: Located page was wrong type"
此時需要刪除索引檔案。請注意,刪除索引檔案會導致已快取檔案的 cache purge
功能失效。
這種問題通常由意外關機(如突然斷電)導致索引檔案資料未能同步到磁碟造成。
刪除索引檔案並重啟 OpenResty Edge Node
刪除舊的索引檔案:
sudo rm -fr /usr/local/oredge-node/data/cache_index.lmdb/*
重啟 OpenResty Edge Node:
systemctl start upgrade-oredge-node
透過以上步驟,您可以有效地擴容快取索引檔案並修復相關故障,確保 OpenResty Edge Node 的正常執行。