#!/bin/bash # Bailey Allison #v7 OS=$(cat /etc/os-release | grep -w NAME) if [ "$OS" == 'NAME="Rocky Linux"' ]; then dnf install ceph-mds elif [ "$OS" == 'NAME="Ubuntu"' ]; then apt install ceph-mds else echo "OS is not Ubuntu or Rocky Linux" exit fi # Check for ceph.conf and admin keyring if [[ ! -f "/etc/ceph/ceph.conf" || ! -f "/etc/ceph/ceph.client.admin.keyring" ]]; then echo "ceph conf and admin keyring not on host, exiting" exit 1 fi # Gather current number of MDSs and add 1 BASE_HOSTNAME=$(hostname -s) HOSTNAME=$BASE_HOSTNAME COUNTER=1 DIR="/var/lib/ceph/mds/ceph-$HOSTNAME" while [ -d "$DIR" ]; do HOSTNAME="${BASE_HOSTNAME}-${COUNTER}" DIR="/var/lib/ceph/mds/ceph-$HOSTNAME" ((COUNTER++)) done # Create Keyring Directory and make Keyring echo "Creating Keyring" mkdir "$DIR" chown ceph:ceph "$DIR" ceph auth get-or-create mds.$HOSTNAME mon 'profile mds' mgr 'profile mds' mds 'allow *' osd 'allow *' > "$DIR/keyring" chown ceph:ceph "$DIR/keyring" # Open Firewall ports echo "Opening Firewall" firewall-cmd --add-service={ceph,ceph-mon} --permanent firewall-cmd --reload # Start MDS Service echo "Starting MDS service" systemctl enable --now ceph-mds@$HOSTNAME ceph -s echo -e "\e[1;31mmds-$HOSTNAME\e[0m has been \e[1;32madded\e[0m"