#!/bin/bash # Requires: lvm2 parted set -eu get_uuid () { blkid -s UUID -o value $1 } disk_init () { local dev=$1 echo "INFO: Init devide $dev ..." pvcreate "$dev" local uuid=$(get_uuid "$dev") echo "INFO: Device id of $dev is $uuid" echo "INFO: Device path id is /dev/disk/by-id/lvm-pv-uuid-$uuid" } main () { local devices=$(ls -1 /dev/vd[a-z] | sort) for dev in $devices; do if ! blkid "$dev" &>/dev/null; then disk_init $dev else echo "INFO: Device path id for $dev: $(get_uuid $dev)" fi done partprobe } main $@