using ``vstart.sh``,
``--crimson``
- start ``crimson-osd`` instead of ``ceph-osd``
+ Start ``crimson-osd`` instead of ``ceph-osd``.
``--nodaemon``
- do not daemonize the service
+ Do not daemonize the service.
``--redirect-output``
- redirect the stdout and stderr of service to ``out/$type.$num.stdout``.
+ Tedirect the stdout and stderr of service to ``out/$type.$num.stdout``.
``--osd-args``
- pass extra command line options to crimson-osd or ceph-osd. It's quite
+ Pass extra command line options to crimson-osd or ceph-osd. It's quite
useful for passing Seastar options to crimson-osd. For instance, you could
use ``--osd-args "--memory 2G"`` to set the memory to use. Please refer
the output of::
for more Seastar specific command line options.
``--cyanstore``
- use CyanStore as the object store backend.
+ Use CyanStore as the object store backend.
``--bluestore``
- use the alienized BlueStore as the object store backend. This is the default
+ Use the alienized BlueStore as the object store backend. This is the default
setting, if not specified otherwise.
``--memstore``
- use the alienized MemStore as the object store backend.
+ Use the alienized MemStore as the object store backend.
+
+``--seastore``
+ Use SeaStore as the back end object store.
+
+``--seastore-devs``
+ Specify the block device used by SeaStore.
+
+``--seastore-secondary-devs``
+ Optional. SeaStore supports multiple devices. Enable this feature by
+ passing the block device to this option.
+
+``--seastore-secondary-devs-type``
+ Optional. Specify device type of secondary devices. When the secondary
+ device is slower than main device passed to ``--seastore-devs``, the cold
+ data in faster device will be evicted to the slower devices over time.
+ Valid types include ``HDD``, ``SSD``(default), ``ZNS``, and ``RANDOM_BLOCK_SSD``
+ Note secondary devices should not be faster than the main device.
``--seastore``
use SeaStore as the object store backend.
Where we assign 4 GiB memory, a single thread running on core-0 to crimson-osd.
+Another SeaStore example::
+
+ $ MGR=1 MON=1 OSD=1 MDS=0 RGW=0 ../src/vstart.sh -n -x \
+ --without-dashboard --seastore \
+ --crimson --redirect-output \
+ --seastore-devs /dev/sda \
+ --seastore-secondary-devs /dev/sdb \
+ --seastore-secondary-devs-type HDD
+
You could stop the vstart cluster using::
$ ../src/stop.sh --crimson
kstore_path=
declare -a block_devs
declare -a secondary_block_devs
+secondary_block_devs_type="SSD"
VSTART_SEC="client.vstart.sh"
--no-restart: dont restart process when using ceph-run
--jaeger: use jaegertracing for tracing
--seastore-devs: comma-separated list of blockdevs to use for seastore
- --seastore-secondary-des: comma-separated list of secondary blockdevs to use for seastore
+ --seastore-secondary-devs: comma-separated list of secondary blockdevs to use for seastore
+ --seastore-secondary-devs-type: device type of all secondary blockdevs. HDD, SSD(default), ZNS or RANDOM_BLOCK_SSD
--crimson-smp: number of cores to use for crimson
\n
EOF
parse_secondary_devs --seastore-devs "$2"
shift
;;
+ --seastore-secondary-devs-type)
+ secondary_block_devs_type="$2"
+ shift
+ ;;
--crimson-smp)
crimson_smp=$2
shift
fi
if [ -n "${secondary_block_devs[$osd]}" ]; then
dd if=/dev/zero of=${secondary_block_devs[$osd]} bs=1M count=1
- ln -s ${secondary_block_devs[$osd]} $CEPH_DEV_DIR/osd$osd/block.segmented.1
+ mkdir -p $CEPH_DEV_DIR/osd$osd/block.${secondary_block_devs_type}.1
+ ln -s ${secondary_block_devs[$osd]} $CEPH_DEV_DIR/osd$osd/block.${secondary_block_devs_type}.1/block
fi
fi
if [ "$objectstore" == "bluestore" ]; then