磁盘相关操作

该文描述了在Linux环境中如何根据挂载点筛选卷组逻辑卷(vglv),并展示了使用命令行工具如`df-h`,`awk`,`pvdisplay`,`lvs`进行操作。此外,还详细阐述了如何通过输入物理卷(PV)找到所属的卷组(VG),列出VG的所有逻辑卷(LV),以及卸载挂载点和删除PV、VGLV的流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

根据挂载点筛选所属vg lv

dir="/vg/lv1"
df -h | awk -v var=$dir '$6 == var {print $1}'

根据vg lv 筛选挂载点

vg_name="vg"
lv_name="lv1"
df -h | awk -v var="/dev/mapper/$vg_name-$lv_name" '$1 == var {print $6}'

输入一个pv查找所属的vg

pvdisplay /dev/sdb | awk '/VG Name/ {print $3}'

查找vg的所有lv

lvs --noheadings -o lv_name /dev/vg

给定分区,卸载挂载点,删除pv vg lv

disk="sdb"
vg_name=$(pvdisplay /dev/"$disk" | awk '/VG Name/ {print $3}')
lvs_name=$(lvs | awk -v var=$vg_name '$2 == var {print $1}')
lvs_name=$(echo "$lvs_name" | tr '[[:space:]]+' '\n')
for lv_name in $lvs_name
do
    dir_lv=$(df -h | awk -v var="/dev/mapper/$vg_name-$lv_name" '$1 == var {print $6}')
    echo dir_lv  is $dir_lv 
    echo var is "/dev/mapper/$vg_name-$lv_name"
    if [[ "$dir_lv" =~ [[:print:]] ]]
    then
     echo "umount $dir_lv"
     umount $dir_lv
    fi
done
for lv_name in $lvs_name
do
    echo /dev/"$vg_name"/"$lv_name"
    lvremove -y /dev/"$vg_name"/"$lv_name"
done
vgremove $vg_name
pvremove /dev/$disk
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值