Bug #8498
closedudev rules not used on RHEL6/CentOS6
0%
Description
I am running OSDs with a journal on a dedicated, raw SSD
and let ceph-disk create the journal partitions. When
I boot the node the OSD does not start because the
/dev/disk/by-partuuid directory is missing. After
manually issuing a 'udevadm trigger' I can successfully
start the daemon with 'service ceph start'.
The easiest fix is to add a line 'udevadm trigger'
somewhere in the 'start' section of /etc/init.d/ceph.
This is what I'm currently doing to solve this issue.
Updated by Sage Weil almost 10 years ago
- Status changed from New to Need More Info
There should be a rhel udev rule set up that hacks around the old version of blkid... see 60-ceph-partuuid-workaround.rules . is that present?
Updated by Stefan Walter almost 10 years ago
Yes, it is present as /lib/udev/rules.d/60-ceph-partuuid-workaround.rules. The rules seem to work, it's just that they are not applied automatically when the SSD is scanned by the kernel. A 'udevadm trigger' immediately creates the links. Could it be that these rules need to go to the initial ramdisk?
Updated by Sage Weil about 9 years ago
- Status changed from Need More Info to Can't reproduce
Updated by Loïc Dachary about 9 years ago
A similar problem showed up, on firefly v0.80.9, rhel 6.5. It turned out that the journal partition code was incorrect.
$ sgdisk --info 1 /dev/sdr Partition GUID code: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft basic data) Partition unique GUID: 0A45987B-DC77-4816-B506-DEE0DC60AE9E First sector: 18747392 (at 8.9 GiB) Last sector: 468707327 (at 223.5 GiB) Partition size: 449959936 sectors (214.6 GiB) Attribute flags: 0000000000000000 Partition name: 'primary'
However, even after fixing the code the osd did not came up at boot time. Adding
echo udevadm trigger --sysname-match=sd* >> /etc/rc.local
worked around the problem.
# uname 2.6.32-504.3.3.el6.x86_64 #1 SMP Fri Dec 12 16:05:43 EST 2014 x86_64 x86_64 x86_64 GNU/Linux
Updated by Srikanth Madugundi almost 9 years ago
I see the same issue on one of the production host, rebooting the host deletes '/dev/disk/by-partuuid/'
Running "sudo partprobe" creates the files under by-partuuid.
Can this command be added to /etc/init.d/ceph script to be invoked during rebooot.
Updated by Loïc Dachary almost 9 years ago
- Regression set to No
I see the same issue on one of the production host, rebooting the host deletes '/dev/disk/by-partuuid/'
this is expected. It is populated by ceph (there is no default udev rule to do that). Is ceph enabled at boot time on your machine ? Do you maybe have competing automation software that sets the partition type of the disk to something that Ceph does not recoginize ? Please provide as much details as possible, without copy/paste of screen output and actual command lines being typed. It would be most helpful :-)