Project

General

Profile

Actions

Bug #8498

closed

udev rules not used on RHEL6/CentOS6

Added by Stefan Walter almost 10 years ago. Updated almost 9 years ago.

Status:
Can't reproduce
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

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.


Related issues 1 (0 open1 closed)

Has duplicate Ceph - Bug #11063: ceph-disk prepare fails on 2.6.32 / RHEL 6.5 Duplicate03/07/2015

Actions
Actions #1

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?

Actions #2

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?

Actions #3

Updated by Sage Weil about 9 years ago

  • Status changed from Need More Info to Can't reproduce
Actions #4

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

Actions #5

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.

Actions #6

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 :-)

Actions

Also available in: Atom PDF