diff --git a/content/ceph-benchmarking/index.md b/content/ceph-benchmarking/index.md index 944b41b..d9c7fb7 100644 --- a/content/ceph-benchmarking/index.md +++ b/content/ceph-benchmarking/index.md @@ -9,4 +9,38 @@ categories = ["Homelab"] tags = ["Homelab", "Ceph"] +++ -TODO +## Setup everything for the Benchmarking +On a machine in the ceph-cluster already: +1. Generate a minimal ceph config using `ceph config generate-minimal-conf` +2. Create a user for Benchmarking + 1. Create a new user `ceph auth add client.linux_pc` + 2. Edit the caps for my use-case + - `mgr`: `profile rbd pool=test-rbd` + - `mon`: `profile rbd` + - `osd`: `profile rbd pool=test-rbd` + 3. Get the keyring configuration using `ceph auth get client.linux_pc` + +On the client machine doing the Benchmarking: +1. Install basic ceph tools `apt-get install -y ceph-common` +2. Load the rbd kernel module `modprobe rbd` +3. Setup local ceph config + - Copy the generated configuration to `/etc/ceph/ceph.conf` + - `chmod 644 /etc/ceph/ceph.conf` +4. Setup local ceph keyring + - Copy the keyring configuratio nto `/etc/ceph/ceph.client.linux_pc.keyring` + - `chmod 644 /etc/ceph/ceph.client.linux_pc.keyring` +5. Confirm your configuration is working by running `ceph -s -n client.linux_pc` + +Setup the benchmark itself: +1. `rbd create -n client.linux_pc --size 10G --pool test-rbd bench-volume` +2. `rbd -n client.linux_pc device map --pool test-rbd bench-volume` (which should create a new block device, likely `/dev/rbd0`) +3. `mkfs.ext4 /dev/rbd0` +4. `mkdir /mnt/bench` +5. `mount /dev/rbd0 /mnt/bench` + +## Benchmarks + +## TODO +- Try directly on the block device +- Try this using xfs instead of ext4 +- Try this with and without drive caches