03. LV-逻辑卷

1. 相关命令

作用 pv(物理卷) vg(卷组) lv(逻辑卷)
创建 pvcreate vgcreate lvcreate
扫描更改 pvscan vgscan lvscan
基本信息 pvs vgs lvs
详细信息 pvdisplay vgdisplay lvdisplay
扩展 —— vgextend lvextend
删除 pvremove vgremove lvremove
修改 —— vgchange lvchange
缩小 —— —— 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)刷新

# resize2shfs /dev/vg01/lv01

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

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
需要用xfs_growfs命令刷新

# xfs_growfs /dev/mapper/centos-root

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}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 配置分区大小 根据前面介绍的分区命令就可以创建分区了,不过需要注意,我们要为某些特定挂载点设置合适的分区大小。Ce...
    rosy_dawn阅读 8,960评论 0 0
  • 1、描述GPT是什么,该怎么使用 (转载)GPT是GUIDPartition Table,GUID分区表。GUID...
    like5453阅读 5,333评论 0 2
  • lvm逻辑卷管理 功能: 1.磁盘整合 2.在线扩容 pv:物理卷在逻辑卷管理系统最底层,可为整个物理硬盘或者实际...
    不排版阅读 3,909评论 0 0
  • LVM 的全名是 Logical Volume Manager,中文可以翻译作逻辑卷轴管理员。LVM利用Linux...
    董江伟阅读 5,203评论 0 1
  • 在我们使用Linux的过程中难免会对现有的RAID磁盘阵列组的硬盘管理空间进行增加、减小操作等,如果当初安装系统时...
    扎啤阅读 4,320评论 0 0