From 59dd41027de391caf2d7f1b0ee73a87092b620c2 Mon Sep 17 00:00:00 2001 From: Pere Diaz Bou Date: Wed, 27 Oct 2021 13:20:04 +0200 Subject: [PATCH] cephadm/box: add no-tmpfs flag prepare osd bluestore Signed-off-by: Pere Diaz Bou --- src/ceph-volume/ceph_volume/devices/lvm/common.py | 6 ++++++ src/ceph-volume/ceph_volume/devices/lvm/prepare.py | 7 +++++-- src/cephadm/box/start | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/ceph-volume/ceph_volume/devices/lvm/common.py b/src/ceph-volume/ceph_volume/devices/lvm/common.py index 752f354f35aac..b7ce6473dd7a8 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/common.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/common.py @@ -123,6 +123,12 @@ bluestore_args = { 'type': int, 'default': 1, }, + '--no-tmpfs': { + 'action': 'store_true', + 'dest': 'no_tmpfs', + 'help': ('Disable tmpfs osd data directory with bluestore.' + 'Useful if you want to run lvm preprare from cephadm'), + }, } filestore_args = { diff --git a/src/ceph-volume/ceph_volume/devices/lvm/prepare.py b/src/ceph-volume/ceph_volume/devices/lvm/prepare.py index 3121ede3bf51f..6567c78d9f5ec 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/prepare.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/prepare.py @@ -81,7 +81,7 @@ def prepare_filestore(device, journal, secrets, tags, osd_id, fsid): ) -def prepare_bluestore(block, wal, db, secrets, tags, osd_id, fsid): +def prepare_bluestore(block, wal, db, secrets, tags, osd_id, fsid, tmpfs=True): """ :param block: The name of the logical volume for the bluestore data :param wal: a regular/plain disk or logical volume, to be used for block.wal @@ -104,7 +104,7 @@ def prepare_bluestore(block, wal, db, secrets, tags, osd_id, fsid): db = prepare_dmcrypt(key, db, 'db', tags) # create the directory - prepare_utils.create_osd_path(osd_id, tmpfs=False) + prepare_utils.create_osd_path(osd_id, tmpfs=tmpfs) # symlink the block prepare_utils.link_block(block, osd_id) # get the latest monmap @@ -384,6 +384,8 @@ class Prepare(object): tags['ceph.type'] = 'block' block_lv.set_tags(tags) + tmpfs = not self.args.no_tmpfs + prepare_bluestore( block_lv.lv_path, wal_device, @@ -392,6 +394,7 @@ class Prepare(object): tags, self.osd_id, osd_fsid, + tmpfs=tmpfs ) def main(self): diff --git a/src/cephadm/box/start b/src/cephadm/box/start index 7d12e41db41ec..b5883eeb932cc 100755 --- a/src/cephadm/box/start +++ b/src/cephadm/box/start @@ -37,7 +37,7 @@ vgchange --refresh for((i=0;i<$NUM_OSDS;i++)); do echo "Creating osd.${i}" # create osd folder - $CEPHADM_PATH ceph-volume --shared_ceph_folder /ceph lvm create --bluestore --data "/dev/vg1/lv${i}" --no-systemd + $CEPHADM_PATH ceph-volume --shared_ceph_folder /ceph lvm create --bluestore --no-tmpfs --data "/dev/vg1/lv${i}" --no-systemd echo "Deploying osd.${i}..." # deploy osd with osd data folder $CEPHADM_PATH deploy --name "osd.${i}" -- 2.39.5