技术解析

有没有自动格盘挂载的开源 shell 脚本啊
0
2021-06-16 10:46:28
idczone
能够完成 parted+mkfs+更新 /etc/fstab+mount
主要获取盘符有点麻烦,没有思路
写过类似的,fdisk 格盘,获取盘符不就是 lsblk -xxx 么,然后 mkfs+mount 就行了

疯了吧,自动弄这个,万一挂错了,硬盘上的东西就全丢了

auto_fdisk.sh
github 搜,可以参考这个脚本,很稳。

自己写一个几分钟就搞定了

以前平台写的,凑活用的,盘符那一块你自己处理下
Vg_Name=datavg
Lv_Name=datalv
Lv_Path=/dev/$Vg_Name/$Lv_Name
Mount_Point=/data
let ms=`fdisk -l| grep '/dev/vdb' | awk '{print $3}'|awk -F. '{print $1}'`
if [ $ms -gt 2048 ]
then
parted -s /dev/vdb mklabel gpt
parted -s /dev/vdb mkpart primary 1 100%
fi
fdisk /dev/vdb << EOF
n
p
1

w
EOF
echo 'Disk /dev/vdb sucessful'
pvcreate /dev/vdb1>/dev/null
vgcreate $Vg_Name /dev/vdb1>/dev/null
lvcreate -l `vgdisplay datavg|grep 'Free'|cut -d ' ' -f14` -n $Lv_Name /dev/$Vg_Name>/dev/null
[ `uname -r |cut -d. -f1` -le 2 ] && mkfs.ext4 $Lv_Path>/dev/null || mkfs.xfs $Lv_Path>/dev/null
mkdir $Mount_Point
[ `uname -r |cut -d. -f1` -le 2 ] && echo "$Lv_Path $Mount_Point ext4 defaults 0 0">>/etc/fstab
[ `uname -r |cut -d. -f1` -ge 3 ] && echo "$Lv_Path $Mount_Point xfs defaults 0 0">>/etc/fstab
mount -a

你这心得多大敢这么搞

场景是新机器挂盘

第一步
parted /dev/sdb mklabel gpt mkpart primary 0% 100%
第二步
mkfs.ext4 -O ^has_journal /dev/sdb1
第三步
blkid (获取硬盘的 UUID)
第四步
vi /etc/fstab 加入
UUID='XXXXXXXX' /盘挂载的目录 ext4 defaults,_netdev 0 0
第五步
reboot

不要用盘符,用 UUID,就不会出错





感谢,我看一下~

人有多大胆,地有多大产

上面有人说了用 UUID,很对,这样你就不用纠结盘符字母了
甚至 fstab 都可以固化了
然后就是几个固化的文件和一个固化的脚本就完事了

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服