2017-06-07 3 views
1

ホストにマウントされたドライブを使用してDockerを使用してMongoDBインスタンスをコンテナ化しようとしています。MongoDB DockerとLustreを使用してマウントされたドライブで「ロックを確立できません」というエラーが発生しました

私はまた、ホストディレクトリに777のパーミッションを開く試みられてきたので、その権限の問題と考えられ
exception in initAndListen: 98 Unable to lock file: /data/db/mongod.lock Function not implemented. Is a mongod instance already running?, terminating 

[[email protected] ~]$ docker run -d --name mongo -v /local/cluster/drive:/data/db mongo:latest 

しかし、常にがで失敗します。mongo:latest画像を使用して

rootとしてmongodインスタンスを実行すると、同じ問題が発生します。

同じデータディレクトリを実行しているmongodインスタンスはありません。

最後に、何かを指摘する価値があります:唯一の共通点はファイルシステムのようです。 MongodはLustreドライブで一貫して失敗しますが、他のファイルシステムでは失敗します。私がソースディレクトリがNFSドライブか他のものにあれば、それはうまく動作します。デフォルトの光沢によって

+0

https://github.com/docker-library/mongo/issues/30あなたはドッカーバージョンに関するいくつかのより多くの情報を与えることができ、あなたに – harshavmb

+0

を助けるかもしれない、ホストOSとDockerのインストール方法について教えてください。これがmacOS上にある場合、デフォルトで '/ local/cluster/drive'は有効なホストマウントではありません。 –

+0

Dockerのバージョン:1.11.2で、CentOS 7.3.1611で動作しています。インストールはDockerのドキュメントに記載されている標準のyumインストールでした。詳細が必要な場合はお知らせください。 –

答えて

0

https://anilmaurya.wordpress.com/2015/05/06/abaqus-with-lustre-file-system/

は、取り付け時に[2]ファイルシステムはそれを動作させるために[1]、あなたは「群れ」オプションを追加する必要が群れ機能を持っていない[3]

[1]

$ touch temp 
$ strace -e flock perl -e 'open(FH, "+< temp"); flock(FH, 2) or exit 1; sleep 1; close(FH);' 
flock(3, LOCK_EX)      = -1 ENOSYS (Function not implemented) 
+++ exited with 1 +++ 

[2]

あなたは光沢が -o remountオプションをサポートしていないとしてアンマウントし、ファイルシステムをマウントする必要が

$ mount | grep /data 
[email protected]:/data on /data type lustre (rw,lazystatfs) 
$ mount -o remount,flock /data 
$ mount | grep /data 
[email protected]:/data on /data type lustre (rw,lazystatfs) 

# umount /data 
# mount -t lustre -o rw,flock [email protected]:/data /data 
$ mount | grep /data 
[email protected]:/data on /data type lustre (rw,flock,lazystatfs) 

[3]

$ strace -e flock perl -e 'open(FH, "+< temp"); flock(FH, 2) or exit 1; sleep 1; close(FH);' 
flock(3, LOCK_EX)      = 0 
+++ exited with 0 +++ 
+0

ありがとう! –

関連する問題