美文网首页
Linux 磁盘管理--LVM

Linux 磁盘管理--LVM

作者: 7ming | 来源:发表于2024-04-02 17:20 被阅读0次

    LVM 相关技术属于是三年用一次, 每次都要从头学习, 记录在这里

    > 为什么用LVM

    原本linux文件系统是直接安装在物理磁盘上, 所以当空间不够时只能找个更大的硬盘, 把数据迁移再换上去, 非常麻烦. 所以有了 LVM (Logical Volume Manager), 可以非常方便增加或减少硬盘而不影响系统使用

    > 基本原理

    传统模式下管理不方便的原因是我们无法直接扩展硬盘的大小(普通人不能), 所以LVM的思路是让系统把文件系统安装在一个可以方便调整的 "虚拟的硬盘" 上, 具体做法是

    1. 硬盘格式化成PV (Physical Volume). 具体是把每个硬盘都分割成许多个固定大小(默认4M)的PE (Physical Extend). 所以LVM模式基本存储单位就是PE
    2. 将一个或多个PV加入VG(Volume Group)
    3. 在 VG 上创建 LV 供系统使用. LV的大小都是PE的整数倍
    4. 在LV上创建文件系统, 挂载到目录正常使用

    其中, 每台计算机可以创建多个VG, 每个VG可以创建多个LV. VG和LV都必须命名以便区分

    image.png

    > 从头创建

    1. 创建PV (把 sdb 和 sdc 两块硬盘格式化为PV)
    pvcreate /dev/sdb /dev/sdc
    
    2. 创建VG (把两个PV加入一个新VG: vg1)
    vgcreate vg1 /dev/sdb /dev/sdc
    
    3. 创建LV (在vg1里创建出大小为10G的一个LV: lv1)
    lvcreate -n lv1 -L 10G vg1
    
    4. 创建文件系统(在lv1上创建文件系统)
    mkfs.ext4 /dev/vg1/lv1
    
    5. 挂载 (将创建好的LV挂载到目录 /data来使用)
    mount /dev/vg1/lv1 /data
    

    > 管理运维

    查看
    pvdisplay # 查看PV信息(详细)
    pvs # 查看PV信息(简略)
    vgdisplay # 查看VG信息(详细)
    vgs  # 查看VG信息(简略)
    lvdisplay # 查看LV信息(详细)
    lvs # 查看LV信息(简略)
    
    删除LV (需按顺序删除)
    lvremove /dev/vg1/lv1 # 先删除lv1
    vgremove vg1 # 删除vg1
    pvremove /dev/sdb # 删除 PV
    
    扩展LV, 从vg1里增加2G空间给lv1 (无需卸载停用, 可以直接扩展)
    lvextend -L +2G /dev/vg1/lv1
    resize2fs /dev/vg1/lv1 # 需要更新文件系统才可以使用
    
    扩展VG, 如果vg1空间不足时可以增加硬盘扩展VG
    pvcreate /dev/sdd # 创建新的PV , 不要写错不然......
    vgextend vg1 /dev/sdd # 将新PV加入vg1
    
    缩小LV, 把lv1大小缩小到 5G (注意控制大小, 预留缓冲的空间, 否则容易损坏数据)

    要按顺序操作, 先修改文件系统, 再缩小LV大小

    unmount /dev/vg1/lv1 # 卸载lv1
    e2fsck -f /dev/vg1/lv1 # 校验
    resize2fs /dev/vg1/lv1 5G # 先缩小文件系统 (注意是指定大小, 不是减少5G)
    lvreeduce -L -4G /dev/vg1/lv1 # 把lv1缩小 4G
    mount /dev/vg1/lv1 /data  # 重新挂载
    
    缩小VG, 移除对应的PV即可
    vgreduce vg1 /dev/sdd # 把sdd上的PV从vg1移除
    

    以上

    相关文章

      网友评论

          本文标题:Linux 磁盘管理--LVM

          本文链接:https://www.haomeiwen.com/subject/idmwtjtx.html