缓存索引文件扩容和故障修复
索引文件扩容
当 /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 的正常运行。