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
相关推荐
Mr_Xuhhh3 分钟前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法
内核程序员kevin3 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
朝九晚五ฺ7 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream8 小时前
Linux的桌面
linux
xiaozhiwise8 小时前
Makefile 之 自动化变量
linux
意疏10 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
BLEACH-heiqiyihu10 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
一只爱撸猫的程序猿10 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx
我的K840912 小时前
Flink整合Hudi及使用
linux·服务器·flink