Linux磁盘文件管理——LVM学习(一)

LVM逻辑卷管理


  • 逻辑卷:将多个物理磁盘逻辑组成一个逻辑组,把逻辑组分为若干个分区(划掉),这里叫逻辑卷,我们只关心逻辑卷大小即可,实际上它里面的数据可能存储在组成逻辑组的物理磁盘的各个角落。在逻辑卷上可以创建文件系统。
  • 逻辑卷管理:针对磁盘分区而言的手段;允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小;允许在多个物理设备间重新组织文件系统。

 

相关命令我放在下面了,先看栗子

  • 看图说话,在Linux里,将若干块设备贴上物理设备的标签来组成逻辑组,逻辑组分为若干逻辑卷。


创建逻辑卷示例

1. 这里先准备用一个分区和一个硬盘来组成逻辑组

  • fdisk /dev/sdc,这里我用sdc创建分区,另外准备sdd硬盘
    • n
    • p
    • enter
    • enter
    • +2G
    • w

2. 开始创建逻辑卷

  • pvcreate /dev/sd{c1,d},创建物理卷。可以看到VG里没有信息,说明这两个物理卷还不属于任何卷组

  • vgcreate vg0 -s 16M /dev/sd{c1,d},创建逻辑卷组。vg0是卷组名,- s 16M是在指定PE的大小,并且-s要求大小是扇区的指数倍,也就是2的n次方,最小为128K。

 

  •  详细看一下信息,pvdisplay。以上面的物理卷为例,一个pe16M,一共127个,总共2G。整个卷组大小为2+1=3G。

  •  lvcreate -n lv0 -L 1.5G vg0创建逻辑卷,-n指定名字为lv0,-L 1.5G vg0指定从vg0中分配1.5G大小的空间给lv0。下图可以看到分配1.5G用了96个LE(PE)。

 

  • 此时再pvdisplay看看物理卷

 

  •  继续创建逻辑卷,这次将剩余的空间全部用上。lvcreate -n lv1 -l 100%FREE vg0。-l 100%FREE意思是将剩余空间都用上。此时逻辑卷信息如下图。

 

  • 对比一下物理卷信息pvdisplay,此时PE都用光了。

  •  此时的逻辑卷还不能用,因为没有文件系统。
  • 创建文件系统,既然是做实验,那就创建两个不同的文件系统。
    • mkfs.ext4 /dev/vg0/lv0
    • mkfs.xfs /dev/vg0/lv1
  • 创建两个文件夹,把lv0和lv1挂上去
    • touch /mnt/lv0
    • touch /mnt/lv1
    • vim /etc/fstab
      • !blkid 
    • mount -a
  • df看一下,已经可以使用了。



扩展逻辑卷

  1. 首先,要知道想要扩展逻辑卷,卷组要有空间,得有PE。
  2. 扩展过程:新建一个物理卷,并加到之前的卷组里,用卷组扩展命令扩展卷组空间,继续用逻辑卷扩展命令扩展逻辑卷。
  3. 开始操作,继续看图说话,先放一张没扩展前的逻辑卷信息。lv0是1.5G,lv1也差不多有1.5G

 

  • pvcreate /dev/sde,虽然我用的是sde,但是读者你可以用别的。
  • vgextend vg0 /dev/sde,将物理卷sde的加到逻辑卷组vg0
  • lvextend -L 3G /dev/vg0/lv0    和    lvextend -L +3G /dev/vg0/lv0。扩展逻辑卷lv0的大小。前者是扩展到3G大小,后者是在原来的基础上再加3G大小。如图
  • 空间是加上去了,但是别忘记同步文件系统。判断一下是什么类型的文件系统
    • ext4:resize2fs /dev/vg0/lv0
    • xfs:xfs_growfs /mnt/lv1(用相同操作我又扩展了lv1的空间而lv1是xfs类型的文件系统) 
  •  扩展完成

  • 其实不用判断也可以(捂脸),直接用lvextend -r -L 3G /dev/vg0/lv0,-r选项自动判断


缩减

  1. 还是首先,缩减不支持xfs文件系统,只支持ext4的。其次,缩减不是压缩,可能会造成数据丢失,万一有1G的内容,缩成了500M肯定丢失。所以缩减前先备份。
  2. 步骤:

  • 取消挂载umount /mnt/lv0
  • 检查系统完整性 e2fsck -f /dev/vg0/lv0(不检查不能继续执行后面的cmd) 
  • 缩减文件系统,resize2fs /dev/vg0/lv0 4G,缩到4G
  • 缩减逻辑卷,lvreduce -L 4G /dev/vg0/lv0,出现提示,y确认
  • 缩减完毕,重新挂载,mount -a,df -h看到已经缩减了。


LVM逻辑卷管理

  • 逻辑卷:将多个物理磁盘逻辑组成一个逻辑组,把逻辑组分为若干个分区(划掉),这里叫逻辑卷,我们只关心逻辑卷大小即可,实际上它里面的数据可能存储在组成逻辑组的物理磁盘的各个角落。在逻辑卷上可以创建文件系统。
  • 逻辑卷管理系统:针对磁盘分区而言的手段;允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小;允许在多个物理设备间重新组织文件系统。

  • lvm介绍
  • LVM: Logical Volume Manager
  • dm: device mapper: 将一个或多个底层块设备组织成一个逻辑设备的模块
  • 设备名(真名): /dev/dm-#
  • 软链接(真名不容识别,软链接的显示就很清晰):
    • /dev/mapper/VG_NAME-LV_NAME
    • /dev/mapper/vol0-root
    • /dev/VG_NAME/LV_NAME
    • /dev/vol0/root
  • LVM更改文件系统的容量
  • LVM可以弹性更改LV的容量,通过PE(扩展或缩减LVM的单位)实现,通过交换PE来进行资料的转换,将原来LV内的PE转移到其它设备中以降低LV的容量,或将其它设备中的PE加到LV中以加大容量。加一句,逻辑卷的LE跟物理卷的PE是一回事。
  • pv(物理卷)管理工具
    • 显示pv信息(物理卷)
      • pvdisplay
      • pvs简要显示
    • 创建pv
      • pvcreate /dev/device
  • vg(卷组)管理
    • 显示卷组
      • vgs
      • vgdisplay
    • 创建卷组
      • vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
    • 管理卷组
      • vgextend VolumeGroupName PhysicalDevicePath
      • vgreduce VolumeGroupName PhysicalDevicePath
    • 删除卷组
      • 现将物理卷里的内容移除pvremove,再做vgremove
  • lv(逻辑卷)管理
  • 显示逻辑卷
    • lvs 简单显示
    • lvdisplay 详细显示
  • 创建逻辑卷
    • lvcreate -L #[mMgGtT] -n NAME VolumeGroup,-L后面接要创建的逻辑卷大小,后面是逻辑卷的名字,之后接逻辑组名
    • 举个栗子
      • lvcreate -l 60%VG -n mylv testvg,小写的-l 60%VG意思是创建相当于逻辑组60%大小的逻辑卷
      • lvcreate -l 100%FREE -n yourlv testvg,把逻辑组剩下的空间全用来创建逻辑卷
  • 删除逻辑卷
    • lvremove /dev/逻辑组名/逻辑卷名
  • 重设文件系统大小
    • fsadm [options] resize device [new_size[BKMGTEP]]
    • resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
    • resize2fs命令被用来增大或者收缩未加载的ext文件系统的大小
  • 扩展逻辑卷
    • lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
    • resize2fs /dev/VG_NAME/LV_NAME
    • lvresize -r -l +100%FREE /dev/VG_NAME/LV_NAME
  • 缩减逻辑卷
    • umount /dev/VG_NAME/LV_NAME
    • e2fsck -f /dev/VG_NAME/LV_NAME
    • resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
    • lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME

    先这么多吧,Thanks♪(・ω・)ノ

猜你喜欢

转载自blog.csdn.net/qq_39155877/article/details/81774845