当前位置: 首页 > 知识库问答 >
问题:

Redis–打开失败。用于保存的rdb:权限被拒绝

龙俊德
2023-03-14

我使用的是redis版本3.0.6。redis-server进程正在由redis用户运行。

突然从24小时后的5天开始,redis开始失败“打开. rdb进行保存”在此之前它工作正常。

正如您在下面的日志片段中所看到的,Redis表现正常,然后开始失败。服务器重启后解决了问题。

1427:M 24 May 01:09:05.102 * Background saving started by pid 2493    
2493:C 24 May 01:09:34.916 * DB saved on disk
2493:C 24 May 01:09:34.917 * RDB: 310 MB of memory used by copy-on-write
1427:M 24 May 01:09:34.950 * Background saving terminated with success
1427:M 24 May 01:14:35.026 * 10 changes in 300 seconds. Saving...
1427:M 24 May 01:14:35.036 * Background saving started by pid 2494
2494:C 24 May 01:15:04.329 * DB saved on disk
2494:C 24 May 01:15:04.330 * RDB: 298 MB of memory used by copy-on-write
1427:M 24 May 01:15:04.408 * Background saving terminated with success
1427:M 24 May 01:20:05.008 * 10 changes in 300 seconds. Saving...
1427:M 24 May 01:20:05.018 * Background saving started by pid 2499
2499:C 24 May 01:20:33.830 * DB saved on disk
2499:C 24 May 01:20:33.831 * RDB: 330 MB of memory used by copy-on-write
1427:M 24 May 01:20:33.843 * Background saving terminated with success
1427:M 24 May 01:23:46.966 # Failed opening .rdb for saving: Read-only file system
1427:M 24 May 01:25:34.029 * 10 changes in 300 seconds. Saving...
1427:M 24 May 01:25:34.038 * Background saving started by pid 2500
2500:C 24 May 01:25:34.038 # Failed opening .rdb for saving: Read-only file system
1427:M 24 May 01:25:34.139 # Background saving error
1427:M 24 May 01:25:40.059 * 10 changes in 300 seconds. Saving...
1427:M 24 May 01:25:40.064 * Background saving started by pid 2501
2501:C 24 May 01:25:40.064 # Failed opening .rdb for saving: Read-only file system
1427:M 24 May 01:25:40.165 # Background saving error
1427:M 24 May 01:25:46.080 * 10 changes in 300 seconds. Saving...
1427:M 24 May 01:25:46.085 * Background saving started by pid 2502
2502:C 24 May 01:25:46.085 # Failed opening .rdb for saving: Read-only file system
1427:M 24 May 01:25:46.186 # Background saving error
1427:M 24 May 01:25:52.100 * 10 changes in 300 seconds. Saving...
1427:M 24 May 01:25:52.105 * Background saving started by pid 2503
2503:C 24 May 01:25:52.105 # Failed opening .rdb for saving: Read-only file system
1427:M 24 May 01:25:52.206 # Background saving error

那么,我的问题是:这怎么会发生?请给我一个合适的解决方案。

共有3个答案

梁丘弘
2023-03-14

>

  • 你可以检查你的redis.conf,在这个配置文件中你可以找到dbfilename的位置,

    授予包含dbfilename的权限755'dir',它是 /var/lib/redis(centos),用户和组为'redis',但对于dir中的文件应该是644。

    重启redis。

  • 甄坚白
    2023-03-14

    升级后...(Ubuntu 14.04 LTS)

    我让redis抱怨过。。文件系统不是RO。很好。

    kill-9 REDIS-PROCESS#否则它不会死。循环错误。

    删除转储。已存在的rdb文件。。

    再次启动REDIS,问题似乎消失了。(我只是做了它...所以事情可能会回来...)

    看起来这可能是一个升级问题...

    邓韬
    2023-03-14

    我认为“只读文件系统”是这里的关键。它试图写入的设备可能安装不正确,但由于这是随机发生的,系统可能会迫使文件系统进入只读模式。有许多条件可以触发操作系统将文件系统置于只读模式。这可能意味着文件系统已损坏或存在其他文件系统一致性问题。如果您在云提供商上托管,并且磁盘像AWS中的EBS一样有网络支持,则这可能由临时网络问题触发。有时问题是暂时的,强制重新安装分区(或重启服务器)可以解决问题。其他时候它是永久性的,但由于您的服务器恢复正常,所以情况似乎并非如此。但真正的解决方法在于你的硬件设置,但没有详细说明。

    这个答案是相关的,尽管“为什么”:打开RDB文件失败。。。只读文件系统

     类似资料:
    • 我在Debian Server8.5上运行Redis Server2.8.17。我使用Redis作为Django1.8.4应用程序的会话存储。 我读过这两个问题1,2,但它们没有帮助我找到问题。 ps显示用户“Redis”正在运行服务器: 我检查了配置文件中的redis文件名和路径: 但是当我检查输出时,我没有看到任何错误。特别是,我没有看到“权限被拒绝”错误,正如我所期望的那样。 另外,/var

    • 我在Debian服务器8.5上运行Redis服务器2.8.17。我使用Redis作为Django 1.8.4应用程序的会话存储。 我已经有几个月没有更改服务器上的软件配置了,一切正常,直到一周前Django开始出现以下错误: 我查看了redis日志,发现这种情况大约每秒发生一次: 我已经读了这两个SO问题1,2,但是他们没有帮助我找到问题。 ps显示用户“redis”正在运行服务器: 我检查了配置

    • 问题内容: 我在ubuntu 12.04上使用ubuntu apt-get安装了Redis服务器2.8。 我已经从其他数据库复制了dump.rdb。现在,当我尝试启动新服务器时,我不断得到: 我该如何解决? 问题答案: 您应该检查 redis.conf* 文件以查看 dir 和 dbfilename中 的权限。如果位于 dir 路径指定的路径中的 dbfilename 中命名的文件存在,并且权限也

    • 更新 结果发现我调用open和close FileOutputStream的频率太高了,这会在某个时候抛出FileNotFoundException。听起来更像是线程问题。

    • 问题内容: 我已经加入包括。 当我尝试在Nexus5(Android 6.0)中运行我的应用程序时,它引发了如下异常: 然后我尝试了另一部Android手机(Android 5.1),一切正常。代码如下: Android 6.0在权限方面有区别吗? 问题答案: 在Android 6(Marshmallow)中,即使用户在安装时接受了你的所有权限,他们仍可以稍后决定从你手中夺走其中一些权限。 快速解