Skip to content

Instantly share code, notes, and snippets.

@linuxkidd
Last active March 22, 2019 19:44
Show Gist options
  • Save linuxkidd/a6ef56e003fa365e70eefea56bf458f0 to your computer and use it in GitHub Desktop.
Save linuxkidd/a6ef56e003fa365e70eefea56bf458f0 to your computer and use it in GitHub Desktop.
#!/bin/bash
if [ -z "$2" ]; then
echo Please provide OSD data partition and Journal partitions
echo
echo Usage:
echo ./$0 /dev/sde1 /dev/sdb1
echo
exit 1
fi
myuuid=$(uuidgen)
myosdid=$(ceph osd create ${myuuid})
osdpath=/var/lib/ceph/osd/ceph-${myosdid}
if [ ! -e ${osdpath} ]; then
mkdir ${osdpath}
fi
mount -o noatime,nodiratime $1 ${osdpath}
ceph-osd -i ${myosdid} --mkfs --mkkey --osd-uuid ${myuuid} --osd-journal $2
if [ ! -e ${osdpath}/journal ]; then
journaluuid=$(blkid $2 | awk '{split($3,a,"\""); print a[2]}')
ln -s /dev/disk/by-partuuid/${journaluuid} ${osdpath}/journal
echo ${journaluuid} > ${osdpath}/journal_uuid
fi
sgdisk --typecode=${2: -1}:45b0969e-9b03-4f30-b4c6-b4b80ceff106 -- ${2%?}
ceph-osd -i ${myosdid} --mkjournal
chown -R ceph:ceph /var/lib/ceph/osd/ceph-${myosdid}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment