Hi Rene!
Given what you've said, the most likely cause is problems with the SAN or the VMWare environment. MongoDB is reporting that the file isn't visible to the process within the VM. That could mean one of many things:
- A (possibly transient) error on the SAN making that LUN unavailable
- A (possibly transient) error on the SAN making that file unavailable
- A (possibly transient) networking error so that an attempt to access that particular file fails
- A (possibly transient) OS error if the OS mistakenly thinks that the file does not exist
- A combination of any or all of the above
We generally recommend the following when using VMWare ESX:
- Do not over-allocate RAM
- Reserve all RAM that has been allocated to the VM running MongoDB
- If using a SAN, mount the SAN to the ESX host and expose the network storage to the guest as a local device
We generally recommend the following when using a SAN:
- Do not use NFS or CIFS as the network protocol. Use iSCSI, FiberChannel, or FiberChannel over Ethernet
- For best performance, do not share spindles between disks used by MongoDB with other disks; the LUNs that are used for MongoDB data and journal files should be dedicated solely for use by MongoDB nodes
- For high availability, each node in a replica set should use a LUN that maps to different physical disks; ideally, each node would be connected to a different SAN
I hope you find this useful in diagnosing your problem.
-William Z