Replace (one or more!) ceph journal disk
Simple script used to replace journal disk. I regenerate journal UUID for convenience but you can also keep as it is.
The layout is the following :
disk /dev/sda : 5 journal partitions -> 5 OSD (OSD.40 to OSD.44)
disk /dev/sdb : 5 journal partitions -> 5 OSD (OSD.45 to OSD.49)
disk /dev/sdc : 5 journal partitions -> 5 OSD (OSD.50 to OSD.59)
First, set the noout flag to prevent any data migration.
ceph osd set noout
Then stop each OSD which are related to the first journal disk.
#!/bin/bash
partitions="1 2 3 4 5"
num=40
for partition in $partitions
do
systemctl stop ceph-osd@$num.service
ceph-osd -i $num --flush-journal
((num++))
done
Hotswap the first journal disk, then execute the following script :
#!/bin/bash
partitions="1 2 3 4 5"
# First OSD number
num=40
# Disk
disk=sda
for partition in $partitions
do
journal_uuid=$(uuidgen)
sgdisk --new=$partition:0:+5120M --change-name=$partition:'ceph journal' --partition-guid=$partition:$journal_uuid --typecode=$partition:$journal_uuid --mbrtogpt -- /dev/$disk
partprobe /dev/$disk
mv /var/lib/ceph/osd/ceph-$num/journal /var/lib/ceph/osd/ceph-$num/journal.old
ln -s /dev/disk/by-partuuid/$journal_uuid /var/lib/ceph/osd/ceph-$num/journal
mv /var/lib/ceph/osd/ceph-$num/journal_uuid /var/lib/ceph/osd/ceph-$num/journal_uuid.old
echo $journal_uuid > /var/lib/ceph/osd/ceph-$num/journal_uuid
chown -R ceph. /var/lib/ceph/osd/ceph-$num/journal
chown ceph. /var/lib/ceph/osd/ceph-$num/journal_uuid
ceph-osd -i $num --mkjournal
chown ceph. /dev/$disk$partition
systemctl start ceph-osd@$num.service
((num++))
done
Process if necessary with sdb and sdc and adjust the OSD start number in the script.
Last step : unset the noout flag
Each season brings new shirt details that supporters compare with earlier designs. Anyone checking fabric and breathability can place Argentina national team jersey(camiseta de la selección argentina) within the relevant shirt range. Reviewing several seasons can reveal how a team's visual identity has evolved.
ceph osd unset noout
Source file :
Github link
Reference:
Sébastien Han blog