Skip to content

Instantly share code, notes, and snippets.

@omame
Last active December 28, 2015 23:59
Show Gist options
  • Save omame/7582614 to your computer and use it in GitHub Desktop.
Save omame/7582614 to your computer and use it in GitHub Desktop.
The partitions on 512e Advanced Format drives need to start on a sector which is a multiple of 8 (4KB / 512B = 8) otherwise the drive performance will be quite poor. The first 33 bytes are reserved for the GPT label, same goes for the last 33 bytes, which are reserved too. This script scans for Toshiba DT01ACA300 drives on a perc800/810 controll…
pgrep -cf swift-object-server &>/dev/null && exit 1
for controller in `omreport storage controller | grep '^ID' | awk '{print $NF}' | grep -v '^0'`
do
for unit in {0..44}
do
/opt/dell/srvadmin/bin/omreport storage pdisk controller=${controller} vdisk=${unit} | grep -q "TOSHIBA DT01ACA300" && grep "c${controller}u${unit} " /etc/fstab | grep -vq inode64
if [ $? -eq 0 ]
then
echo "Starting to re-align c${controller}u${unit}"
sudo umount /srv/node/c${controller}u${unit}
if [ $? -eq 0 ]
then
sudo parted -s /dev/c${controller}u${unit}p rm 1
sudo parted -s /dev/c${controller}u${unit}p mkpart primary xfs 40s 5859442651s >/dev/null
sudo mkfs.xfs -b size=4096 -s size=4096 -d su=64k,sw=1 -f -L c${controller}u${unit} /dev/c${controller}u${unit}p1 >/dev/null
tmp=/tmp/asd; awk "/LABEL=c${controller}u${unit}/ { gsub(/^#/, \"\") }; { print }" /etc/fstab | sed "s/c${controller}u${unit} xfs defaults/c${controller}u${unit} xfs defaults,inode64/" > $tmp && sudo mv $tmp /etc/fstab && sudo chown root.root /etc/fstab
sudo mount LABEL=c${controller}u${unit}
sudo chown swift.swift /srv/node/c${controller}u${unit}
echo "Done with c${controller}u${unit}"
else
echo "Got problems trying to umount c${controller}u${unit}!"
fi
else
echo "No need to re-align c${controller}u${unit}"
fi
done
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment