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

Linux学习笔记(6)磁盘分区(LVM)的更多相关文章

  1. Linux学习笔记02—磁盘分区

    下面介绍四种最常见的分区方式: (1)    最简单的分区方案. SWAP分区:即交换分区,建议大小是物理内存的1-2倍. /分区:建议大小在6GB以上. 使用以上的分区方案,所有的数据都在/分区上, ...

  2. Linux学习笔记:磁盘分区

    本文更新于2019-12-30.操作系统为Debian 8.9 (jessie). 以下假设新磁盘为/dev/sdb,要创建一个分区/dev/sdb1,文件系统类型为xfs.请根据实际情况,自行选择. ...

  3. Linux学习之路—磁盘分区

    1.各硬件设备在Linux中的文件名 在Linux系统中,每个设备都被当做一个文件来对待,同时在Linux系统中,几乎所有的硬件设备文件都在/dev这个目录中. 设备 设备在Linux内的文件名 ID ...

  4. linux学习笔记之硬盘分区

    引用:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/03/2997098.html PS:本文仅对知识点作总结.详情请参考原文. 首先 ...

  5. Linux学习笔记12—磁盘管理

    一.查看磁盘或目录的容量 1.  df命令 作用:查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的 参数: -I : 查看inodes使用状况 -h: 使用合适的 ...

  6. Linux学习笔记之磁盘与文件系统的管理

    三.Linux磁盘与文件系统的管理 MBR扇区(512B) 磁盘的分区组成 Boot sector    扇区(用来装引导程序) Super block   记录inode与Block的信息 Inod ...

  7. Linux学习笔记(4)磁盘分区(fdisk)、挂载与文件系统命令

    Linux学习笔记(4)磁盘分区(fdisk).挂载与文件系统命令 1.磁盘分区是怎么表示的? 1.1 对于IDE接口,第一主盘为hda,第1从盘为hdb,第1从盘的第1个分区为hdb1 1.2 对于 ...

  8. Linux学习笔记(5)磁盘分区(parted)

    Linux学习笔记(5)磁盘分区(parted) .演示: ()parted /dev/sdb :进入parted 分区命令(可以使用help来查看命令详细描述)(2)p :列出当前磁盘分区信息,可以 ...

  9. Linux 学习笔记 1 使用最小的系统,从分区安装系统开始

    我们常用的linux系统在安装过程中大多都省略了对系统进行分区的操作,以至于后期,不了解什么是分区以及分区当中最基本的一些概念, 我们不说最细的知识,只求了解这个过程,那直接步入正题,开始第一节的学习 ...

  10. Linux学习笔记之LVM基本应用,扩展及缩减实现

    0x00 LVM概述 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘 ...

随机推荐

  1. hbase练习题

    -- 配置环境变量,因为在hbase中有的地方可能用到了环境变量-- bin/start-hbase.sh-- bin/hbase shell-- 访问http://mini0:16010/ 可以看浏 ...

  2. 使用ASM获得JAVA类方法参数名

    在Java1.8之后,可以通过反射API java.lang.reflect.Executable.getParameters来获取到方法参数的元信息,(在使用编译器时加上-parameters参数, ...

  3. openresty安装

    cd /usr/local/mkdir datacd datawget http://openresty.org/download/openresty-1.9.15.1.tar.gz cd /usr/ ...

  4. 一行python打印乘法表

    一行代码打印乘法表 >>> print '\n'.join([' '.join(['%s*%s=%-2s' %(y,x,x*y) for y in range(1,x+1)]) fo ...

  5. FAT,FAT32,NTFS单目录文件数量限制

    http://hi.baidu.com/huaxinchang/item/5ba53ba9b29631756dd4551b —————————————————————————————————————— ...

  6. Could not load type ‘System.ServiceModel.Activation.HttpModule’ from&

    1. 部署网站到IIS7.5,Window 2008的时候出现这个错误   2. 错误信息 Server Error in ‘/’ Application. Could not load type ‘ ...

  7. 小白用advanced installer建安装包

    写这篇文章的目的是由于肯定有人跟我一样非常小白,对安装包的构建又好奇.而我自己呢也要mark一下下,so--- 一.VS安装项目 首先关于安装包的构建,实用VS自带建安装项目的方式.网上有个中文工具叫 ...

  8. markDownPad Key

    邮箱: Soar360@live.com 授权秘钥: GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImDHzWdD6xhMNLGVpbP2M5SN6b ...

  9. Objective-C中的instancetype和id关键字(转)

    转自:Objective-C中的instancetype和id关键字 一.什么是instancetype 同id一样,都是表示未知类型的的对象. 二.关联返回类型(related result typ ...

  10. 面试题思考:Java 8 / Java 7 为我们提供了什么新功能

    Java 7 的7个新特性 1.对集合类的语言支持: 2.自动资源管理: 3.改进的通用实例创建类型推断: 4.数字字面量下划线支持: 5.switch中使用string: 6.二进制字面量: 7.简 ...