LVM 使用与扩容总结

转载请注明出处:

LVM(Logical Volume Manager,逻辑卷管理器)是一个用于Linux系统的磁盘管理工具。它提供了一种更加灵活的存储管理机制,可以方便地进行磁盘的扩容、缩减、快照以及迁移等操作。

基本概念

  1. 物理卷(PV):物理磁盘或分区,如/dev/sda1
  2. 卷组(VG):由一个或多个物理卷组成的集合。
  3. 逻辑卷(LV):从卷组中分配的逻辑磁盘,可以被文件系统格式化并用于存储数据。

安装LVM

在ubuntu系统可以通过下面的命令进行安装

复制代码
# Ubuntu/Debian  
sudo apt-get install lvm2  

创建LVM

第一步:创建物理卷(PV)

假设有一个新的磁盘/dev/sdb,需要先将其初始化为物理卷:

复制代码
sudo pvcreate /dev/sdb  

应用示例:

复制代码
root@swan2:~# sudo pvcreate /dev/vdb
  Physical volume "/dev/vdb" successfully created.
root@sdwan2:~# vgdisplay
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <96.95 GiB
  PE Size               4.00 MiB
  Total PE              24818
  Alloc PE / Size       12409 / 48.47 GiB
  Free  PE / Size       12409 / 48.47 GiB
  VG UUID               RCjkb6-7ngM-9nss-OWOL-eqMR-9MDp-JCyLjk

第二步:创建卷组(VG)

创建一个名为vg_data的卷组,将新创建的物理卷加入其中:

复制代码
sudo vgcreate vg_data /dev/sdb  

第三步:创建逻辑卷(LV)

创建一个名为lv_data的逻辑卷,大小为10G:

复制代码
sudo lvcreate -n lv_data -L 10G vg_data  

第四步:格式化逻辑卷

对逻辑卷进行格式化,例如使用ext4文件系统:

复制代码
sudo mkfs.ext4 /dev/vg_data/lv_data  

第五步:挂载逻辑卷

创建一个挂载点,然后将逻辑卷挂载到该挂载点:

复制代码
mkdir /mnt/data  
sudo mount /dev/vg_data/lv_data /mnt/data  

扩容LVM

假设我们需要将逻辑卷lv_data扩展到20G,可以遵循以下步骤:

第一步:增加物理卷

假设在物理卷/dev/sdb上增加了空间(例如增加了第二个物理卷/dev/sdc),首先需要将新的物理卷初始化:

复制代码
sudo pvcreate /dev/sdc  

然后,将其加入到卷组:

复制代码
sudo vgextend vg_data /dev/sdc  

应用示例:

复制代码
root@sdwan2:~# sudo vgextend ubuntu-vg /dev/vdb
  Volume group "ubuntu-vg" successfully extended
root@swan2:~# vgdisplay
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1.09 TiB
  PE Size               4.00 MiB
  Total PE              286961
  Alloc PE / Size       12409 / 48.47 GiB
  Free  PE / Size       274552 / <1.05 TiB
  VG UUID               RCjkb6-7ngM-9nss-OWOL-eqMR-9MDp-JCyLjk
   

第二步:扩展逻辑卷

使用以下命令将逻辑卷lv_data扩展到20G:

复制代码
sudo lvextend -L 20G /dev/vg_data/lv_data  

或者,如果想使用所有可用的空间:

复制代码
sudo lvextend -l +100%FREE /dev/vg_data/lv_data  

应用示例:

复制代码
root@swan2:~# lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
  Size of logical volume ubuntu-vg/ubuntu-lv changed from 48.47 GiB (12409 extents) to 1.09 TiB (286961 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.
root@sdwan2:~#

第三步:扩展文件系统

扩展完逻辑卷后,需要扩展文件系统以利用新增的空间:

复制代码
sudo resize2fs /dev/vg_data/lv_data  

应用示例:

复制代码
root@swan2:~# sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 141
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 293848064 (4k) blocks long.

root@swan2:~#

查看LVM的信息

可以使用以下命令查看LVM的信息:

  • 查看所有物理卷:

    复制代码
    sudo pvdisplay  
  • 查看所有卷组:

    复制代码
    sudo vgdisplay  
  • 查看所有逻辑卷:

    复制代码
    sudo lvdisplay  
  • 查看详细的LVM状态:

    复制代码
    lvs
相关推荐
weixin_454372111 小时前
0.机顶盒晶晨s905l3b芯片--刷入第三方系统+安卓9 root教程+armbian写入EMMC教程
linux·学习方法
溜追1 小时前
OEC-Turbo刷群晖&Armbian流程记录
linux·经验分享·嵌入式硬件
郝学胜-神的一滴2 小时前
Linux中的`fork`函数详解:深入解析
linux·服务器·开发语言·c++·算法
问道飞鱼3 小时前
【Linux知识】Linux文本操作相关命令行
linux·运维·服务器·文本处理·1024程序员节
Madison-No73 小时前
【Linux】自动化构建工具--make/Makefile
linux·运维·服务器
陌路205 小时前
Linux16-进程间的通信--共享内存
linux
运维帮手大橙子5 小时前
Docker监控系统中添加NodeExporter
linux·运维
Lzc7746 小时前
Linux网络的应用层协议HTTP
linux·1024程序员节·应用层协议http
susu10830189116 小时前
FAT32/VFAT 文件系统不支持 Linux 文件权限,cp文件总是异常
linux·运维·服务器
絔离6 小时前
Linux下查看系统启动时间、运行时间
linux·运维·服务器