mirror of
https://github.com/ceph/ceph
synced 2024-12-22 03:22:00 +00:00
d4869ac9e4
A multipath device is detected because there is a /sys/dev/block/M:m/dm/uuid file with the mpath- prefix (or part\w+-mpath prefix). When ceph-disk prepares data or journal devices on a multipath device, it sets the partition typecode to MPATH_JOURNAL_UUID, MPATH_OSD_UUID and MPATH_TOBE_UUID to a) help the udev rules distinguish them from other devices in devicemapper b) allow ceph-disk to fail if an attempt is made to activate a device with this type without accessing it via a multipath device The 95-ceph-osd.rules call ceph-disk activate on partitions of type MPATH_JOURNAL_UUID, MPATH_OSD_UUID. It relies on ceph-disk to do nothing if the device is not accessed via multipath. http://tracker.ceph.com/issues/11881 Fixes: #11881 Signed-off-by: Loic Dachary <ldachary@redhat.com>
54 lines
2.5 KiB
Plaintext
54 lines
2.5 KiB
Plaintext
# activate ceph-tagged partitions
|
|
ACTION=="add", SUBSYSTEM=="block", \
|
|
ENV{DEVTYPE}=="partition", \
|
|
ENV{ID_PART_ENTRY_TYPE}=="4fbd7e29-9d25-41b8-afd0-062c0ceff05d", \
|
|
RUN+="/usr/sbin/ceph-disk activate /dev/$name"
|
|
|
|
# activate ceph-tagged partitions
|
|
ACTION=="add", SUBSYSTEM=="block", \
|
|
ENV{DEVTYPE}=="partition", \
|
|
ENV{ID_PART_ENTRY_TYPE}=="45b0969e-9b03-4f30-b4c6-b4b80ceff106", \
|
|
RUN+="/usr/sbin/ceph-disk activate-journal /dev/$name"
|
|
|
|
# activate multipath ceph-tagged partitions
|
|
ACTION=="add", SUBSYSTEM=="block", \
|
|
ENV{ID_PART_ENTRY_TYPE}=="4fbd7e29-8ae0-4982-bf9d-5a8d867af560", \
|
|
RUN+="/usr/sbin/ceph-disk activate /dev/$name"
|
|
|
|
# activate multipath ceph-tagged partitions
|
|
ACTION=="add", SUBSYSTEM=="block", \
|
|
ENV{ID_PART_ENTRY_TYPE}=="45b0969e-8ae0-4982-bf9d-5a8d867af560", \
|
|
RUN+="/usr/sbin/ceph-disk activate-journal /dev/$name"
|
|
|
|
# Map journal if using dm-crypt and plain
|
|
ACTION=="add" SUBSYSTEM=="block", \
|
|
ENV{DEVTYPE}=="partition", \
|
|
ENV{ID_PART_ENTRY_TYPE}=="45b0969e-9b03-4f30-b4c6-5ec00ceff106", \
|
|
RUN+="/sbin/cryptsetup --key-file /etc/ceph/dmcrypt-keys/$env{ID_PART_ENTRY_UUID} --key-size 256 create $env{ID_PART_ENTRY_UUID} /dev/$name"
|
|
|
|
# Map journal if using dm-crypt and luks
|
|
ACTION=="add" SUBSYSTEM=="block", \
|
|
ENV{DEVTYPE}=="partition", \
|
|
ENV{ID_PART_ENTRY_TYPE}=="45b0969e-9b03-4f30-b4c6-35865ceff106", \
|
|
RUN+="/sbin/cryptsetup --key-file /etc/ceph/dmcrypt-keys/$env{ID_PART_ENTRY_UUID}.luks.key luksOpen /dev/$name $env{ID_PART_ENTRY_UUID}"
|
|
|
|
# Map data device and
|
|
# activate ceph-tagged partitions
|
|
# for dm-crypted data devices and plain
|
|
ACTION=="add" SUBSYSTEM=="block", \
|
|
ENV{DEVTYPE}=="partition", \
|
|
ENV{ID_PART_ENTRY_TYPE}=="4fbd7e29-9d25-41b8-afd0-5ec00ceff05d", \
|
|
RUN+="/sbin/cryptsetup --key-file /etc/ceph/dmcrypt-keys/$env{ID_PART_ENTRY_UUID} --key-size 256 create $env{ID_PART_ENTRY_UUID} /dev/$name", \
|
|
RUN+="/bin/bash -c 'while [ ! -e /dev/mapper/$env{ID_PART_ENTRY_UUID} ];do sleep 1; done'", \
|
|
RUN+="/usr/sbin/ceph-disk activate /dev/mapper/$env{ID_PART_ENTRY_UUID}"
|
|
|
|
# Map data device and
|
|
# activate ceph-tagged partitions
|
|
# for dm-crypted data devices and luks
|
|
ACTION=="add" SUBSYSTEM=="block", \
|
|
ENV{DEVTYPE}=="partition", \
|
|
ENV{ID_PART_ENTRY_TYPE}=="4fbd7e29-9d25-41b8-afd0-35865ceff05d", \
|
|
RUN+="/sbin/cryptsetup --key-file /etc/ceph/dmcrypt-keys/$env{ID_PART_ENTRY_UUID}.luks.key luksOpen /dev/$name $env{ID_PART_ENTRY_UUID}", \
|
|
RUN+="/bin/bash -c 'while [ ! -e /dev/mapper/$env{ID_PART_ENTRY_UUID} ];do sleep 1; done'", \
|
|
RUN+="/usr/sbin/ceph-disk activate /dev/mapper/$env{ID_PART_ENTRY_UUID}"
|