Quantcast
Channel: TECH NOTES JOURNEY THROUGH A DECADE
Viewing all articles
Browse latest Browse all 29

Script to automatically partition a new disk and create LVM PV

$
0
0
It is a very common task to create a single partition on  whole disk  and create LVM PV, How to automate it?

fdisk doesn't support making partition in script mode, sfdisk can, but it is not as good as the powerful parted tool. parted can also optimize partition alignment automatically(parted -a optimal).


#!/bin/ksh
#Create a single primary partiton with whole disk size and create LVM PV on it
disk=$1
partno=1
if [[ -z $disk ]]; then
echo "Usage: $0 disk device name: e.g $0 /dev/sdb"
exit
fi


if [[ -e ${disk}${partno} ]]; then
echo "==> ${disk}${partno} already exist"
exit
fi

echo "==> Create MBR label"
parted -s $disk mklabel msdos
ncyl=$(parted $disk unit cyl print | sed -n 's/.*: \([0-9]*\)cyl/\1/p')

if [[ $ncyl != [0-9]* ]]; then
echo "disk $disk has invalid cylinders number: $ncyl"
exit
fi

echo "==> create primary parition $partno with $ncyl cylinders"
parted -a optimal $disk mkpart primary 0cyl ${ncyl}cyl
echo "==> set partition $partno to type: lvm "
parted $disk set $partno lvm on
partprobe > /dev/null 2>&1
echo "==> create PV ${disk}${partno} "
pvcreate ${disk}${partno}

Viewing all articles
Browse latest Browse all 29

Trending Articles