Skip to content

Instantly share code, notes, and snippets.

@furlongm
Last active November 9, 2022 13:41
Show Gist options
  • Save furlongm/55c0e9a86f41db3c9217c725a4a23bea to your computer and use it in GitHub Desktop.
Save furlongm/55c0e9a86f41db3c9217c725a4a23bea to your computer and use it in GitHub Desktop.
#!/bin/bash
num_partitions=16
dev=/dev/nvme0n1
# to mount disks:
# ceph-disk list | grep osd\. | awk '{print $1, $7}' | sed -e "s/osd\./\/var\/lib\/ceph\/osd\/ceph\-/"
let size=$(sudo parted ${dev} print | grep "Disk ${dev}" | sed -e "s/Disk.*: //" -e "s/GB//")/num_partitions
sudo parted -s ${dev} mklabel gpt
osds=$(mount | grep ceph\- | sed -e "s/.*ceph\-//" -e "s/ .*//")
start=0
part=1
for osd in ${osds} ; do
let end=${start}+${size}
uuid=$(sudo cat /var/lib/ceph/osd/ceph-${osd}/journal_uuid)
sudo parted -a opt -s ${dev} mkpart primary ${start}G ${end}G
sudo sgdisk -u ${part}:${uuid} -t ${part}:45B0969E-9B03-4F30-B4C6-B4B80CEFF106 ${dev}
sudo ceph-osd --mkjournal -i ${osd}
sudo systemctl restart ceph-osd@${osd}
let part=part+1
start=${end}
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment