ルート ディレクトリがいっぱいになったため、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
.