Here is a little script to create a mount point using CSV file which has a mount point name, size, and VG name.

Caution : Use script on your own risk!
Do not use it on production servers. Test it and use it on newly built/dev/testing servers.
Below is the script code. Save it under /tmp/lvm_script.sh and also save your CSV file under the same directory with the name list.csv
CSV file format is mount point name,size in GB,VG name. For example : /data,10,data_vg
Script code :
#Script to create mount point using CSV file
#Author : Shrikant Lavhate (kerneltalks.com)
#Save CSV file as list.csv in current working directory with format mount point name,size in GB,VG name
chckfail()
{
if [ $? -ne 0 ];then
echo "Check error above. Halting..."
exit 1
fi
}
for i in `cat list.csv`
do
kt_mountname=`echo $i | cut -d, -f1`
kt_lvname=`echo $i |cut -d, -f1|cut -c 2-|tr / _`
kt_vgname=`echo $i | cut -d, -f3`
kt_lvsize=`echo $i | cut -d, -f2`
kt_lvsize="${kt_lvsize}G"
lvcreate -n $kt_lvname -L $kt_lvsize $kt_vgname >/dev/null
chckfail
mkfs.ext4 /dev/$kt_vgname/$kt_lvname >/dev/null
chckfail
mkdir -p $kt_mountname >/dev/null
chckfail
mount /dev/$kt_vgname/$kt_lvname $kt_mountname>/dev/null
chckfail
echo "/dev/$kt_vgname/$kt_lvname $kt_mountname ext4 defaults 0 0">>/etc/fstab
chckfail
done
Breaking the code :
Quick walk through above code.
- Part one is
chckfailfunction which used to check if the command ran is successful or not. If the command failed, it will stop the execution of the script and exits. - Variable part extracts mount point name, size, VG to be used details from CSV file. It also creates LV names out of mount point name in CSV
- Standard LVM commands to create LV, format it with EXT4, create mount point directory, and mount LV on it.
- Finally, it adds an entry to /etc/fstab for the persistent mount.
Modifying script for your requirement :
- If you are using size in MB then remove line
kt_lvsize="${kt_lvsize}G" - If you are using size in TB then replace
GwithTin above mentioned line. - If you are using filesystem other than
ext4then changemkfs.ext4&/etc/fstabcommand accordingly.