Loki保留策略部署遇阻求助:文件系统只读错误
Loki部署错误:只读文件系统导致Compactor初始化失败
错误核心原因
错误日志明确显示:
mkdir /data: read-only file system
Loki的Compactor模块需要创建工作目录/data/loki/compactor,但/data所在的文件系统处于只读状态,无法完成目录创建,导致模块初始化失败。
解决步骤
1. 修改Compactor工作目录配置
将compactor.working_directory替换为一个可写的路径,比如容器内临时目录或挂载的可写卷路径。修改后的配置片段:
compactor: apply_retention_interval: 1h working_directory: /tmp/loki/compactor # 替换为可写路径 shared_store: s3 compaction_interval: 1h retention_enabled: true retention_delete_delay: 2h retention_delete_worker_count: 150 retention_deletes_enabled: true # 启用保留策略需取消注释 retention_period: 72h # 3 days # 启用保留策略需取消注释
2. 验证路径权限(主机部署场景)
如果直接在主机上部署Loki,确保运行Loki的用户对目标工作目录有读写权限:
# 创建目标目录 mkdir -p /tmp/loki/compactor # 设置权限(假设运行用户为loki) chown loki:loki /tmp/loki/compactor chmod 755 /tmp/loki/compactor
3. 容器/K8s部署额外检查
- Docker:运行容器时,通过
-v挂载本地可写目录到目标工作路径,或直接使用容器内默认可写目录(如/tmp下的路径)。 - Kubernetes:确认绑定的PersistentVolumeClaim(PVC)访问模式为
ReadWriteOnce/ReadWriteMany,同时Pod的安全上下文需配置正确的用户/组权限,确保容器内进程能读写该路径。
补充说明
若需要启用日志保留策略,务必取消配置中retention_deletes_enabled: true和retention_period的注释,否则保留策略不会生效。
内容的提问来源于stack exchange,提问作者user15110035
相关产品推荐
相关产品推荐

