私はmongoデータを別のドライブに移動中です。移動したいデータはすべて/ data/dbに保存されており、NAS(Network Attached Storage)に移動しています。Mongoデータベースを別のドライブに移動:lockfilepathのロックを取得できません
まずステップ:これはモンゴ-TEMPで/そのようなファイルツリーを作成し
mongodump -d mydb -c mycollection -o nas/mongo-temp
:私は、その後のmongodサービスを停止し、新しい/ data/dbディレクトリを作成し
dump
`-- mydb
`-- mycollection.bson
1 directory, 1 file
:
/etc/init.d/mongod stop
mkdir mongo-temp/data/db
...と/etc/mongodb.conf
でDBPATHラインを変更dbpath=.../mongo-temp/data/db
/etc/init.d/mongod start
を使用して正常にmongoサーバーを再起動しました。
私が接続しよう:
mongo
MongoDB shell version: 1.6.4
Thu May 3 09:53:23 *** warning: spider monkey build without utf8 support. consider rebuilding with utf8 support
connecting to: test
Thu May 3 09:53:24 Error: couldn't connect to server 127.0.0.1 (anon):1154
exception: connect failed
私はコマンドmongod --dbpath .../mongo-temp/data/db
でのmongodを起動しようとしましたが、私はというエラーを取得:ロックファイルを削除する
Thu May 3 09:57:26 exception in initAndListen std::exception: Unable to acquire lock for lockfilepath: /home/dlpstats/nas-mnt/mongo-temp/data/db/mongod.lock
は役立ちませんが。 --dbpathなしでmongodコマンドを実行すると、サーバーは正常に起動し、古いデータベースに対してクエリを実行することができます。
私はあなたが上記のものを含む様々な許可を試みました。同じ結果。 – SemperFly
/etc/passwdのmongodbユーザーにシェルを設定し、そのユーザーに切り替えて、そのフォルダーに移動してファイルを作成してみてください。ファイルを作成できる場合は、アクセス権の問題ではありません。私はそれが強い気がします。 –
まだダイスはありません。ロックファイルを作成することはできますが、ロックを取得することはできません。 – SemperFly