01-linux磁盘管理-03-LV-逻辑卷

1. 相关命令

作用pv(物理卷)vg(卷组)lv(逻辑卷)
创建pvcreatevgcreatelvcreate
扫描更改pvscanvgscanlvscan
基本信息pvsvgslvs
详细信息pvdisplayvgdisplaylvdisplay
扩展——vgextendlvextend
删除pvremovevgremovelvremove
修改——vgchangelvchange
缩小————lvreduce

2. 创建lv

1)创建pv

# pvcreate /dev/vdb

2)创建vg

# vgcreate vg01 /dev/vdb /dev/vdc ……

3)创建lv

# lvcreate -L 1G -n lv01 vg01
  • 说明:
  • -L 指定分配给 lv空间大小。
  • -l PE数量,默认4M。
    vg是多个PE(块)组成的,而且每个vg块的PE最大数量是65534。查看PE可用pvdisplay。
  • -n, 指定lv名。

4)验证

#lvscan

5)格式化

# mkfs.ext4 /dev/vg01/lv01

等同于

# mkfs.ext4 /dev/mapper/vg01-lv01

6)挂载(见“linux基础-挂载”)

3. 扩展lv

1)扩展vg

# vgextend vg01 /dev/vdd

2)扩展lv

  • 给lv添加指定大小空间
# lvextend -L +1G /dev/vg01/lv01
  • 将vg的资源都给指定lv
# lvextend -l 100%vg /dev/vg01/lv02

或者

# lvcreate -l 100%vg -n ${lv_name} ${vg_name}

3)刷新

不刷新lvs命令可见扩容结果,但是df -Th 看不见。

# resize2shfs /dev/vg01/lv01

或者

# resize2fs /dev/vg01/lv01
  • 如果格式化的时候是xfs格式(比如centos的根目录),使用如下命令:
xfs_growfs /dev/centos/root

4. lv 快照

1)创建快照

# lvcreate -L 100M -s -n lv01_snap /dev/vg01/lv01

2)快照自动增长

# vim /etc/lvm/lvm.conf
snapshot_autoextend_threshold=70
snapshot_autoextend_percent=50

# service lvm2-monitor start

5. 改名

  • 语法
    # lvrename /dev/vg名/旧lv名 新lv名
  • 示例
# lvrename /dev/storage/pv_storage lv_storage

示例:见【备份服务器添加lv】第三步

6. FAQ

6.1 lv为xfs的格式时刷新

如系统盘的跟目录挂载为/,格式化方式为 xfs。

【报错】

不能用resize2shfs 刷新分区,因为它使用的是ext4,报错结果如下:

[root@vc-dev02 overlay2]# resize2fs /dev/centos/root
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block 当尝试打开 /dev/centos/root 时

###【解决】
需要用xfs_growfs命令刷新

# xfs_growfs /dev/mapper/centos-root

6.2 虚拟磁盘扩容后pv和vg扩容

  • 磁盘扩容后,pvs命令查看pv大小不变,使用以下命令刷新pv
# pvresize /dev/sdd1
  • vg大小随pv刷新而刷新
  • lv 还是要刷新的

7. 挂载脚本

用指定磁盘创建lv并挂载到目录

#!/bin/bash
############# 定义变量 ##########################
time_stamp=`date +%s`
echo "已有磁盘信息如下:"
fdisk -l |grep -e "/dev/sd" -e "/dev/vd"
read -p "请输入要挂载的磁盘(如:/dev/sdb) "  sd_name
if [ -z "${sd_name}" ]
  then
    sd_name="/dev/sdb"
fi

read -p "请输入磁盘要挂载位置的全路径(默认/data)" dir_name
if [ -z "${dir_name}" ]
  then
    dir_name=/data
fi


echo " ###### [ create pv ] ########### "
pvs
pvcreate ${sd_name}
pvs

echo " ############### create vg #################"
echo "目前vg信息如下:"
vgs
read -p  "请输入新vg名 (如:vg01) 1)不能和已有vg名重复  2) 直接回车默认 vg+时间戳 : " vg_name
if [ -z "${vg_name}" ]
  then
    vg_name=vg${time_stamp}
fi

vgcreate ${vg_name} ${sd_name}

echo "############# create lv #########################"
echo "目前lv信息如下:"
lvs
read -p  "请输入新lv名 (如:lv01) 1)不能和已有lv名重复  2) 直接回车默认 lv+时间戳 : " lv_name
if [ -z "${lv_name}" ]
  then
    lv_name=lv${time_stamp}
fi
lvcreate -l 100%vg -n ${lv_name} ${vg_name}

echo "############# 格式化 pv  #########################"
mkfs.ext4 /dev/${vg_name}/${lv_name}


echo "############# 挂载磁盘 #########################"
mkdir ${dir_name} -p
mount  /dev/${vg_name}/${lv_name} ${dir_name}

uuid=`blkid|grep ${vg_name}-${lv_name} |awk -F \" '{print $2}'`
echo "UUID=${uuid}      ${dir_name}     ext4    defaults        0 0" >> /etc/fstab

df -Th|grep ${dir_name}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玄德公笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值