Project

General

Profile

Actions

Bug #16187

closed

The ceph OSD deamon is not activated with ext4 file system

Added by Anonymous almost 8 years ago. Updated almost 8 years ago.

Status:
Rejected
Priority:
High
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

Deploy Ceph within 3 ceph nodes according to the manual in http://docs.ceph.com/docs/master/start/quick-ceph-deploy/.
Ceph version is Jewel (ceph version 10.2.1 (3a66dd4f30852819c1bdaa8ec23c795d4ad77269)).
Ubuntu 16.04 is used in each node. The file sytem is ext4 as default.
After the deploy the ceph osd daemon does not start up.
The BUG has been seen in both X86 and AARCH64.
The reported error is as below:

2016-06-08 03:06:23.124444 ffffb3ef3000 0 ceph version 10.2.1 (3a66dd4f30852819c1bdaa8ec23c795d4ad77269), process ceph-osd, pid 3363
2016-06-08 03:06:23.125831 ffffb3ef3000 0 pidfile_write: ignore empty --pid-file
2016-06-08 03:06:23.437758 ffffb3ef3000 0 filestore(/var/lib/ceph/osd/ceph-0) backend generic (magic 0xef53)
2016-06-08 03:06:23.438154 ffffb3ef3000 -1 filestore(/var/lib/ceph/osd/ceph-0) WARNING: max attr value size (1024) is smaller than osd_max_object_name_len (2048). Your backend filesystem appears to not support attrs large enough to handle the configured max rados name size. You may get unexpected ENAMETOOLONG errors on rados operations or buggy behavior
2016-06-08 03:06:23.438912 ffffb3ef3000 0 genericfilestorebackend(/var/lib/ceph/osd/ceph-0) detect_features: FIEMAP ioctl is disabled via 'filestore fiemap' config option
2016-06-08 03:06:23.439118 ffffb3ef3000 0 genericfilestorebackend(/var/lib/ceph/osd/ceph-0) detect_features: SEEK_DATA/SEEK_HOLE is disabled via 'filestore seek data hole' config option
2016-06-08 03:06:23.439305 ffffb3ef3000 0 genericfilestorebackend(/var/lib/ceph/osd/ceph-0) detect_features: splice is supported
2016-06-08 03:06:23.574234 ffffb3ef3000 0 genericfilestorebackend(/var/lib/ceph/osd/ceph-0) detect_features: syncfs(2) syscall fully supported (by glibc and kernel)
2016-06-08 03:06:23.717666 ffffb3ef3000 0 filestore(/var/lib/ceph/osd/ceph-0) limited size xattrs
2016-06-08 03:06:23.782221 ffffb3ef3000 1 leveldb: Recovering log #529
2016-06-08 03:06:23.896505 ffffb3ef3000 1 leveldb: Delete type=3 #528

2016-06-08 03:06:23.896908 ffffb3ef3000 1 leveldb: Delete type=0 #529

2016-06-08 03:06:23.938134 ffffb3ef3000 0 filestore(/var/lib/ceph/osd/ceph-0) mount: enabling WRITEAHEAD journal mode: checkpoint is not enabled
2016-06-08 03:06:24.070596 ffffb3ef3000 -1 journal FileJournal::_open: disabling aio for non-block journal. Use journal_force_aio to force use of aio anyway
2016-06-08 03:06:24.070942 ffffb3ef3000 1 journal _open /var/lib/ceph/osd/ceph-0/journal fd 17: 5368709120 bytes, block size 4096 bytes, directio = 1, aio = 0
2016-06-08 03:06:24.120878 ffffb3ef3000 1 journal _open /var/lib/ceph/osd/ceph-0/journal fd 17: 5368709120 bytes, block size 4096 bytes, directio = 1, aio = 0
2016-06-08 03:06:24.146027 ffffb3ef3000 1 filestore(/var/lib/ceph/osd/ceph-0) upgrade
2016-06-08 03:06:24.146581 ffffb3ef3000 -1 osd.0 0 backend (filestore) is unable to support max object name[space] len
2016-06-08 03:06:24.146958 ffffb3ef3000 -1 osd.0 0 osd max object name len = 2048
2016-06-08 03:06:24.147090 ffffb3ef3000 -1 osd.0 0 osd max object namespace len = 256
2016-06-08 03:06:24.147205 ffffb3ef3000 -1 osd.0 0 (36) File name too long
2016-06-08 03:06:24.184133 ffffb3ef3000 1 journal close /var/lib/ceph/osd/ceph-0/journal
2016-06-08 03:06:24.249379 ffffb3ef3000 -1 ** ERROR: osd init failed: (36) File name too long

The ceph.conf is as below:
[global]
fsid = 6de1f037-356a-4aef-af09-d026f8b7203d
mon_initial_members = vm1
mon_host = 10.164.2.163
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
osd_pool_default_size = 2

Actions #1

Updated by Nathan Cutler almost 8 years ago

The Jewel release notes say: "We have revised our documentation to recommend against using ext4 as the underlying filesystem for Ceph OSD daemons due to problems supporting our long object name handling."

Actions #2

Updated by Anonymous almost 8 years ago

Does it mean if ext4 is used for OSD, the object name MUST less than 1024 bytes, is it true?

Actions #3

Updated by Nathan Cutler almost 8 years ago

Please read: http://docs.ceph.com/docs/jewel/rados/configuration/filesystem-recommendations/

where it says:

Starting with the Jewel release, the ceph-osd daemon will refuse to start if the configured max object name cannot be safely stored on ext4. If the cluster is only being used with short object names (e.g., RBD only), you can continue using ext4 by setting the following configuration option:

osd max object name len = 256
osd max object namespace len = 64

Note

This may result in difficult-to-diagnose errors if you try to use RGW or other librados clients that do not properly handle or politely surface any resulting ENAMETOOLONG errors.

Actions #4

Updated by Anonymous almost 8 years ago

Got it.
Thanks a lot.
So the BUG can be rejected.

Actions #5

Updated by Nathan Cutler almost 8 years ago

  • Project changed from 18 to Ceph
  • Status changed from New to Rejected
  • Assignee set to Nathan Cutler
Actions

Also available in: Atom PDF