我在 Redis 日志中看到这个:
1182:M 30 Nov 14:27:00.028 * 1 changes in 900 seconds. Saving...
1182:M 30 Nov 14:27:00.029 * Background saving started by pid 1920
1920:C 30 Nov 14:27:00.029 # Failed opening .rdb for saving: Read-only file system
1182:M 30 Nov 14:27:00.130 # Background saving error
Redis 配置为使用此目录:
ubuntu@XXXXX:~$ redis-cli
127.0.0.1:6379> config get dir
1) "dir"
2) "/mnt/persistent/redis-data"
如果我成为 redis 用户,我就可以正常写入该目录:
ubuntu@XXXXX:~$ sudo su - redis
redis@XXXXX:~$ touch /mnt/persistent/redis-data/caniwrite
redis@XXXXX:~$ ls /mnt/persistent/redis-data/caniwrite
/mnt/persistent/redis-data/caniwrite
它似乎被安装为可读写:
root@XXXXX:~# mount -l | grep /mnt/persistent
/dev/xvdh on /mnt/persistent type ext4 (rw,relatime,data=ordered)
这是已安装的 AWS Elastic Block Store。我正在运行 Ubuntu。
知道为什么 Redis 服务器会报告无法写入,但 redis 用户可以写入吗?
答案1
我找到了答案,并且它证实了这个问题与其他类似的问题有足够的不同!
我还不知道为什么,但我的服务文件已恢复为默认设置。应该/etc/systemd/system/redis.service
包含(并且之前确实包含):
[Service]
ReadWriteDirectories=-/mnt/persistent/redis-data