LVM逻辑卷

本文详细介绍如何在虚拟机中通过逻辑卷管理(LVM)技术,实现存储资源的有效管理和灵活扩展。从添加硬盘、划分分区、创建卷组和逻辑卷,到格式化、挂载和扩展卷组与逻辑卷,全面解析LVM的配置流程。

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

简单地说,逻辑卷是一种虚拟化存储,将散乱的物理卷(真实的硬盘存储)整合在一起组成卷组,划分出一个新的存储分区,提高存储的使用效率,使存储统一在同一个逻辑卷上,如果逻辑卷大小不够可以从卷组获取更大的存储,如果卷组的容量不够则从物理卷中划分给卷组,从而将分散式存储转集中在高效率的虚拟化存储。

1、给虚拟机添加一块硬盘,默认20G

2、查看虚拟机硬盘的识别

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb               8:16   0   20G  0 disk           #新添加的硬盘

 3、划分两个分区

[root@localhost ~]# fdisk /dev/sdb     #创建分区命令
命令(输入 m 获取帮助):n                 #创建新的分区
分区号 (1-4,默认 1):                   #回车,选择默认
起始 扇区 (2048-41943039,默认为 2048): #回车,选择默认
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+15G   #大小为15G
命令(输入 m 获取帮助):p                 #查看分区
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   83  Linux    #新创建的分区
命令(输入 m 获取帮助):w                 #保存并退出
正在同步磁盘。
[root@localhost ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n                 #创建新的分区
分区号 (2-4,默认 2):                    #回车,选择默认
起始 扇区 (31459328-41943039,默认为 31459328):         #回车,选择默认
Last 扇区, +扇区 or +size{K,M,G} (31459328-41943039,默认为 41943039):+3G   #大小为3G
命令(输入 m 获取帮助):p                        #查看分区
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   83  Linux    #大小为15G的分区
/dev/sdb2        31459328    37750783     3145728   83  Linux    #大小为3G的分区
命令(输入 m 获取帮助):w                        #保存并退出
正在同步磁盘。

4、刷新分区

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0   15G  0 part        #大小为15G的分区
└─sdb2            8:18   0    3G  0 part        #大小为3G的分区

5、创建卷组

[root@localhost ~]# vgcreate vg1 /dev/sdb1    #创建名为vg1的卷组,从/dev/sdb1位置创建
[root@localhost ~]# pvs                       #查看物理卷的信息
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/sdb1  vg1    lvm2 a--  <15.00g <15.00g  #物理卷的信息
[root@localhost ~]# vgs                       #查看卷组的信息
  VG     #PV #LV #SN Attr   VSize   VFree  
  vg1      1   0   0 wz--n- <15.00g <15.00g   #卷组的信息

6、创建逻辑卷

[root@localhost ~]# lvcreate -L 5G -n mylv vg1 #在vg1卷组中创建大小为5G,名为mylv的逻辑卷
[root@localhost ~]# lvs                         #查看逻辑卷信息
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  mylv vg1    -wi-a-----   5.00g                #逻辑卷细腻                                     

7、格式化逻辑卷

[root@localhost ~]# mkfs.ext4 /dev/vg1/mylv 
#以ext4格式进行格式化逻辑卷
#逻辑卷的位置是/dev/vg1/mylv

8、使用逻辑卷

[root@localhost ~]# mkdir English       #在当前路径下创建一个目录            
[root@localhost ~]# mount /dev/vg1/mylv English/    #将刚刚所创建的逻辑卷挂载到English目录下
[root@localhost ~]# df -h                       #查看硬盘使用情况
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/vg1-mylv     4.8G   20M  4.6G    1% /root/English
[root@localhost ~]# echo hello,lvs逻辑卷 > English/english.txt
[root@localhost ~]# cat English/english.txt 
hello,lvs逻辑卷

9、扩展卷组

[root@localhost ~]# vgextend vg1 /dev/sdb2
#将大小为3G的分区加入到vg1卷组中

10、扩展逻辑卷

[root@localhost ~]# lvextend -L +2G /dev/vg1/mylv
#扩展逻辑卷,从卷组中增加大小为2G
[root@localhost ~]# vgs         #查看卷组信息
  VG     #PV #LV #SN Attr   VSize   VFree   
  vg1      2   1   0 wz--n-  17.99g 1020.00m
[root@localhost ~]# lvs        #查看逻辑卷信息
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert                                                
  mylv vg1    -wi-ao---- <17.00g    

 

### LVM 逻辑卷的创建 对于LVM逻辑卷管理)而言,在Linux环境中是一种灵活的方式来管理和分配存储空间。为了创建一个新的逻辑卷,首先需要初始化物理卷(PV),这可以通过`pvcreate`命令完成。一旦有了物理卷,就可以通过`vgcreate`命令来创建一个卷组(VG)[^1]。 ```bash # 初始化两个分区作为物理卷 pvcreate /dev/sdb1 /dev/sdc1 # 使用上述物理卷创建名为myvg的新卷组 vgcreate myvg /dev/sdb1 /dev/sdc1 ``` 接着可以利用这个新建立好的卷组去构建实际使用的逻辑卷(LV): ```bash # 创建大小为20GB名称叫datalv的逻辑卷位于myvg下 lvcreate -n datalv -L 20G myvg ``` 最后一步就是格式化并挂载此新的逻辑卷到文件系统中以便于访问它所代表的数据区域[^3]。 ### 管理已有的逻辑卷 当涉及到调整现有逻辑卷容量时,如果想要扩展或者缩减其尺寸,则需先确认目标卷处于未被占用状态即已经成功卸载(`umount`)之后再执行相应的操作。例如增加额外的空间给指定LV可通过下面的方式实现: ```bash # 扩展逻辑卷至40GB lvextend -L +20G /dev/myvg/datalv # 调整文件系统的大小以匹配更新后的逻辑卷 resize2fs /dev/myvg/datalv ``` 同样地,减少逻辑卷之前也需要确保有足够的可用资源存在于VG内部,并且应当谨慎行事以免丢失重要资料;另外停用逻辑卷前也应先行将其卸载下来: ```bash # 卸载逻辑卷对应的挂载点 umount /data # 停用逻辑卷 lvchange -an /dev/mapper/datavg-datalv ``` ### 解决常见问题 遇到无法识别或读取特定逻辑卷的情况时,可能是因为设备映射关系出现了错误或者是由于某些底层硬件变动引起的问题。此时可尝试刷新当前环境下的所有PV/VG/LV信息,重新扫描整个系统中的磁盘配置从而恢复正常的连接路径[^2]。 ```bash # 刷新所有的物理卷、卷组和逻辑卷的信息 vgscan --mknodes && vgchange -ay ``` 此外,若是在Azure云平台上的虚拟机遇到了与操作系统磁盘有关联性的难题,按照官方文档指导进行chroot进入救援模式也是一个有效的解决方案之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值