LVM(logical volume manager,逻辑卷管理)是Linux环境下对磁盘分区进行管理的机制。他针对我们的数据不断扩大,在原有的动态磁盘基础上动态的调整磁盘的大小。  普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。    物理存储介质(The physical media):系统存储设备,如硬盘,/dev/sda  /dev/hdadeng  物理卷(physical volume):指硬盘上从逻辑上与磁盘分区具有相同功能的设备,是LVM  的基本存储逻辑块。  卷组(volume group):类似于非LVM系统中的物理硬盘,由物理卷组成。  逻辑卷(logical volume):类似于非LVM系统的硬盘分区,在逻辑卷上可以建立文件系统。  PE(physical extend):每一个物理卷被划分为称为PE的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元,默认4MB。  LE(logical extend):逻辑卷被划分为称为LE的可被寻址的基本单位。在同一卷组中,LE和PE的大小是相同的,并且一一对应。  工作原理:  (1)物理磁盘被格式化为PV,空间被划分为一个个的PE (2)不同的PV加入到同一个VG中,不同PV的PE全部进入到了VG的PE池内 (3)LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同的物理磁盘 (4)LV现在就直接可以格式化后挂载使用了 (5)LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据  创建逻辑卷  创建物理卷----->创建卷组----->创建逻辑卷---->格式化----->开机自动挂载  root@localhost ~]# fdisk /dev/sda                   添加磁盘分区[root@localhost ~]# partprobe [root@localhost ~]# pvcreate  /dev/sda{6,7,8}                创建物理卷 [root@localhost ~]# pvs  PV         VG   Fmt  Attr PSize PFree  /dev/sda6       lvm2 ---  2.00g 2.00g  /dev/sda7       lvm2 ---  2.00g 2.00g  /dev/sda8       lvm2 ---  2.00g 2.00g[root@localhost ~]# vgcreate datastore /dev/sda{6,7}  创建卷组[root@localhost ~]# lvcreate  -n database -L 3G /dev/datastore     创建逻辑卷   [root@localhost ~]# mkfs.xfs /dev/datastore/database     格式化[root@localhost ~]# vim /etc/fstab        开机自动挂载UUID=6f074fa0-341f-4ce6-9252-64929e1d7f42 /mnt  xfs defaults 0 0  扩展逻辑卷  [root@localhost ~]# vgextend datastore /dev/sda8  Volume group "datastore" successfully extended[root@localhost ~]# vgs  VG        #PV #LV #SN Attr   VSize VFree  datastore   3   1   0 wz--n- 5.99g 2.99g[root@localhost ~]# lvs  LV       VG        Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  database datastore -wi-a----- 3.00g                                                    [root@localhost ~]# lvextend -L +2G /dev/datastore/database   Size of logical volume datastore/database changed from 3.00 GiB (768 extents) to 5.00 GiB (1280 extents).  Logical volume database successfully resized.[root@localhost ~]# lvs  LV       VG        Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  database datastore -wi-a----- 5.00g     删除所有逻辑卷,恢复  [root@localhost ~]# vim /etc/fstab       修改配置文件[root@localhost ~]# lvremove /dev/datastore/database    删除逻辑卷Do you really want to remove active logical volume database? [y/n]: y  [root@localhost ~]# vgremove datastore      删除卷组 [root@localhost ~]# pvremove /dev/sda{6,7,8}     删除物理卷 [root@localhost ~]# fdisk /dev/sda       删除分区[root@localhost ~]# partprobe [root@localhost ~]# fdisk -lDisk /dev/sda: 64.4 GB, 64424509440 bytes, 125829120 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O si***imum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x000c466e   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *        2048      411647      204800   83  Linux/dev/sda2          411648    41371647    20480000   83  Linux/dev/sda3        41371648    49563647     4096000   82  Linux swap / Solaris/dev/sda4        49563648   125829119    38132736    5  Extended/dev/sda5        49565696    50614271      524288   82  Linux swap / Solaris         
点赞 1
评论 0
全部评论

相关推荐

程序员小白条:这比例牛逼,750:1
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-07 15:30
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务