Introduction
This is a continuation of the radosgw post I made earlier in the year. The deal here is I created the cluster with x86 nodes for OSDs and I would like to be able to add a pi4 in the mix.
Disclaimer
I am only sharing what worked for me. I am assuming you know what you are doing and that you have backups.
What you will need
- Raspberry Pi 4 (I have the 4GB variant)
- An existing cluster
- Have your ceph.conf config set up at /etc/ceph like you did for the other nodes
Preparation
Detailed steps are in the previous article. Please refer to that. For summary, it boils down to the ff. steps:
- Update the firmware and kernel on the Pi
- Use the 64-bit kernel
- Installing Docker
Running the OSD container
I use bluestore in this example. I activated the actual disk (lvm prepare) on another computer and then plugged it into the pi. I have prepared a disk before using a docker image on the pi, but that proved to be more frustrating than just using a normal PC or even VM.
$ docker run -d --net=host --restart=always --privileged=true --pid=host -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph/ -v /dev/:/dev/ -v /run/udev/:/run/udev/ -e OSD_DEVICE=/dev/disk/by-id/ata-TOSHIBA_XXXXXXX_XXXXX -e OSD_TYPE=disk -e OSD_BLUESTORE=1 -e OSD_ID=0 ceph/daemon:v5.0.8-stable-5.0-octopus-centos-8-aarch64 osd_ceph_volume_activate
Verify
The docker ps command should show the OSD running. If it stopped and failed, try docker ps -a
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS ...
<CONTAINER ID> ceph/daemon:v5.0.11-stable-5.0-octopus-centos-8-aarch64 "/opt/ceph-container…" 6 days ago Up 6 days
Trouble? Try checking the logs
$ docker logs -f <CONTAINER ID>