LVM 逻辑分区管理:
Linux服务器存储中,有Disk、 PV、 VG、 LV 四个概念
disk:磁盘,物理上存储最底层的,
PV::物理卷,由磁盘或者分区创建
VG:卷组,由至少一个或者多个PV组合
LV:逻辑卷,在VG上创建需要的LV
三者关系如下图所示:
在LVM 中,VG 可以有多个 ,PV 也可以动态添加到VG 中,LV 是基于VG 上创建的;文件空间的大小是基于LV 创建的文件系统的大小
三者的存储关系:
LV 是基于VG 创建的,当LV 的空间不足时,可以对其进行扩容,从VG 中(如果VG 有剩余的空间可用)直接扩容 lvextend;
当VG 空间不足时,则需要先对VG 进行扩容 ,可以是从已存在的PV 中添加新的分区空间(如果PV 中还有为分配的分区),当VG 中的PV 的分区空间都不足时 ,可以添加新的PV(或disk)至VG 中进行扩容 。
创建LV有两种方式(即PV加入VG中的形式):
① 基于磁盘创建
② 基于分区创建
基于磁盘的 ,就不需要划分分区 ,直接通过 pvcreate 来创建物理卷
基于分区的 ,需要通过fdisk或parted方式先划分分区 ,但不要格式化 ,再进行 pvcreate 来创建物理卷 。
因为只有创建好的物理卷才能被添加到卷组中 ,并在卷组里创建LV 逻辑卷 ,格式化后才能存放数据 。
示例创建LVM系统的步骤:
假如我们有三块disk磁盘:
/dev/sda 500G
/dev/sdb 500G
/dev/sdc 500G
基于磁盘的物理卷
① 创建物理卷PV
直接创建
[root#jackie~]# pvcreate /dev/sdaPhysical volume "/dev/sda" successfully created.[root#jackie~]# pvcreate /dev/sdbPhysical volume "/dev/sdb" successfully created.
通过 pvdisplay 命令可以查看创建的物理卷的信息
② 创建卷组VG
[root#jackie~]# vgcreate dbvg /dev/sda......volume group "dbvg" successfully created
即表示成功创建
③ 激活卷组
[root#jackie~]# vgchange -a y dbvg0 logical volume(s) in volume group "dbvg" now active
通过 vgdisplay 命令可以查看创建的卷组信息 VG大小等于 /dev/sda 的大小 500G
④ 为卷组增加新的PV
[root@jackie~]# vgextend dbvg /dev/sdb......Volume group "dbvg" successfully extended
即表示成功扩容
通过 vgdisplay 命令可以查看卷组的信息 VG大小等于 /dev/sda + /dev/sdb 的大小 1T
⑤ 从VG 中删除PV
PS:这里假设被删除的物理卷并没有被任何的逻辑卷所使用
[root@jackie~]# vgreduce dbvg /dev/sdbRemoved "/dev/sdb" from volume group "dbvg"
删除成功
通过 vgdisplay 命令查看信息 VG 大小等于 500G
⑥ 创建逻辑卷
a、创建指定大小的LV
[root@jackie~]# lvcreate -L 50G -n oracle_lv dbvgLogical volume"oracle_lv" created
通过 lvdisplay 命令查看逻辑卷的信息
PS:也可以根据Total PE / Free PE 的数量创建指定大小的LV
⑦ 创建文件系统
文件系统的类型可以根据实际需要选择,ext* 与 xfs 刷新的命令不一样 ,需要注意
[root@jackie~]# mkfs.ext4 /dev/dbvg/oracle_lv
⑧ 挂载文件系统
[root@jackie~]# mkdir /oracle[root@jackie~]# mount /dev/dbvg/oracle_lv /oracle
通过 df -h 命令 查看挂载信息
⑨ 删除LV
#a、先卸载LV[root@jackie ~]# umount /dev/dbvg/oracle_lv#b、删除LV[root@jackie ~]# lvremove /dev/dbvg/oracle_lv......Logical volume"oracle_lv" successfully removed
删除成功
基于分区的物理卷
基于分区的物理卷类似于基于磁盘的物理卷的步骤
只是在PV 创建之前先进行划分分区的操作
然后用分区的名字取代上面步骤中的 /dev/sda、/dev/sdb 即可
简单示范:
首先通过fdisk划分分区(有关fdisk 命令的使用,请自行了解一下)
[root#jackie ~]# fdisk /dev/sdc
根据提示输入(n\ p\ 1\ +50G\ w\)
即可创建50G大小的分区 默认名称为 /dev/sdc1
通过 fdisk -l /dev/sdc 命令查看/dev/sdc 磁盘下的分区信息
创建基于分区的物理卷
#创建基于分区的PV[root@jackie ~]# pvcreate /dev/sdc1Physical volume "/dev/sdc1" successfully created#将 PV 分区/dev/sdc1 加入至 dbvg[root@jackie~]# vgextend dbvg /dev/sdb......Volume group "dbvg" successfully extended
后续步骤相同 , 修改PV 名称即可,不再阐述
至此 所有结束 以上为个人总结的磁盘划分步骤
如有问题 请提出修改