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"

      

  

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

      

      查看PV情况 :pvs   或者 pvdisplay

      

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

    并且用vgs和vsdisplay 可以查看

      

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

      

     查看

      

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

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

      

  (6)挂载目录.

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

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

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

    

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

    

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

  (8)在线扩展

  扩展VG

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

    pvcreate /dev/sdf

      

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

    

  扩展LV

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

      

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

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

        

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

      resize2fs /dev/mysql/lvmysql

        

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

      

  (9)在线缩小

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

    卸载目录与缩小文件系统

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

         

  缩小LV     

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

  验证

    

  把盘符从VG里面解放出来

    

    提2G出来

    vgreduce mysql /dev/sdf

      

  把盘符从PV里面解放出来

    pvremove /dev/sdf

      

    验证

      

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

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

    

#参考代码

#创建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 查看效果

最新文章

  1. 《Paxos Made Simple》翻译
  2. YbSoftwareFactory 代码生成插件【十六】:Web 下灵活、强大的审批流程实现(含流程控制组件、流程设计器和表单设计器)
  3. Redis客户端开发包:Jedis学习-入门
  4. 程序猿必知会的JavaScript 的遍历方式
  5. ADO.NET 快速入门(四):从数据库填充 DataSet
  6. 网络爬虫-url索引
  7. SharePoint中修改密码的WEB Part之终极版:即可以修改AD,又可以修改本机用户密码的Web Part!!
  8. java_Cookies_1_商品浏览历史记录servlet2
  9. JQUERY1.9学习笔记 之可见性过滤器(一) 隐藏选择器
  10. Asp.Net Mvc - 在OnResultExecut* 拦截Action返回的HTML
  11. iOS知识点全梳理-备用
  12. HDU 3501 Calculation 2(欧拉函数)
  13. linux杂记(十一)Bash Shell的使用环境
  14. rsyslog 日志归类思路--根据syslog local5 nginx-zjzc01;
  15. Private和Protected方法
  16. Python强大的自省简析
  17. 《安卓网络编程》之第四篇 处理URL地址
  18. vue中展示数据
  19. vue 动态循环出的多个select 不能重复选择相同的数据
  20. MacOs -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

热门文章

  1. mysql之slave_skip_errors选项
  2. Entity简单使用
  3. Windows自带的端口转发工具netsh使用方法
  4. flutter 环境
  5. php 计算时间添加
  6. C++ 类的继承五(类继承中的static关键字)
  7. 如何用redis/memcache做Mysql缓存层
  8. 为 Ruby 程序员准备的 Go 入门教程
  9. 【BZOJ】3402: [Usaco2009 Open]Hide and Seek 捉迷藏(spfa)
  10. 【翻译自mos文章】使用asm来部署 超大数据库(10TB到PB 范围)--针对oracle 10G