Project

General

Profile

Actions

Bug #54328

open

Problems using OSDSpec with DB and WAL on same NVME device

Added by Adam Huffman about 2 years ago. Updated about 2 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
cephadm/osd
Target version:
-
% Done:

0%

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

Description

When provisioning a new cluster using Pacific 16.2.7, I find that in spite of using OSDSpec with cephadm for the addition of OSDs, a WAL device is not included and the WAL is instead saved on the data disks.
The data disks are HDDs, so obviously this is not desired.

Here is the output of a dry-run:

----------------------------+----------------------------------+----------+--------------+-----+ |SERVICE |NAME |HOST |DATA |DB |WAL |
----------------------------+----------------------------------+----------+--------------+-----+ |osd |default_drive_group |cepho-p000 |/dev/sda |/dev/nvme1n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdb |/dev/nvme1n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdc |/dev/nvme1n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdd |/dev/nvme1n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sde |/dev/nvme1n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdf |/dev/nvme1n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdg |/dev/nvme1n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdh |/dev/nvme1n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdi |/dev/nvme1n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdj |/dev/nvme0n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdk |/dev/nvme0n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdl |/dev/nvme0n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdm |/dev/nvme0n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdn |/dev/nvme0n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdo |/dev/nvme0n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdp |/dev/nvme0n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdq |/dev/nvme0n1 |- | |osd |default_drive_group |cepho-p000 |/dev/sdr |/dev/nvme0n1 |- |
----------------------------+----------------------------------+----------+--------------+-----+

Here is the OSDSpec file I used:

service_type: osd
service_id: default_drive_group
placement:
host_pattern: 'cepho-*'
spec:
data_devices:
rotational: 1
db_devices:
rotational: 0

Based on what it says at https://docs.ceph.com/en/latest/cephadm/services/osd/#the-simple-case I assumed that DB and WAL placement would be on the same non-rotational device.

I tried altering the file to include wal_devices too, but in this case it did not specify a DB device in the preview.
Hence, it appears to be offering either DB or WAL but not both.

Actions #1

Updated by Adam Huffman about 2 years ago

This afternoon I tried a new cluster with these settings from the Dashboard:

service_type: osd
service_id: dashboard-admin-1645460246886
service_name: osd.dashboard-admin-1645460246886
placement:
  host_pattern: '*'
spec:
  data_devices:
    rotational: true
  db_devices:
    model: SSDPE2KE032T8L
  filter_logic: AND
  objectstore: bluestore
  wal_devices:
    model: SSDPE2KE032T8L

following some suggestions on the mailing list that specifying the model instead of the rotational status worked better.
The result was similar - WAL on NVMe, DB on one of the data disks:

bluefs 1
bluefs_dedicated_db 0
bluefs_dedicated_wal 1
bluefs_single_shared_device 0
bluefs_wal_access_mode blk
bluefs_wal_block_size 4096
bluefs_wal_dev_node /dev/dm-3
bluefs_wal_devices nvme1n1
bluefs_wal_driver KernelDevice
bluefs_wal_partition_path /dev/dm-3
bluefs_wal_rotational 0
bluefs_wal_size 177809129472
bluefs_wal_support_discard 1
bluefs_wal_type ssd
bluestore_bdev_access_mode blk
bluestore_bdev_block_size 4096
bluestore_bdev_dev_node /dev/dm-2
bluestore_bdev_devices sda
bluestore_bdev_driver KernelDevice
bluestore_bdev_partition_path /dev/dm-2

Also, here's a friendlier rendering of the earlier dry-run output:

+---------+---------------------+----------------------------------+----------+--------------+-----+
|SERVICE  |NAME                 |HOST                              |DATA      |DB            |WAL  |
+---------+---------------------+----------------------------------+----------+--------------+-----+
|osd      |default_drive_group  |cepho-p000                        |/dev/sda  |/dev/nvme1n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdb  |/dev/nvme1n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdc  |/dev/nvme1n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdd  |/dev/nvme1n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sde  |/dev/nvme1n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdf  |/dev/nvme1n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdg  |/dev/nvme1n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdh  |/dev/nvme1n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdi  |/dev/nvme1n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdj  |/dev/nvme0n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdk  |/dev/nvme0n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdl  |/dev/nvme0n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdm  |/dev/nvme0n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdn  |/dev/nvme0n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdo  |/dev/nvme0n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdp  |/dev/nvme0n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdq  |/dev/nvme0n1  |-    |
|osd      |default_drive_group  |cepho-p000                        |/dev/sdr  |/dev/nvme0n1  |-    |
+---------+---------------------+----------------------------------+----------+--------------+-----+

Actions

Also available in: Atom PDF