目录

  • 1.LVM 逻辑卷概述
  • 2. 创建 LVM 分区实例
  • 3.修改 LVM 分区容量
  • 4.删除 LVM 分区

1.LVM 逻辑卷概述

随着企业业务的增加,文件系统负载加大,很可能导致空间不足,用传统的分区方式管理磁盘,得把现有的分区删除,然后重新规划新的存储方案,因此我们需要一种管理机制,可以帮我们动态管理存储,而 LVM 就可以提供这种功能。
LVM(Logical Volume Manager)是基于内核的一种逻辑卷管理器,LVM 适合管理大存储设备,并允许用户动态调整文件系统的大小。此外,LVM 的快照功能可以帮助我们快速备份数据。
下面是关于 LVM的几个概念。

  1. 物理卷(PV):物理卷是 LVM 的最底层概念,是 LVM 的逻辑存储块,物理卷与磁盘分区是逻辑的对应关系。多个逻辑卷可以组合或拆分,实现容量扩充或缩减。LVM 提供的命令可以将分区转化成物理卷,通过组合生成卷组。
  2. 卷组(VG):卷组时 LVM 逻辑概念上的磁盘设备,通过单个或多个 PV 组合生成的。
  3. 物理长度(PE):物理长度为 PV 合成 VG 后,所划分的最小存储单元,PE 默认为 4MB。
  4. 逻辑卷(LV):逻辑卷是 LVM 逻辑意义分区,我们可以指定从卷组中分多少容量来创建逻辑卷,最后将此逻辑卷挂载使用。

下面是逻辑卷分区的一些命令解释:

  1. pvcreate
    描述:使用 LVM 对磁盘或分区进行初始化。
    用法:pvcreate [选项] 物理卷 [物理卷…]
    例:
pvcreate /dev/sdc2 /dev/sde
pvcreate /dev/sdb{1,2,3}
  • vgcreate
    描述:创建卷组。
    用法:vgcreate [选项] 卷组名 物理设备路径 [物理设备路径…]
    例:
vgcreate test_vg1 /dev/sdb1 /dev/sdb2
vgcreate test_vg2 -s 16M /dev/sdb3 /dev/sdb4
#-s表示指定 PE 大小为 16MB
  • lvcreate
    描述:从卷组中提取存储空间,创建逻辑卷。
    用法:lvcreate [选项] 卷组名或路径 [物理卷路径]
    选项:
  • -l:指定使用多少个卷组中的 PE 创建逻辑卷,PE 容量在创建卷组时已定
  • -L:直接指定逻辑卷容量大小
  • -n:指定逻辑卷名
    例:
lvcreate -L 2G -n test_lv1 test_vg1
#从卷组 test_vg1 中取 2G 创建名为 test_lv1 的逻辑卷lvcreate -l 200 -n test_lv2 test_vg2
#使用 200 个 PE 创建名为 test_lv2 的逻辑卷lvcreate -L 2G -n test_lv3 test_vg1 /dev/sdb2
#指定 test_lv3 这个逻辑卷使用 test_vg1 下的/dev/sdb2创建

2. 创建 LVM 分区实例

使用之前 sdb 这块磁盘创建两个分区,用这两个创建一个名为 test_vg 的卷组,最后从卷组中创建两个大小为 1G 的逻辑卷,名为 test_web、test_data。

  • 使用 fdiask 创建分区
[root@localhost ~]# fdisk -l
...Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2104483+  83  Linux
/dev/sdb2             263        1305     8377897+   5  Extended
#这里已有一个主分区和一个扩展分区,下面将扩展分区创建一个逻辑分区,并修改分区标签LVM
Command (m for help): n
Command actionl   logical (5 or over)p   primary partition (1-4)
l                                                   #l 创建逻辑分区
First cylinder (263-1305, default 263):
Using default value 263
Last cylinder, +cylinders or +size{K,M,G} (263-1305, default 1305):+2G
#穿件 sdb5 逻辑分区大小为2GCommand (m for help): t
Partition number (1-5): 5                           #指定分区编号sdb5
Hex code (type L to list codes): 8e                 #改变分区 id 为 LVM
Changed system type of partition 5 to 8e (Linux LVM)Command (m for help): p
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2104483+  83  Linux
/dev/sdb2             263        1305     8377897+   5  Extended
/dev/sdb5             263         524     2104483+  8e  Linux LVMCommand (m for help): w
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.partprobe /dev/sdb
  • pvcreate创建物理卷并使用 pvdisplay查看结果
[root@localhost ~]# pvcreate /dev/sdb{1,5}Physical volume "/dev/sdb1" successfully createdPhysical volume "/dev/sdb5" successfully created[root@localhost ~]# pvdisplay"/dev/sdb1" is a new physical volume of "2.01 GiB"--- NEW Physical volume ---PV Name               /dev/sdb1VG Name               PV Size               2.01 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               GVq0p6-LA0y-zsVA-NAK4-wyan-qB74-0ajhqM"/dev/sdb5" is a new physical volume of "2.01 GiB"--- NEW Physical volume ---PV Name               /dev/sdb5VG Name               PV Size               2.01 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               RU8NUI-1gkC-gaMW-ubHp-LDAz-8xS4-6nbO9J
  • 使用 vgcreate创建卷组并使用vgdisplay查看结果
[root@localhost ~]# vgcreate test_vg /dev/sdb{1,5}Volume group "test_vg" successfully created[root@localhost ~]# vgdisplay--- Volume group ---VG Name               test_vgSystem ID             Format                lvm2Metadata Areas        2Metadata Sequence No  1VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                0Open LV               0Max PV                0Cur PV                2Act PV                2VG Size               4.01 GiB             #卷组大小PE Size               4.00 MiB             #PE 大小Total PE              1026Alloc PE / Size       0 / 0   Free  PE / Size       1026 / 4.01 GiBVG UUID               vVhxaV-sX5z-52Sd-vj9N-8jre-CaXZ-gXeFM6
  • 使用lvcreate创建逻辑卷,lvdisplay查看结果
[root@localhost ~]# lvcreate -n test_web -L 1G test_vgLogical volume "test_web" created[root@localhost ~]# lvcreate -n test_data -L 1G test_vgLogical volume "test_data" created[root@localhost ~]# lvdisplay--- Logical volume ---LV Path                /dev/test_vg/test_webLV Name                test_webVG Name                test_vgLV UUID                Y2B4Eh-fraF-1Szh-1gov-kyCc-vUMi-1ks8czLV Write Access        read/writeLV Creation host, time localhost.localdomain, 2019-06-13 07:28:27 -0700LV Status              available# open                 0LV Size                1.00 GiBCurrent LE             256Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     256Block device           253:0--- Logical volume ---LV Path                /dev/test_vg/test_dataLV Name                test_dataVG Name                test_vgLV UUID                NIF17d-8Hy0-er6o-Eaus-efks-1xS7-XMlXkJLV Write Access        read/writeLV Creation host, time localhost.localdomain, 2019-06-13 07:28:41 -0700LV Status              available# open                 0LV Size                1.00 GiBCurrent LE             256Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     256Block device           253:1
  • 格式化并挂载
[root@localhost ~]# mkfs.ext4 /dev/test_vg/test_web
[root@localhost ~]# mkfs.ext4 /dev/test_vg/test_data
[root@localhost ~]# mkdir -p /test/{web,data}
[root@localhost ~]# cat >> /etc/fstab <<EOF
> /dev/test_vg/test_web /test/web/ ext4 defaults 0 0
> /dev/test_vg/test_data /test/data/ ext4 defaults 0 0
> EOF
[root@localhost test]# mount -a
[root@localhost test]# df -h               #查看挂载结果

3.修改 LVM 分区容量

下面使用lvextend命令调整逻辑卷大小。调整后使用ext4_growfs命令更新文件系统大小,方法如下:

[root@localhost test]# lvextend -L +1G /dev/test_vg/test_data Extending logical volume test_data to 2.00 GiBLogical volume test_data successfully resized[root@localhost test]# lvsLV        VG      Attr       LSize Pool Origin Data%  Move Log Cpy%Sync Converttest_data test_vg -wi-ao---- 2.00g                                             test_web  test_vg -wi-ao---- 1.00g     [root@localhost test]# df -h
Filesystem                     Size  Used Avail Use% Mounted on
/dev/sda2                       18G  2.9G   14G  18% /
tmpfs                          491M   80K  491M   1% /dev/shm
/dev/sda1                      291M   34M  242M  13% /boot
/dev/mapper/test_vg-test_web  1008M   34M  924M   4% /test/web
/dev/mapper/test_vg-test_data 1008M   34M  924M   4% /test/data
#这里系统文件大小还未变化[root@localhost test]# resize2fs /dev/test_vg/test_data
#调整文件系统大小,使之生效
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/test_vg/test_data is mounted on /test/data; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/test_vg/test_data to 524288 (4k) blocks.
The filesystem on /dev/test_vg/test_data is now 524288 blocks long.[root@localhost test]# df -h                            #查看结果
Filesystem                     Size  Used Avail Use% Mounted on
/dev/sda2                       18G  2.9G   14G  18% /
tmpfs                          491M   80K  491M   1% /dev/shm
/dev/sda1                      291M   34M  242M  13% /boot
/dev/mapper/test_vg-test_web  1008M   34M  924M   4% /test/web
/dev/mapper/test_vg-test_data  2.0G   34M  1.9G   2% /test/data

此外当卷组没有足够空间时,可以再加磁盘然后fdisk分区,将新分区做成物理卷,然后通过vgextend将新的物理卷追加至现有的卷组中,最后lvextend调整逻辑卷大小,以下演示追加新的物理卷至已有卷组中。

fdisk /dev/sdb                               #分新区
pvcreate /dev/sdb6                          #将分区做成物理卷 PV
vgextend test_vg /dev/sdb6                  #将新的 PV 加到 test_vg 卷中
vgdisplay test_vg                           #查看结果
lvextend -L 2G /dev/test_vg/test_data       #将逻辑卷扩充2G
resize2fs /dev/test_vg/test_data            #调整文件大小,使之生效
df -h                                       #查看结果

4.删除 LVM 分区

删除 LVM 分区的顺序与创建时相反,即先卸载文件系统、删除逻辑卷、删卷组,删物理卷。下载文件系统时应更新/etc/fstab文件。
下面是删除 LVM 分区命令,步骤:

umount /dev/test_vg/test_web
umount /dev/test_vg/test_data
lvremove /dev/test_vg/test_web
lvremove /dev/test_vg/test_data
vgremove /dev/test_vg
pvremove /dev/sdb{1,5,6}

Linux运维养成记-磁盘管理LVM 逻辑卷相关推荐

  1. linux创建运维账户流程,Linux运维养成记-账户与权限管理

    1. Linux 账户及组的概念 Linux 系统是通过用户的 ID 来识别每个账号,默认 ID 长度为 32 位,从 0 开始,用户的 ID及 UID 限制在 60000 以下,其中 Linux 账 ...

  2. Linux运维养成记-服务器安全运维

    目录 1. 删除特殊用户和用户组 2. 关闭系统不需要的服务 3. 合理使用 sudo 命令 4. 删减系统登录信息 5. ssh远程登录安全 6. 合理利用 history 7. 防火墙 7.1 i ...

  3. linux运维基础[系统磁盘管理]——————磁盘的物理结构[内部结构、外部结构、计算磁盘大小]

    文章目录 1. 磁盘的外部结构 2.磁盘的内部结构 3. 计算一个磁盘的大小 1. 磁盘的外部结构 我们首先查看一个磁盘的结构,然后我们来进行一一的解读: 磁盘的主轴:决定磁盘的转速,转的越快,就会效 ...

  4. linux运维基础[系统磁盘管理]——————存储设备的识别、df、du、fsck

    文章目录 1. 本地存储设备的识别 1.1 fdisk -l 1.2 cat /proc/partition 1.3 blkid 1.4 df 2.文件系统常用命令 2.1 df 2.1.1 -h 2 ...

  5. linux虚拟磁盘管理pe大小6,Linux下磁盘的高级管理——LVM逻辑卷管理

    文章目录 逻辑卷是什么 逻辑卷的原理 逻辑卷的优点 lv的管理 lv的建立 xfs格式下lvm的拉伸 ext4下lvm的拉伸和缩减 lvm快照 lvm快照的原理和作用 快照的建立 lvm的删除 逻辑卷 ...

  6. Linux如何查看LV的容量情况,LVM 逻辑卷管理器-增大LV容量

    LVM 逻辑卷管理器-增大LV的容量 步骤: (1)新增一个8e systemID的分区: (2)用pvcreate命令构建PV: (3)用vgextend命令将PV加入vg_1: (4)用lvres ...

  7. 磁盘管理之逻辑卷管理(Logical Volume Manager)

    LVM是逻辑卷管理(Logical Volume Manager)的简称,它是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性. LVM将存储 ...

  8. Linux运维篇之进程管理②

    一.HUP信号 当用户注销(logout)或者网络断开或者关闭终端时(一定是终端整体关闭,而不是单纯的exit)时,终端会收到Linux HUP信号,然后终端在结束前会关闭所有子进程. 如果我们想让进 ...

  9. Linux运维:查看磁盘空间的大小

    文章目录 使用df命令 查看磁盘剩余空间 查看每个根路径的分区大小 使用dh命令 查看某个目录的大小 查看该文件夹总MB数 查看指定文件夹下的所有文件大小(包含子文件夹) 查看指定文件大小及其子目录文 ...

  10. Android逻辑卷管理LVM,LINUX——LVM逻辑卷管理

    LVM: logical volumes manager LVM逻辑卷部署 物理卷->卷组->逻辑卷 第一步:关机添加磁盘:两个磁盘可以构成一个磁盘组. 第二步:查看磁盘 # ls /de ...

最新文章

  1. Linux系统下查看目录大小
  2. C++多态,虚函数,纯虚函数
  3. Spark编程指南V1.4.0(翻译)
  4. perl6正则 4: before / after 代码断言: ?{} / !{}
  5. COJ1196(Staginner 去爬山)
  6. html file 隐藏,input type=file /浏览时只显示指定文件类型(html5新特性)
  7. netback于kthread遇到cpu affinity问题
  8. 面向过程编程与面向对象编程
  9. 【月伴流星】Win7 SP1_x86/x64_2018.03多合一安装版
  10. C语言/C++基础之奔跑的小人
  11. 怎么用软件测试相似相似度,文档相似性检测工具
  12. 毕业实习感想—软件测试
  13. Python爬取豆瓣各类电影排行榜
  14. 华为云服务器怎么备份文件,云服务器系统如何备份文件
  15. 笔记本电脑wifi连接网络不能上网有感叹号
  16. 图片+css实现波浪
  17. 看到大神移植系统了,我来整理下市面上的系统...
  18. AIMP3音乐播放器的漂亮皮肤-IAMP和Minimal Gray
  19. 深入浅出pytorch笔记——第一章
  20. apache中配置404错误页的方法

热门文章

  1. 社会网络分析 社区划分—经典数据集
  2. java编程思想学习笔记——21多线程
  3. Python模块selenium实例:电影分类排名数据生成json,sqlite和excel(openpyxl)文件(二)
  4. VMware虚机丢失vmdk文件恢复方案解析
  5. docker部署homeassistant
  6. 微信自动打开外部浏览器下载apk文件
  7. 大番薯本地模式怎么使用?大番薯u盘启动盘制作工具本地模式重装系统教程
  8. 这内容感觉不咋滴,啊咧怎么就十万+了?
  9. MSVC创建的Qt工程图标设置
  10. 2019美团技术沙龙合辑PPT下载