1.逻辑管理技术LVM的概念

1.1 LVM ,逻辑卷管理,以便扩展管理盘符。

  PV:物理卷

  VG:卷组

  LV:逻辑卷

  PE(physical Extend):物理扩展(默认4M),就是我们逻辑卷管理的最小单位。

1.2 关系如下:

  (1)PV   N=>1    VG

  (2)VG  1=>N    LV

    N个PV组成一个VG,PE为VG的最小单位。

  用VG为生成LV(这个过程就是分配多少个PE给这个LV),然后再挂载目录到LV,就可以用了,完成了逻辑分区的功能

2.LVM的基本操作

  2.1 创建PV、创建VG、创建LV

  2.2 格式化LV并且挂载文件系统使用

  2.3 在线扩展、缩小文件系统

  2.4 删除LV、删除VG、删除PV

3.演示

3.1 演示 创建PV、创建VG、创建LV

  (1)查看磁盘情况,选定磁盘作为空间源(我们这里用sdc/sdd/sde来做演示,sdf作为我们的扩容)

    fdisk -l |grep "Disk /dev/sd"

      Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

  

  (2)创建PV:pvcreate /dev/sdc /dev/sdd /dev/sde

      Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

      查看PV情况 :pvs   或者 pvdisplay

      Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

  (3)创建名为mysql的VG:vgcreate mysql /dev/sdc /dev/sdd /dev/sde

    并且用vgs和vsdisplay 可以查看

      Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

  (4)创建名为lvmysql的LV,并分配给其2G空间 :lvcreate -n lvmysql -L 2G mysqlvg

      Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

     查看

      Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

3.2 格式化LV并且挂载文件系统使用  

(5)格式化:mkfs.ext4 /dev/mysql/lvmysql

      Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

  (6)挂载目录.

    mkdir /mysql   #在根目录下创建mysql目录

    mount /dev/mysql/lvmysql /mysql  #把刚刚新建的 lvmysql 挂载到  /mysql 目录下

  (7)直接映射挂载(修改 /etc/fstab 文件数据,这样下次重启就可以直接用)

    Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

  验证,能直接挂载目录说明就成功了,如图

    Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

3.3  在线扩展、缩小文件系统

  (8)在线扩展

  扩展VG

    把新磁盘加入到pv,然后再吧pv加入到vg(由(1)中可知,我们把 /dev/sdf 加进来)

    pvcreate /dev/sdf

      Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

    vgextend mysql /dev/sdf          #mysql为vg名称,后面的/dev/sdf是需要加入vg的磁盘空间

    Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

  扩展LV

    首先看看当前是多大,是2G

      Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

    然后开始扩展5个G,变成7G

        lvextend -L +5G /dev/mysql/lvmysql

        Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

    然后重新组织分配文件系统

      resize2fs /dev/mysql/lvmysql

        Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

    查验,看我们的 mysql-lvmysql 已经7个G了,挂载在 /mysql 目录

      Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

  (9)在线缩小

    卸载目录=》缩小文件系统=》缩小LV=》把盘符从VG和PV里面解放出来

    卸载目录与缩小文件系统

    resize2fs /dev/mysql/lvmysql 2G 缩小到2G

         Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

  缩小LV     

    lvreduce -L -5G /dev/mysql/lvmysql

  验证

    Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

  把盘符从VG里面解放出来

    Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

    提2G出来

    vgreduce mysql /dev/sdf

      Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

  把盘符从PV里面解放出来

    pvremove /dev/sdf

      Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

    验证

      Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

3.4 删除LV、删除VG、删除PV

    步骤:卸载目录=》按顺序 删除LV,删除VG,删除 PV

    Linux学习笔记(6)磁盘分区(LVM)-LMLPHP

#参考代码

#创建PV
pvcreate /dev/sdb /dev/sdc #创建VG
vgcreate mysqlvg /dev/sdb
vgcreate bakvg /dev/sdc #创建LV
lvcreate -n mysqllv -L 10G mysqlvg
lvcreate -n datalv -L 20G mysqlvg
lvcreate -n loglv -L 20G mysqlvg
lvcreate -n baklv -L 50G bakvg #格式化
mkfs.ext4 /dev/mysqlvg/mysqllv
mkfs.ext4 /dev/mysqlvg/datalv
mkfs.ext4 /dev/mysqlvg/loglv
mkfs.ext4 /dev/bakvg/baklv #建立目录
mkdir -p /mysql/app
mkdir -p /mysql/data
mkdir -p /mysql/log
mkdir -p /mysql/backup

#挂载
mount /dev/mysqlvg/mysqllv /mysql/app
mount /dev/mysqlvg/datalv /mysql/data
mount /dev/mysqlvg/loglv /mysql/log
mount /dev/bakvg/baklv /mysql/backup
#df -h 查看结果

#修改 /etc/fstab 以便可以重启自动挂载

/dev/mysqlvg/mysqllv /mysql/app ext4 defaults 0 0
/dev/mysqlvg/datalv /mysql/data ext4 defaults 0 0
/dev/mysqlvg/loglv /mysql/log ext4 defaults 0 0
/dev/bakvg/backuplv /mysql/backup ext4 defauls 0 0

#reboot 查看效果
05-14 18:17