Задать вопрос

Как сделать папку данных MongoDB на nfs?

Доброго времени суток,

есть подключенная по nfs папка стандартно в /etc/fstab строкой вида
10.1.1.30:/mnt/pool/DBASE /mnt/share3 nfs rw,relatime,user,bg,hard,nolock,noatime,nointr 0 0

со всеми рекомендуемыми в документации MongoDB ключами

Если стартовать mongod от юзера, то есть
sudo mongod --dbpath /mnt/share3 --bind_ip 127.0.0.1,10.1.1.32

то всё стартует и работает.

Если же стартовать как сервис (прописав /mnt/share3 в /etc/mongod.conf)
sudo service mongod start
sudo service mongod status

то в статусе mongod.service: Main process exited, code=exited, status=100
в /var/log/mongodb/mongod.log можно найти
""Location28596: Unable to determine status of lock file in the data directory /mnt/share3/: boost::filesystem::status: Permission denied: \"/mnt/share3/mongod.lock\""


Гугление этой ошибки говорит о том, что mongodb от сервиса не хватает прав и советуют сделать chown на папку с .lock-файлом. Проблема в том, что как только я монтирую nfs в /mnt/share3 то владелец каталога автоматически становится nobody, отключить-сменить владельца-подключить всё равно приводит к владельцу nobody. Нормальных мануалов как поставить MongoDB на nfs я не нашёл. Если папка в локальной системе, то chown помогает и сервис стартует. Но на nfs - нет. Подскажите, пожалуйста, как можно решить эту проблему?
  • Вопрос задан
  • 116 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev
software engineer
Если стартовать mongod от юзера, то есть

sudo mongod --dbpath /mnt/share3 --bind_ip 127.0.0.1,10.1.1.32

Так это не от юзера, а от суперюзера (рута)

10.1.1.30:/mnt/pool/DBASE /mnt/share3 nfs rw,relatime,user,bg,hard,nolock,noatime,nointr 0 0

user позволяет обычному юзеру маунтить папку, правда я забыл не уверен какие права при этом получаются

Попробуй маунтить сразу от конкретного юзера
10.1.1.30:/mnt/pool/DBASE /mnt/share3 nfs rw,relatime,uid=mongouser,gid=mongouser,bg,hard,nolock,noatime,nointr 0 0

и /mnt/share3 должна принадлежать mongouser
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы