2

ルート ディレクトリがいっぱいになったため、mongodb db パスを別のマウント場所に移動しました。ホームディレクトリの下にマウントされているはるかに大きなパーティションに移動しました(これもルートとは別のパーティションです)。

最初に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