zoukankan      html  css  js  c++  java
  • Linux LVM卷组管理

    由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理。

    由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数据的情况。

    一、LVM基本属于介绍

    • 物理存储介质(The physical media)
    • 这里指系统的存储设备:硬盘,如:/dev/hda、/dev/sda等等,是存储系统最低层的存储单元。
    • 物理卷(physicalvolume)
    • 物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
    • 卷组(Volume Group)
    • LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成
    • 逻辑卷(logicalvolume)
    • LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
    • PV(physical volume,PV)
    • 物理卷,它的文件格式不是ext4这些,而是具有LVM管理功能的LVM格式
    • VG(Volume Group,VG)
    • 卷组,卷组是在PV物理卷的基础上创建的,卷组是由一个或多个物理卷组成的,卷组可以在物理卷PV的基础上扩展和缩小
    • LV(logical volume,LV)
    • 逻辑卷,在VG的基础上创建,可以进行格式化、可以创建文件系统、可以被挂载。对于用户相当于一个磁盘分区,不过实际上是在VG上逻辑出来的,可以在VG的基础上实现扩展和缩小,扩展的边界是不能超过VG的。
    • PE(Physical Extents)
    • 物理块、PE相当于block块,默认是4M,一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,VG是由这些PE块组成,也是VG可以自由扩展和缩小的关键原因。
    • LE(Logical Extent)
    • 逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应

     

    分类命令说明示例
    PV pvcreate 创建物理卷 pvcreate /dev/sdb1
    PV pvdisplay 显示已创建的物理卷的详细信息  
    PV pvs 显示已创建的物理卷的汇总信息  
    PV pvremove 删除物理卷 pvremove /dev/sdb1
    VG vgcreate 创建卷组 pvcreate vg1 /dev/sdb1 /dev/sdb2 …
    VG vgdisplay 显示已创建的卷组的详细信息  
    VG vgs 显示已创建的卷组的汇总信息  
    VG vgextend 扩展卷组 vgextend vg1 /dev/sdb3 …
    VG vgreduce 收缩卷组 vgreduce vg1 /dev/sdb5
    VG vgremove 删除卷组 vgremove vg1
    LV lvcreate 创建逻辑卷 lvcreate -L 1000M -n lv1 vg1
    LV lvdisplay 显示已创建的逻辑卷的详细信息  
    LV lvs 显示已创建的逻辑卷的汇总信息  
    LV lvresize 重设逻辑卷大小 lvresize -L 1000M /dev/vg1/lv1
    LV resize2fs 更新逻辑卷信息(ext4) resize2fs /dev/vg1/lv1
    LV lvremove 删除逻辑卷 lvremove /dev/vg1/lv1
    LV xfs_growfs 更新逻辑卷信息(xfs) xfs_growfs /dev/vg1/lv1
    LV e2fsck 检查逻辑卷错误(ext4) e2fsck -f /dev/vg1/lv1

    其它参数:

    pvcreate
    -f 强制创建物理卷,不需要用户确认
    -u 指定设备的UUID
    -y 所有的问题都回答“yes”
    -Z 是否利用前4个扇区


    vgcreate

    -l 卷组上允许创建的最大逻辑卷数
    -p 卷组中允许添加的最大物理卷数
    -s 卷组上的物理卷的PE大小

    lvcreate

    -L 指定逻辑卷的大小,单位为“kKmMgGtT”字节
    -l 指定逻辑卷的大小(LE数)
    -n 后面跟逻辑卷名 
    -s 创建快照


    1.1、先将创建4个分区、3个主分区各2G、1个扩展分区4G。

    # 管理/dev/sdb磁盘
    fdisk /dev/sdb

    # 添加主分区/sdb1 给2G空间
    n -> p -> 1 -> 空格 -> +2G

    # 添加主分区/sdb2 给2G空间
    n -> p -> 2 -> 空格 -> +2G

    # 添加主分区/sdb3 给2G空间
    n -> p -> 3 -> 空格 -> +2G

    # 添加扩展分区/sdb4 给4G空间
    n -> e -> 4 -> 空格 -> 空格

    1.2、转换分区类型为8e、8e类型为LVM。

    # 将主分区1转换为LVM
    t -> 1 -> 8e

    # 将主分区2转换为LVM
    t -> 2 -> 8e

    # 将主分区3转换为LVM
    t -> 3 -> 8e

    1.3、将物理磁盘分区初始化为物理卷PV

    # 为/dev/sdb1分区 创建PV
    pvcreate /dev/sdb1

    # 为/dev/sdb2分区 创建PV
    pvcreate /dev/sdb2

    # 为/dev/sdb3分区 创建PV
    pvcreate /dev/sdb3

    1.4、将一个或多个物理卷PV转变为一个卷组VG

    # 分区/dev/sdb1 /dev/sdb2 整合为一个 VG、命名为 vg1
    vgcreate vg1 /dev/sdb1 /dev/sdb2

    1.5、从VG中创建逻辑卷。
    # 方案1:创建逻辑卷、lvcreate -L 划分大小 -n 逻辑卷名称 卷组名称 
    lvcreate -L 1G -n lv1 vg1

    # 方案2:创建逻辑卷、通过使用vg的PE大小来分逻辑卷,下面-l 分配了100个PE大小的逻辑卷
    lvcreate -l 100 -n lv1 vg1
    1.6、格式化逻辑卷、并挂载使用

    # 格式化、/dev/vg1/lv1 为卷组创建出的逻辑卷位置
    mkfs.ext4 /dev/vg1/lv1
    
    # 挂载逻辑卷使用 挂载到 /mnt 目录下
    mount /dev/vg1/lv1 /mnt

    # 查看逻辑卷的UUID:最后一行就是逻辑卷的信息,把该行的UUID复制出来,不含引号。
    命令:blkid
    例:/dev/mapper/vg1-lv1: UUID="11262806-d796-4f49-8f08-897181e8ec33"
    
    # 编辑fstab: 在最后添加一行,输入如下内容:
    # 然后保存退出(:wq),重启后查看结果,如果能正常挂载就没有问题了。
    UUID=11262806-d796-4f49-8f08-897181e8ec33 /mnt                    ext4    defaults        0 0

    1.7、卷组扩容 将/dev/sdb3 添加到 vg1 卷组内

    # 将/dev/sdb3 分区添加到vg1卷组内
    vgextend vg1 /dev/sdb3

    1.8、卷则缩容 将/dev/sdb3 移除 vg1 卷组

    命令:pvs
    PV VG Fmt Attr PSize PFree
    /dev/sdb1 vg1 lvm2 a-- <2.00g 0
    /dev/sdb2 vg1 lvm2 a-- <2.00g 0
    /dev/sdb3 vg1 lvm2 a-- <2.00g <2.00g


    • 只有PFree等于PSize,也就是说没有被使用的物理卷,还能被列入考虑范围。
    • 根据上面命令的执行结果,只有/dev/sdb5和/dev/sdb6二个可以被移除。
    # 将分区/dev/sdb3 移除 vg1 卷组
    vgreduce vg1 /dev/sdb3

     1.9、更新逻辑卷状态

    # 更新/dev/vg1/lv1逻辑卷状态
    resize2fs /dev/vg1/lv1
    
    

    2、彻底删除逻辑卷 

    
    

    2.1、查看挂载、并取消挂载

    
    
    # 查看挂载
    df -mT
    /dev/mapper/vg1-1v1    ext4  2.6M  907M   1% /mnt
    
    # 取消挂载
    umount /dev/mapper/vg1-1v1
    2.2、删除挂在记录
    # 删除/etc/fstab 下挂载信息
    vim /etc/fstab
    ...
    2.3、删除逻辑卷

    lvremove  /dev/mapper/vg1-1v1


    2.4、删除卷组

    vgremove vg1

    2.5、删除物理卷

    pvremove /dev/sdb1
    pvremove /dev/sdb2



    转自:https://www.cnblogs.com/xiangsikai/p/10684828.html

     
  • 相关阅读:
    Memcached
    Keepalived
    Nginx配置根据客户端设备转发
    ASP.NET跨平台实践:无需安装Mono的Jexus“独立版”
    Linux系统下如何查看CPU个数
    Ubuntu 安装mysql和简单操作
    python类库26[web2py之基本概念]
    Ubuntu Server 12.04 静态IP简洁配置
    全面解读python web 程序的9种部署方式
    Python3实现连接SQLite数据库的方法
  • 原文地址:https://www.cnblogs.com/chengxuyonghu/p/13652547.html
Copyright © 2011-2022 走看看