From 0dc5b76e2f21d496eefc888906bbf4acfb53e0ac Mon Sep 17 00:00:00 2001 From: chunmei-liu Date: Tue, 25 May 2021 13:34:00 -0700 Subject: [PATCH] crimson/seastore: add --seastore-devs in vstart.sh to support /dev/xxx as seastore device Signed-off-by: chunmei-liu --- src/vstart.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/vstart.sh b/src/vstart.sh index ed5602931d24b..59dbf62b4b62c 100755 --- a/src/vstart.sh +++ b/src/vstart.sh @@ -178,6 +178,7 @@ fi filestore_path= kstore_path= bluestore_dev= +seastore_dev= VSTART_SEC="client.vstart.sh" @@ -239,6 +240,7 @@ usage=$usage"\t--inc-osd: append some more osds into existing vcluster\n" usage=$usage"\t--cephadm: enable cephadm orchestrator with ~/.ssh/id_rsa[.pub]\n" usage=$usage"\t--no-parallel: dont start all OSDs in parallel\n" usage=$usage"\t--jaeger: use jaegertracing for tracing\n" +usage=$usage"\t--seastore-devs: comma-separated list of blockdevs to use for seastore\n" usage_exit() { printf "$usage" @@ -433,6 +435,16 @@ case $1 in --without-dashboard) with_mgr_dashboard=false ;; + --seastore-devs) + IFS=',' read -r -a seastore_dev <<< "$2" + for dev in "${seastore_dev[@]}"; do + if [ ! -b $dev -o ! -w $dev ]; then + echo "All --seastore-devs must refer to writable block devices" + exit 1 + fi + done + shift + ;; --bluestore-spdk) [ -z "$2" ] && usage_exit IFS=',' read -r -a bluestore_spdk_dev <<< "$2" @@ -903,6 +915,10 @@ EOF ln -s $filestore_path $CEPH_DEV_DIR/osd$osd elif [ -n "$kstore_path" ]; then ln -s $kstore_path $CEPH_DEV_DIR/osd$osd + elif [ -n "${seastore_dev[$osd]}" ]; then + mkdir -p $CEPH_DEV_DIR/osd$osd + dd if=/dev/zero of=${seastore_dev[$osd]} bs=1M count=1 + ln -s ${seastore_dev[$osd]} $CEPH_DEV_DIR/osd$osd/block else mkdir -p $CEPH_DEV_DIR/osd$osd if [ -n "${bluestore_dev[$osd]}" ]; then -- 2.39.5