【linux磁盘管理——逻辑卷lvm】

linux磁盘管理——逻辑卷lvm

  • 为何要用逻辑卷lvm
  • LVM相关术语
  • LVM配置实战
    • 环境与思路
    • 创建物理卷(PV)
    • 创建卷组(VG)
    • 创建逻辑卷(LV)
    • 挂载使用
  • LVM卷组管理
    • 扩大卷组
    • 缩减卷组
  • LVM逻辑卷管理
    • 扩展逻辑卷
    • 删除逻辑卷

为何要用逻辑卷lvm

  • LVM是Logica Volume Manager逻辑卷管理的简写它是对磁盘分区管理的一种机制;
  • LVM优点:
    • LVM可以创建和逻辑卷,而不是直接使用物理硬盘
    • LVM可以弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已储存的数据(注意:缩小的操作)
    • LVM可以随意将新的硬盘添加到LVM,以直接扩展已存在的逻辑卷。
  • LVM缺点:
    • LVM如果有一个磁盘损坏,整个LVM都坏了,LVM只有动态扩张作用
      解决办法:用RAID+LVM=既有冗余又有动态扩展

LVM相关术语

  • 物理卷(PV):将常规的磁盘通过pvcreate命令对其进行初始化,形成物理卷
  • 卷组(VG):把多个物理卷组成一个逻辑的整体,这样卷组的大小就是多个盘之和
  • 逻辑卷(LV):从卷组中划分需要的空间大小出来,用户仅需要对其格式化然后即可挂载使用。
  • 基本单元(PE):分配的逻辑大小的最小单元,默认4MB
    【linux磁盘管理——逻辑卷lvm】_第1张图片

LVM配置实战

环境与思路

1.准备三块物理磁盘
2.创建物理卷,将普通磁盘转换为物理卷
3.创建卷组,将物理卷加入到卷组中
4.在卷组中划分逻辑卷,然后挂载使用

创建物理卷(PV)

1.将磁盘转换为物理卷(PV)
[root@localhost ~]# pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created.

2.检查PV创建情况
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree 
  /dev/sdc          lvm2 ---   30.00g 30.00g

创建卷组(VG)

1.创建名为datavg的卷组,然后将物理卷加入卷组
[root@localhost ~]# vgcreate datavg /dev/sdc
  Volume group "datavg" successfully created

2.检查卷组(发现存在一个PV卷)
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/sdc   datavg lvm2 a--  <30.00g <30.00g

创建逻辑卷(LV)

1.分配datavg逻辑卷,-n指定逻辑卷名称,-L指定逻辑卷大小
[root@localhost ~]# lvcreate -L 100M -n lv1 datavg
  Logical volume "lv1" created.

2.检查逻辑卷
[root@localhost ~]# lvscan 
 ACTIVE            '/dev/datavg/lv1' [100.00 MiB] inherit

挂载使用

1.格式化逻辑卷
[root@localhost ~]# mkfs.xfs /dev/datavg/lv1

2.创建目录并挂载
[root@localhost ~]# mkdir /lv1
[root@localhost ~]# mount /dev/datavg/lv1 /lv1
[root@localhost ~]# df -h
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/datavg-lv1    97M  5.3M   92M    6% /lv1

LVM卷组管理

扩大卷组

1.准备新的磁盘加入至PV,然后检查卷组当前的大小
[root@localhost ~]# pvcreate /dev/sdd
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree  
  datavg   1   1   0 wz--n- <30.00g <29.90g

2.使用vgextend扩展卷组
[root@localhost ~]# vgextend datavg /dev/sdd 
  Volume group "datavg" successfully extended

3.再次检查,发现以扩大
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  centos   1   2   0 wz--n- <19.00g     0 
  datavg   2   1   0 wz--n-  59.99g 59.89g

缩减卷组

  • 假设想移除/dev/sdb磁盘,建议先将sdb磁盘数据迁移到sdc磁盘,然后在移除
  • 注意:同一卷组的磁盘才可以进行在线迁移
1.检查当前逻辑卷VG中PV使用情况
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/sdc   datavg lvm2 a--  <30.00g <29.90g
  /dev/sdd   datavg lvm2 a--  <30.00g <30.00g

2.pvmove在线数据迁移,将sdc的数据迁移至sdd
[root@localhost ~]# pvmove /dev/sdc
  /dev/sdc: Moved: 48.00%

3.检查是否将sdc数据迁移至sdd
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/sdc   datavg lvm2 a--  <30.00g <30.00g
  /dev/sdd   datavg lvm2 a--  <30.00g <29.90g

4.从卷组中移除sdc
[root@localhost ~]# vgreduce datavg /dev/sdc
  Removed "/dev/sdc" from volume group "datavg"

LVM逻辑卷管理

扩展逻辑卷

  • 扩展逻辑卷:取决于vg卷中是否还有剩余的容量
  • 注意扩展逻辑卷不能超过卷组VG的总大小
[root@localhost lv1]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree  
  datavg   1   1   0 wz--n- <30.00g <29.90g
1.扩张lv逻辑卷,增加800M分配给逻辑卷
[root@localhost lv1]# lvextend -L +800 /dev/datavg/lv1
[root@localhost lv1]# lvextend -L +50%FREE /dev/datavg/lv1

2.扩展逻辑卷后需要更新xfs文件系统
[root@localhost lv1]# xfs_growfs /dev/datavg/lv1	#xfs文件格式扩张
 [root@localhost lv1]# resize2fs /dev/datavg/lv1	#ext文件格式扩张

删除逻辑卷

1.先卸载挂载点,然后在移除逻辑卷
[root@localhost lv1]# umount /dev/datavg/lv1 
[root@localhost lv1]# lvremove /dev/datavg/lv1

2.删除vg
[root@localhost lv1]# vgremove datavg

3.删除pv
[root@localhost lv1]# pvremove /dev/sdc
[root@localhost lv1]# pvremove /dev/sdd

你可能感兴趣的:(linux,运维,服务器,lvm)