
自动创建linux逻辑卷及扩容
物理卷 (PV) 由物理分区创建而成,PV是LVM管理的最基本单元。 卷组 (VG) 由多个物理卷组成的逻辑容器,可以将物理卷扩展到多个硬盘。 逻辑卷 (LV) 从卷组中划分出的逻辑容器,可以根据需求调整大小。
发布日期:2021-05-18 03:47:42
浏览次数:14
分类:精选文章
本文共 2641 字,大约阅读时间需要 8 分钟。
创建并管理Linux逻辑卷的详细指南
摘要
对于每一位运维人员来说,创建Linux逻辑卷是基础操作之一。本文将详细介绍如何创建逻辑卷并实现自动化操作,并附带实际案例说明。
LVM概述
LVM(Logical Volume Manager,逻辑卷管理器)是一种基于硬盘分区之上、文件系统之下的一种逻辑层,它的主要优势在于能够对磁盘进行动态管理。通过LVM,我们可以灵活配置和扩展逻辑卷,同一卷组中的逻辑卷可以动态调整大小,无需重新分配存储空间。
核心概念
创建逻辑卷步骤指南
1. 创建物理分区
通过fdisk命令创建硬盘分区:
# 列出当前硬盘分区情况$ lsblk
或者
# 使用fdisk分区硬盘$ fdisk /dev/sdb
创建完成后,例如:
# 创建分区 /dev/sdb1 和 /dev/sdb2
2. 创建物理卷
# 创建物理卷$ pvcreate /dev/sdb1$ pvdisplay # 查看物理卷状态$ pvremove /dev/sdb1 # 删除物理卷
3. 创建卷组
# 创建卷组 data_vg,包含物理卷 /dev/sdb1 和 /dev/sdb2$ vgcreate -n data_vg /dev/sdb1 /dev/sdb2$ vgdisplay # 查看卷组状态$ vgremove data_vg # 删除卷组
4. 创建逻辑卷
# 创建逻辑卷,例如大小为 10G 的 lv01$ lvcreate -L 10G -n lv01 data_vg$ lvdisplay # 查看逻辑卷状态# 或者创建分配剩余空间的逻辑卷$ lucreate -l 100%free -n lv02 data_vg$ lvdisplay# 删除逻辑卷$ lvremove /dev/data_vg/lv01
5. 格式化文件系统并挂载
# 格式化逻辑卷$ mkfs.xfs /dev/data_vg/lv01# 挂载到 /mnt/data 目录$ mount /dev/data_vg/lv01 /mnt/data
或者将挂载信息写入 /etc/fstab
:
#echo "/dev/data_vg/lv01 /mnt/data defaults 0 0" >> /etc/fstab$ mount -a
6. 检查挂载状态
# 查看挂载情况$ df -h
自动化脚本
以下脚本实现从挂载点检测到逻辑卷创建的全流程:
pt_info="/data/lv01##lv01##10g /data/lv02##lv02##5g"vg_name=data_vg# 检查挂载点是否存在is_exist_mount_point() { status=0 cus_dir=$1 for j in $(df -h|grep ^/dev/|awk '{print $NF}'); do if [ "$cus_dir" = "$j" ]; then status=1 break fi done return $status}# 判断是否存在新增磁盘disk_info=$(lsblk|tail -2|head -1)disk_type=$(echo $disk_info|awk '{print $NF}')if [ "$disk_type" = "disk" ]; then disk_name="/dev/$(echo $disk_info|awk '{print $1}')" echo "n" p t 8e w "|fdisk $disk_name" pvcreate $disk_name1 vgcreate $vg_name $disk_name1 for i in $pt_info; do dir=$(echo $i|awk -F'##' '{print $1}') lv_name=$(echo $i|awk -F'##' '{print $2}') size=$(echo $i|awk -F'##' '{print $3}') is_exist_mount_point $dir if [ $? -eq 0 ]; then lvcreate -L $size -n $lv_name $vg_name if [ ! -d $dir ]; then mkdir -p $dir fi mkfs.xfs /dev/$vg_name/$lv_name mount /dev/$vg_name/$lv_name $dir echo "/dev/$vg_name/$lv_name $dir defaults 0 0" >> /etc/fstab elif [ $? -eq 1 ]; then continue fi doneelse echo "不存在新增的磁盘"fi
扩展卷组和逻辑卷
扩展卷组
# 添加新磁盘 /dev/sdc1 到 data_vg$ vgextend data_vg /dev/sdc1
扩展逻辑卷
# 将 lv01 从 10G 扩展至 15G$ lvextend -L 15G /dev/data_vg/lv01$ xfs_growfs /dev/data_vg/lv01
总结
通过上述步骤,我们掌握了创建逻辑卷的完整流程。理解 pv、vg、lv 的关系后,操作过程会更加顺畅。LVM 的灵活性为服务器存储管理带来了巨大便利。
发表评论
最新留言
很好
[***.229.124.182]2025年04月26日 07时40分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Android DEX加固方案与原理
2019-03-07
iOS_Runtime3_动态添加方法
2019-03-07
Leetcode第557题---翻转字符串中的单词
2019-03-07
Problem G. The Stones Game【取石子博弈 & 思维】
2019-03-07
Java多线程
2019-03-07
openssl服务器证书操作
2019-03-07
我用wxPython搭建GUI量化系统之最小架构的运行
2019-03-07
selenium+python之切换窗口
2019-03-07
重载和重写的区别:
2019-03-07
搭建Vue项目步骤
2019-03-07
账号转账演示事务
2019-03-07
SpringBoot找不到@EnableRety注解
2019-03-07
简易计算器案例
2019-03-07
在Vue中使用样式——使用内联样式
2019-03-07
Explore Optimization
2019-03-07
map[]和map.at()取值之间的区别
2019-03-08
【SQLI-Lab】靶场搭建
2019-03-08
【Bootstrap5】精细学习记录
2019-03-08