Some applications require direct access to a block device, without an intermediate file system. Some Oracle and MySQL configurations are an example, as are some Xen setups, or IET. Can you do this with DRBD? Sure you can.
However, you need to fulfill two prerequisites:
- Your application can’t access DRBD while it’s in the
Secondaryrole. So, you must make sure DRBD is
Primarybefore your application attempts using that device.
- The user in whose context your application runs needs read/write access to that device.
Your cluster manager, when configured properly, normally takes care of item #1 for you. #2 is a little trickier:
Normally, DRBD’s device nodes are owned by
root:disk, with permission bits set to
rw-rw----). So in order to allow your application to use the device, you have two options:
- Add your application user to the disk group (or whatever group owns the
/dev/drbd*devices in your preferred distribution)
- Change your permissions as set by udev. There are a number of ways to do this, but my preferred way is to add a file in
/etc/udev/rules.d, containing a rule that matches
When you’ve implemented this, as always, don’t forget to test, test, and test. No, one more time.