2

当我的根目录已满时,我已将我的 mongodb 数据库路径移动到不同的挂载位置。我将它移动到一个更大的分区,该分区安装在我的主目录下(这也是与根目录分开的分区)。

首先我停止了 mongod,然后我跑了

cp -ra /var/lib/mongodb $HOME/archive/mongodb

复制旧的 dbpath,同时保留权限和时间戳以及其他所有内容。

我检查了 2 个目录,一切都一样,组是守护进程,用户是 mongodb。

然而,由于某种原因,每次尝试启动 mongo 时,我都会在 mongodb.log 中收到以下权限错误:

sudo systemctl start mongodb


Fri Nov  8 14:15:36.412 [initandlisten] options: { bind_ip: "10.10.11.101", config: "/etc/mongodb.conf", dbpath: "/home/dave/archive/mongodb", logappend: "true", logpath: "/var/log/mongodb/mongod.log", quiet: true, rest: "true" }
Fri Nov  8 14:15:36.412 [initandlisten] exception in initAndListen std::exception: boost::filesystem::status: Permission denied: "/home/dave/archive/mongodb", terminating

这是权限的输出:

ls -alt $HOME/archive/mongodb

drwxr-xr-x  4 mongodb daemon      4096 Nov  8 13:26 .
drwxrwxr-x 14 dave    users       4096 Nov  8 12:57 ..
drwxr-xr-x  2 mongodb daemon      4096 Nov  8 12:29 journal

我也跑chown -R了好几次,只是为了确定。

我什至将 mongodb 用户添加到用户组中,因为存档目录的组是用户,所以挂起的情况。仍然无法正常工作。

会不会是某种 fstab 问题?

UUID=88356ad7-9b85-402e-a0ab-86547fae9bcd /home ext4 defaults,user_xattr 0 1

UUID=db4a13df-62df-46eb-8c0d-809d5f2c312f /home/dave/archive ext4 defaults,user_xattr 0 1

感谢您的任何想法。

编辑:我最终使用了另一个驱动器并将其安装到 /mnt/data 的新定义目录中,现在一切正常,但我仍然很想知道为什么上述方法不起作用,因为我以相同的方式设置,使用cp -ra.

4

1 回答 1

0

与 Centos 7 的安全上下文相关

chown -R mongod:mongod /home/dave/archive/mongodb

chcon -Rv --type=mongod_var_lib_t /home/dave/archive/mongodb

于 2017-06-28T09:30:35.483 回答