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
相关推荐
xuanzdhc3 小时前
Linux 基础IO
linux·运维·服务器
愚润求学3 小时前
【Linux】网络基础
linux·运维·网络
bantinghy4 小时前
Linux进程单例模式运行
linux·服务器·单例模式
小和尚同志5 小时前
29.4k!使用 1Panel 来管理你的服务器吧
linux·运维
帽儿山的枪手5 小时前
为什么Linux需要3种NAT地址转换?一探究竟
linux·网络协议·安全
shadon1789 天前
回答 如何通过inode client的SSLVPN登录之后,访问需要通过域名才能打开的服务
linux
小米里的大麦9 天前
014 Linux 2.6内核进程调度队列(了解)
linux·运维·驱动开发
算法练习生9 天前
Linux文件元信息完全指南:权限、链接与时间属性
linux·运维·服务器
忘了ʷºᵇₐ9 天前
Linux系统能ping通ip但无法ping通域名的解决方法
linux·服务器·tcp/ip
浩浩测试一下9 天前
渗透测试指南(CS&&MSF):Windows 与 Linux 系统中的日志与文件痕迹清理
linux·运维·windows·安全·web安全·网络安全·系统安全