udev挂载磁盘
本文档介绍 udev挂载磁盘 的相关内容。
/dev/vdb:/data/
ACTION=="add", KERNEL=="vd?", SUBSYSTEM=="block", RUN="/usr/bin/xxx.sh"
/usr/bin/add_block.sh
Mkfs="mkfs.xfs -f"
Type="xfs"
if cat /etc/redhat-release | grep 'CentOS release 6\.' &>/dev/null;then
Mkfs="mkfs.ext4"
Type="ext4"
fi
disk_maps="`curl -s http://1.2.3.4/latest/user-data | grep '^/dev/vd' | xargs`"
all_disks="`lsblk -dn | awk '{print $1}' | xargs`"
[ -z "${disk_maps}" -o -z "${all_disks}" -o -z "${Mkfs}" -o -z "${Type}" ] && return
for dk in ${all_disks}
do
df | grep "^/dev/${dk}" &>/dev/null && continue
ls /sys/class/block/${dk}/${dk}* &>/dev/null && continue
blkid /dev/${dk} &>/dev/null && continue
dk_mount_path="`echo ${disk_maps} | egrep -o \"/dev/${dk}:/[a-z0-9]+[/a-z0-9]*\" | cut -d: -f 2`"
${Mkfs} /dev/${dk}
dk_uuid="`blkid /dev/${dk} | cut -d'\"' -f 2`"
[ -z "${dk_uuid}" -o -z "${dk_mount_path}" ] && continue
[ -d "${dk_mount_path}" ] || mkdir -p ${dk_mount_path}
if ! cat /etc/fstab | grep -w "${dk_mount_path}" &>/dev/null; then
echo "UUID=${dk_uuid} ${dk_mount_path} ${Type} defaults 1 1" >> /etc/fstab
fi
mount -a
done
本文由作者按照 CC BY 4.0 进行授权