• LVM基本概念、管理


    一、传统磁盘管理的问题

    当分区大小不够用时无法扩展其大小,只能通过添加磁盘、创建新的分区来扩充空间,但是新添加进来的硬盘是作为独立文件系统存在的,原有的文件系统并未得到扩充,上层应用很多时候只能访问一个文件系统。只能让现有磁盘下线,换上新的磁盘之后,再将原始数据导入。

    二、LVM逻辑卷的基本概念

    LVM(Logical volume Manager)逻辑卷管理通过将底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失现有数据。新加入的硬盘也不会改变现有上层的逻辑卷。

    作为一种动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

     

    PE(physical extend)默认为4MB的基本块

    PV(physical volume)硬盘或分区

    VG(volume group)由一个或多个PV组成的整体

    LV(logical volume)从VG中切割出的空间用于创建文件系统

    三、LVM创建过程

    1. 物理磁盘被格式化为PV,空间被分为一个个PE
    2. 不通的PV加入同一个VG,不同PV的PE全部进入VG的PE池内
    3. LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同物理磁盘
    4. LV现在就直接可以格式化后挂载使用了
    5. LV的扩充缩减实际上就是增加或减少组成该LV的PE的数量。其过程不丢失原始数据

    四、创建LVM

    将物理磁盘设备初始化为物理卷

    pvcreate /dev/sdb /dev/sdc

    创建卷组,并将PV加入卷组中

    vgcreate vg0 /dev/sdb /dev/sdc

    基于卷组创建逻辑卷

    lvcreate -n lv0 -L 5G vg0

    为创建好的逻辑卷创建文件系统

    mkfs.ext4 /dev/vg0/lv0

    将格式化好的逻辑卷挂载使用

    mount /dev/vg0/lv0 /mnt/

    将挂载信息写入/etc/fstab中重启依然生效

    echo "/dev/vg0/lv0 /mnt ext4 defaults 0 0 " >> /etc/fstab

    五、查看LVM

    查看物理卷信息:pvs、pvdisplay(详细)

    查看卷组信息:vgs、vgdisplay(详细)

    查看逻辑卷信息:lvs、lvdisplay(详细)

    六、删除LVM

    删除LV:lvremove /dev/vg0/lv0

    删除VG:vgremove vg0

    删除PV:pvremove /dev/sdb

    七、拉伸一个逻辑卷

    逻辑卷的拉伸操作可以在线执行,不需要卸载逻辑卷

    保证VG中有足够的空闲空间

    vgs、vgdisplay

    扩充逻辑卷

    lvextend -L +5G /dev/vg0/lv0

    查看扩充后LV大小

    lvs、lvdisplay

    更新文件系统

    resize2fs /dev/vg0/lv0

    查看更新后的文件系统

    df –h

    八、拉伸一个卷组

    将要添加到VG的硬盘格式化为PV

    pvcreate /dev/sdd

    将新的PV添加到指定卷组中

    vgextend vg0 /dev/sdd

    查看扩充后VG大小

    vgs、vgdisplay

    九、缩小一个逻辑卷

    逻辑卷的缩小操作必须离线执行,要卸载逻辑卷

    卸载已经挂载的逻辑卷

    umount /dev/vg0/lv0

    缩小文件系统(原lv0为10G)

    e2fsck -f /dev/vg0/lv0

    resize2fs /dev/vg0/lv0 3G

    缩小LV

    lvreduce -L -7G /dev/vg0/lv0

    查看缩小后的LV

    lvs、lvdisplay

    挂载

    mount /dev/vg0/lv0 /mnt

    十、缩小卷组

    将一个PV从指定组中移除

    vgreduce vg0 /dev/sdd

    查看缩小后的卷组大小

    vgs、vgdisplay

    移除PV

    pvremove /dev/sdd

  • 相关阅读:
    求两图的 对比度
    关于opencv中的颜色模型转换之CV_BGR2HSV
    转 C++函数返回值,你必须注意的问题
    opencv 3.2 vs2015 debug assertion __acrt_first_block == header
    vs的【warning C4996:'fopen': This function or variable may be unsafe】解决方案
    c++ opencv 3.2 +Mfc VS2015窗体显示图片方法
    c++中“箭头(->)”和“点号(.)”操作符的区别
    C# devexpress gridcontrol 分页 控件制作
    c#Md5 32位加密结果少了两个0的原因
    opencv 线,椭圆 圆
  • 原文地址:https://www.cnblogs.com/fishhh/p/5161729.html
Copyright © 2020-2023  润新知