Redis 报告只读文件系统,但事实并非如此

Redis 报告只读文件系统,但事实并非如此

我在 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

相关内容