一、什么是LVM逻辑卷

1、什么是逻辑卷

许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份、删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要。

LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。注意/boot分区不能基于LVM创建,必须独立出来。

2、关于逻辑卷的几个概念

  • PE (Physical Extend)物理拓展

PE是用来保存数据的最小单元,数据实际上都是写入PE,PE的大小是可以配置的,默认是4MB。

  • PV (Physical Volume)物理卷

PV是物理硬盘或物理分区。

  • VG (Volume Group)卷组

VG是卷组,有多个物理卷组成,这些物理卷可以是同一个硬盘的不同分区也可以是不同硬盘上的不同分区,可以理解为一个逻辑分区。

  • LV (Logical Volume)逻辑卷

卷组是一个逻辑硬盘,硬盘必须分区之后才能使用,这个分区我们称为逻辑卷。逻辑卷是可以格式化和读写的。

3、如何建立LVM

  • 对物理硬盘进行分区(也可以是整块物理硬盘)

  • 建立物理卷(PV)

  • 把物理卷整合为卷组(VG)

  • 把卷组划分为逻辑卷(LV)

4、相关命令

  • pvcreate

    pvcreate用于建立物理卷,命令格式为:

    pvcreate [设备文件名称]
    
  • pvscan

    pvscan用于查看系统中是否有物理卷。

  • pvdisplay

    pvdisplay用于查看物理卷详细状态。

  • pvremove

    pvremove用于删除物理卷,命令格式为:

    pvremove [物理卷名称]
    
  • vgcreate

    vgcreate用于创建物理卷组,命令格式为:

    vgcreate [选项] [卷组名] [物理卷名]
    
    常用选项 说明
    -s 用于指定PE大小
  • vgscan

    vgscan用于查看系统中是否有卷组。

  • vgdisplay

    vgdisplay用于查看卷组的详细状态

  • vgextend

    vgextend用于扩展卷组容量,命令格式为:

    vgextend [卷组名] [物理卷名]
    
  • vgreduce

    vgreduce用于缩减卷组容量,命令格式为:

    vgreduce [卷组名] [物理卷名]
    
  • vgremove

    vgremove 用于删除卷组,命令格式为:

    vgremove [卷组名]
    
  • lvcreate

    lvcreate用于创建逻辑卷,命令格式为:

    lvcreate [选项] [-n 逻辑卷名] [卷组名]
    
    常用选项 说明
    -n <逻辑卷名> 指定逻辑卷名
    -l <个数> 按照PE个数指定逻辑卷大小,但是需要进行容量换算
    -L <容量> 指定逻辑卷大小,单位MB、GB、TB等
  • lvscan

    lvscan用于查看系统中是否有逻辑卷。

  • lvdisplay

    lvdisplay用于查看逻辑卷的详细状态。

  • lvresize

    lvresize用于调整逻辑卷大小,命令格式为:

    lvresize [选项] [逻辑卷设备文件名] #选项与lvcreate类似,使用+代表增加空间,使用-代表减少空间,直接指定数值代表设定逻辑卷大小为指定的数值
    
  • resize2fs

    resize2fs用于调整分区大小,命令格式为:

    resize2fs [选项] [设备文件名] [新大小]  #常用选项为-f,强制调整
    
  • lvremove

    lvremove用于删除逻辑卷,执行删除操作前请现将逻辑卷卸载。

二、创建逻辑卷ulv

1、对物理硬盘进行分区

操作之前已经增加了一块20G的硬盘,并使用fdisk对硬盘分了四个分区,分别为sdb1,sdb2,sdb3,sdb4。

[root@localhost ~]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ef1e2Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26         281     2048000   83  Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3             281         412     1048576   82  Linux swap / Solaris
Partition 3 does not end on cylinder boundary.
/dev/sda4             412        2611    17669120    5  Extended
/dev/sda5             412        2611    17668096   83  LinuxDisk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5049f506Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         600     4819468+  83  Linux
/dev/sdb2             601        1200     4819500   83  Linux
/dev/sdb3            1201        1800     4819500   83  Linux
/dev/sdb4            1801        2610     6506325   83  Linux

2、建立物理卷

[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4 Physical volume "/dev/sdb1" successfully createdPhysical volume "/dev/sdb2" successfully createdPhysical volume "/dev/sdb3" successfully createdPhysical volume "/dev/sdb4" successfully created[root@localhost ~]# pvscan                    #查看系统中的物理卷PV /dev/sdb1         lvm2 [4.60 GiB]PV /dev/sdb2         lvm2 [4.60 GiB]PV /dev/sdb3         lvm2 [4.60 GiB]PV /dev/sdb4         lvm2 [6.20 GiB]Total: 4 [19.99 GiB] / in use: 0 [0   ] / in no VG: 4 [19.99 GiB]
[root@localhost ~]# pvdisplay                  #查看物理卷详细状态"/dev/sdb1" is a new physical volume of "4.60 GiB"--- NEW Physical volume ---PV Name               /dev/sdb1VG Name               PV Size               4.60 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               B4cReu-dIAR-miFw-n3Rl-FNFg-Zlfa-MAVaXO"/dev/sdb2" is a new physical volume of "4.60 GiB"--- NEW Physical volume ---PV Name               /dev/sdb2VG Name               PV Size               4.60 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               2N237g-z8B3-oN3T-9W11-5Y4E-Q3XB-KHXSso"/dev/sdb3" is a new physical volume of "4.60 GiB"--- NEW Physical volume ---PV Name               /dev/sdb3VG Name               PV Size               4.60 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               cyS3GB-FhsD-ca5z-pz9q-hFV7-KT8V-iMMB3I"/dev/sdb4" is a new physical volume of "6.20 GiB"--- NEW Physical volume ---PV Name               /dev/sdb4VG Name               PV Size               6.20 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               YBsq9M-HMP4-V170-7RHs-0yfH-YwE0-JFBg4k#如需删除物理卷需要使用pvremove命令
#例如,删除/dev/sdb4
#pvremove /dev/sdb4

3、建立卷组

[root@localhost ~]# vgcreate -s 8MB uvg /dev/sdb1 /dev/sdb2 /dev/sdb3 Volume group "uvg" successfully created
[root@localhost ~]# vgscan                             #查看系统中的卷组Reading all physical volumes.  This may take a while...Found volume group "uvg" using metadata type lvm2
[root@localhost ~]# vgdisplay                      #查看卷组详细状态--- Volume group ---VG Name               uvgSystem ID             Format                lvm2Metadata Areas        3Metadata Sequence No  1VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                0Open LV               0Max PV                0Cur PV                3Act PV                3VG Size               13.78 GiBPE Size               8.00 MiBTotal PE              1764Alloc PE / Size       0 / 0   Free  PE / Size       1764 / 13.78 GiBVG UUID               9WTfdw-7KIu-cABA-iQsq-QPc1-s1e0-sn91Iv
[root@localhost ~]# vgextend uvg /dev/sdb4                 #扩展卷组容量Volume group "uvg" successfully extended
[root@localhost ~]# vgdisplay --- Volume group ---VG Name               uvgSystem ID             Format                lvm2Metadata Areas        4Metadata Sequence No  2VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                0Open LV               0Max PV                0Cur PV                4Act PV                4VG Size               19.98 GiBPE Size               8.00 MiBTotal PE              2558Alloc PE / Size       0 / 0   Free  PE / Size       2558 / 19.98 GiBVG UUID               9WTfdw-7KIu-cABA-iQsq-QPc1-s1e0-sn91Iv#缩减卷组容量#vgreduce uvg /dev/sdb4#删除卷组#vgremove uvg

4、建立逻辑卷

[root@localhost ~]# lvcreate -L 5G -n ulv uvg           #再卷组uvg中新建逻辑卷ulv大小5GLogical volume "ulv" created.
[root@localhost ~]# mkfs
mkfs          mkfs.cramfs   mkfs.ext2     mkfs.ext3     mkfs.ext4     mkfs.ext4dev  mkfs.msdos    mkfs.vfat
[root@localhost ~]# mkfs -t ext4 /dev/uvg/ulv          #格式化逻辑卷ulv
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@localhost ~]# mkdir /disk_lv                     #创建逻辑卷挂载点/disk_lv
[root@localhost ~]# mount /dev/uvg/ulv /disk_lv/       #挂在逻辑卷ulv到/disk_lv
[root@localhost ~]# mount
/dev/sda5 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
/dev/sda2 on /home type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/mapper/uvg-ulv on /disk_lv type ext4 (rw)          #挂在成功[root@localhost ~]# lvscan                                #查看系统中的逻辑卷ACTIVE            '/dev/uvg/ulv' [5.00 GiB] inherit
[root@localhost ~]# lvdisplay                          #查看逻辑卷详细状态--- Logical volume ---LV Path                /dev/uvg/ulvLV Name                ulvVG Name                uvgLV UUID                F18DlR-zdID-X2Oj-DWs0-KT4c-kfvO-OuTcoXLV Write Access        read/writeLV Creation host, time localhost.localdomain, 2020-06-17 17:53:30 +0800LV Status              available# open                 1LV Size                5.00 GiBCurrent LE             640Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     256Block device           253:0#在/disk_lv中建立测试文件testfile在对逻辑卷ulv进行扩容验证文件是否会丢失
[root@localhost ~]# dd if=/dev/zero of=/disk_lv/testfile bs=1M count=10
记录了10+0 的读入
记录了10+0 的写出
10485760字节(10 MB)已复制,0.0181527 秒,578 MB/秒
[root@localhost ~]# ls /disk_lv/
lost+found  testfile
[root@localhost ~]# ls /disk_lv/
lost+found  testfile
[root@localhost ~]#
[root@localhost ~]# lvre
lvreduce  lvremove  lvrename  lvresize
[root@localhost ~]# lvre
lvreduce  lvremove  lvrename  lvresize
[root@localhost ~]# lvresize -L 10G /dev/uvg/ulv       #改变逻辑卷大小为10GSize of logical volume uvg/ulv changed from 5.00 GiB (640 extents) to 10.00 GiB (1280 extents).Logical volume ulv successfully resized
[root@localhost ~]# lvdisplay --- Logical volume ---LV Path                /dev/uvg/ulvLV Name                ulvVG Name                uvgLV UUID                F18DlR-zdID-X2Oj-DWs0-KT4c-kfvO-OuTcoXLV Write Access        read/writeLV Creation host, time localhost.localdomain, 2020-06-17 17:53:30 +0800LV Status              available# open                 1LV Size                10.00 GiBCurrent LE             1280Segments               2Allocation             inheritRead ahead sectors     auto- currently set to     256Block device           253:0
[root@localhost ~]# df -h /disk_lv/
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/uvg-ulv  4.8G   20M  4.6G   1% /disk_lv#虽然逻辑卷大小已经改变了,但是分区大小未改变,需要在调整下分区大小
[root@localhost ~]# resize2fs /dev/uvg/ulv
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/uvg/ulv is mounted on /disk_lv; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/uvg/ulv to 2621440 (4k) blocks.
The filesystem on /dev/uvg/ulv is now 2621440 blocks long.[root@localhost ~]# df -h /disk_lv/
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/uvg-ulv  9.8G   22M  9.2G   1% /disk_lv#验证下之前创建的文件
[root@localhost ~]# ls /disk_lv/
lost+found  testfile#删除逻辑卷
#umount /dev/uvg/ulv                        #删除前需要先卸载
#lvremo /dev/uvg/ulv                        #删除逻辑卷

每天一个新知识之Linux的LVM逻辑卷管理相关推荐

  1. Linux中LVM(逻辑卷管理)的使用

    Linux 中我们使用fdisk命令划分好的分区就不能随意的改变,如果不够用的话不可能说把硬盘上的所有数据拷贝后再重新分区,这样可能会导致数据损坏.而在linux中LVM(逻辑卷管理)就可以实现动态的 ...

  2. linux之LVM逻辑卷管理-模拟环境的实战练习

    前言:学习之余,做点笔记,以便后期参阅. 环境介绍: 1.基于虚拟机搭建的centos7.9 2.新增两块磁盘, /dev/sdb 20GB /dev/sdc 10GB 3.新增两个目录 /data1 ...

  3. linux系统中的分区与挂载,以及使用LVM逻辑卷管理器管理物理卷,卷组,逻辑卷知识点总结

    物理设备的命名规则 在Linux系统中一切都是文件,硬件设备也不例外.既然是文件,就必须有文件名称.系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大 ...

  4. Linux常用命令(八)LVM逻辑卷管理

    Linux常用命令(八)LVM逻辑卷管理 一.LVM概述     LVM是Linux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上,文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下 ...

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

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

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

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

  7. linux设置逻辑卷进不了图形界面,LVM逻辑卷管理器图形界面操作

    LVM逻辑卷管理器图形界面操作 LVM有关概念 LVM(Logical Volume Manager)即逻辑卷管理器,它最先是在Linux 2.4内核中被集成到内核中去的,它的出现改变了传统的磁盘空间 ...

  8. Linux LVM逻辑卷管理及扩容(二)

    四.LVM扩展逻辑卷 我们当如何对lvm扩容呢,在vg组有空余的空间时,可以lvextend增加空间:在vg组无空间时,可以通过先增加pv,再lvextend实现扩容 点击(此处)折叠或打开 [roo ...

  9. RHEL磁盘阵列与LVM逻辑卷管理器

    磁盘阵列和逻辑管理器 本篇博客和各位聊聊关于linux系统中的相关磁盘阵列和逻辑管理器,都是涉及到硬件方面的操作.那我们为什么需要使用LVM以及配置RAID呢? 一般在公司中服务器需要保证数据的安全性 ...

最新文章

  1. 火狐浏览器 firebug调试不能载入javascript
  2. mysql视图的简介_mysql视图简介
  3. 编程中函数的返回值的定义问题的解决
  4. 【BZOJ 4170】 4170: 极光 (CDQ分治)
  5. 曾以为只能拿8K,22届学弟字节校招心路历程
  6. Linux 命令之 pwconv -- 开启用户的投影密码
  7. 【APICloud系列|11】使用APPuploader申请ios开发证书及ios发布证书教程
  8. java布类型的常量,java数据类型;常量与变量;
  9. 自己工资自己算,策略设计模式(Strategy)
  10. 最大后验估计与共轭分布
  11. Gerrit修改前一次提交的方法
  12. linux 互斥锁优先级反转,互斥锁陷阱:优先级反转、死锁
  13. 计算机专业刊头,如何自己动手做电子报纸?
  14. Android补间动画原理介绍
  15. linux下openvpn服务搭建
  16. Cocos2d-x 2.0 百例精讲:如何让一个精灵跟随触点移动
  17. ubuntu下的opencv下载编译安装
  18. 字节跳动-数据分析-实习面经
  19. PCI DSS合规性审核认证服务
  20. 微信公众号开发整理(一)所有微信资料整理参考慕课网学习而得

热门文章

  1. springboot中整合mybatis及简单使用
  2. 文件恢复软件哪个最好用?5 款最佳照片文件恢复软件
  3. 一个专家级软件架构师的自白书
  4. 银行业务细分,商业银行业务学习
  5. 泰坦尼克号幸存者预测 python 详解
  6. jQuery 特效:盒子破碎和移动动画效果
  7. 基于Python的线性回归预测模型介绍及实践
  8. 天道酬勤系列之AC620简介
  9. RGB图片处理(1)——RGB概念理解
  10. java自学笔记(day14)归纳总结自:B站狂神说java