• lvm + raid(逻辑磁盘+阵列)创建删除恢复 for linux


    本教程适用于linux
    lvm为逻辑磁盘,raid为阵列,两种技术可以单独使用也可以搭配使用
    2023.9.3更新

    前三节是操作命令和基础知识,后面是实操。

    一、存储硬件查看相关命令

    硬盘分区相关操作在后面用的到,可以先略过,有需要了再回来查

    (一)查看

    1.查看所有存储硬件详细信息

    fdisk -l
    
    • 1

    2.查看文件系统

    df -h
    
    • 1

    3.查看分区对应硬盘的挂载情况

    lsblk
    
    • 1

    4.硬盘温度、通电时间等信息

    查看这篇详细说明:linux查看硬盘详细信息

    (二)新建分区和格式化

    使用fdisk -l获取所有连接的硬盘,比如要在/dev/sde这个盘新建分区,挂载到/cloud目录(之前没有这个目录)
    新建ext4文件系统分区

    fdisk /dev/sde
    
    • 1

    n->回车->p(主分区)->多次回车->w(保存,会自动退出)
    格式化分区

    mkfs.ext4 /dev/sde1
    
    • 1

    或者

    mkfs -t ext4 /dev/sde1
    
    • 1

    新建目录

    mkdir /cloud
    
    • 1

    将目录和硬盘关联

    mount /dev/sde1 /cloud
    
    • 1

    (三)开机挂载

    linux非桌面版本,新加入的磁盘,如果不设置挂载,重启后会失效
    使用磁盘的uuid进行挂载,不要用/dev/xxx进行挂载,否则部分情况重启可能会串盘
    使用blkid获取硬盘的uuid

    blkid
    
    • 1

    编辑启动信息

    vi /etc/fstab
    
    • 1

    比如将5607a174-cfb3-476f-b509-a0e2e5f9654b挂载到/cloud下,加入这条信息

    UUID=5607a174-cfb3-476f-b509-a0e2e5f9654b /cloud            ext4    defaults        0       2
    
    • 1

    (四)删除分区

    比如要删除/dev/sde1这个分区,这个分区挂载在/cloud目录
    卸载目录

    umount /cloud
    
    • 1

    删除

    fdisk /dev/sde1
    
    • 1

    d->回车->w(可能需要删除多次)

    二、raid讲解和基本命令

    具体案例详细操作见四

    (一)说明

    (二)依赖软件安装

    apt-get install mdadm
    
    • 1

    dnf install mdadm
    
    • 1

    (三)命令

    1.禁用raid

    禁用/dev/md0

    mdadm -S /dev/md0
    
    • 1

    三、lvm讲解和命令

    LVM如果其中的一个盘坏了,其它的还是不受影响的,并不是一个坏了全部都坏了

    具体案例详细操作见四

    (一)说明

    1.物理硬件

    一个具体的硬盘,由于linux中每个硬件都是一个“文件”,在系统层面,形如是/dev/sda

    2.物理卷PV (physical volume)

    可以是一个硬盘分区或者一个组好的raid

    3.卷组VG(Volume Group)

    一个或多个物理卷组成一个卷组

    4.逻辑卷LV(logical volume)

    在卷组上的分区

    (二)依赖软件安装

    如果缺失这个软件,已有的lvm也无法正常运行(假如无意之中卸载了)

    apt-get install lvm2
    
    • 1

    dnf install lvm2
    
    • 1

    (三)命令

    lvm在linux中是默认有的,最近几年的版本在安装系统时也推荐使用lvm

    1.查看类相关命令

    查看物理卷PV

    pvdisplay
    
    • 1

    查看卷组VG

    vgdisplay
    
    • 1

    查看逻辑卷lv

    lvdisplay
    
    • 1

    查看逻辑卷lv挂载状态

    lvscan
    
    • 1

    2.创建类相关命令

    创建物理卷PV

    pvcreate /dev/sdc1
    
    • 1

    创建卷组VG

    3.卸载类相关命令

    ``

    三、具体应用-创建

    (一)raid0-并行-追求速度

    1.说明

    这种情况下一个块硬盘的损坏会导致数据的丢失,不同容量的组raid0会按照最小的那块计算容量,建议使用容量一致的硬盘。

    2.优缺点

    优点:速度快,相当于并行
    缺点:坏一个盘,整体数据都无法直接使用

    3.实操

    下面操作将/dev/sda /dev/sdc组成一个raid0,组合后的raid叫/dev/md0

    mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdc
    
    • 1

    查看创建结果,能输出结果说明可以

    cat /proc/mdstat
    
    • 1

    (二)raid1-镜像-安全

    1.说明

    这种情况下组合的raid只会有最小的那块盘的容量,一般选用一样容量的硬盘。

    2.优缺点

    优点: 除非两个盘同时坏,否则数据完整,如果两块盘同时坏,但是没有坏在一个地方,可以恢复,数据仍然在。就是说除非两块盘同时坏在一个地方,且无法恢复,而这块丢失的数据又是需要的情况下,数据才会丢失。
    缺点: 速度相对于一个盘略微降低,空间利用率最大50%(两块盘一样大)

    3.实操

    下面操作将/dev/sda /dev/sdc组成一个raid1,组合后的raid叫/dev/md1

    mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sda /dev/sdc
    
    • 1

    查看创建结果,能输出结果说明可以

    cat /proc/mdstat
    
    • 1

    (三)raid10-速度和安全性

    1.思路

    相当于每2块组成一个镜像(raid1),然后两个raid1再组成raid0
    (还有一种是raid01,两块盘组成raid0,然后两个raid0组成raid1,这种方法继承了raid0和raid1的缺点,不推荐使用raid01,只推荐raid10)

    2.优缺点:

    优点:速度快且安全
    缺点:硬盘利用率最大为50%

    3.实操

    假设4块硬盘
    先创建两个raid1
    /dev/sda 和 /dev/sdb组 /dev/mda
    /dev/sdc 和 /dev/sdd组 /dev/mdb

    mdadm --create --verbose /dev/mda --level=1 --raid-devices=2 /dev/sda /dev/sdb
    
    • 1
    mdadm --create --verbose /dev/mdb --level=1 --raid-devices=2 /dev/sdc /dev/sdd
    
    • 1

    再创建一个raid0

    mdadm --create --verbose /dev/md10 --level=0 --raid-devices=2 /dev/mda /dev/mdb
    
    • 1

    最后组合的是/dev/md10,在这个raid上分区格式化即可(操作方法在上面,看目录找)

    (四)灵活扩容且安全(raid1+lvm)

    1.思路

    每两块硬盘组一个raid1镜像,多个raid1组一个lvm,可以只用2块,然后后期扩容,这样最后可以在系统层面只是一个分区。对于重要数据,强烈推荐使用这种方法

    2.优缺点

    优点:灵活扩容且安全
    缺点:硬盘利用率为50%

    3.实操

    /dev/sda 和 /dev/sdb组 /dev/mda
    /dev/sdc 和 /dev/sdd组 /dev/mdb
    然后2个raid1组lvm,最后格式化,挂载到/mirror目录

    先组2个raid1

    mdadm --create --verbose /dev/mda --level=1 --raid-devices=2 /dev/sda /dev/sdb
    
    • 1
    mdadm --create --verbose /dev/mdb --level=1 --raid-devices=2 /dev/sdc /dev/sdd
    
    • 1

    2个raid1组lvm

    2个raid1都先创建pv

    pvcreate /dev/mda
    
    • 1
    pvcreate /dev/mdb
    
    • 1

    创建vg,名称为GroupMirror

    vgcreate GroupMirror /dev/mda /dev/mdb
    
    • 1

    激活

    vgchange -a y GroupMirror
    
    • 1
    lvcreate -l 100%FREE -n mirror_data GroupMirror
    
    • 1

    注意大小写,小写-l 可以写比例,大写是具体值

    mkfs.ext4 /dev/GroupMirror/mirror_data
    
    • 1
    mkdir /mirror && mount -t ext4 /dev/GroupMirror/mirror_data /mirror 
    
    • 1

    (五)raid5

    以后更新

    (六)raid6

    以后更新

    四、具体应用-调整

    (一)LVM卷组扩容

    lvm可以用一个物理磁盘或者一个raid作为基础,建立lvm。
    下面将一个磁盘/dev/md2扩容到名为GroupMirror的卷组
    创建lvm物理卷

    pvcreate /dev/md2
    
    • 1

    扩容卷组

    vgextend GroupMirror /dev/md2
    
    • 1

    此时仍然未生效,下面根据自己的名称修改命令(100%新磁盘的空间扩容到原来的)

    lvextend -l +100%FREE /dev/mapper/GroupMirror-mirror_data
    
    • 1

    上面的操作后仍然未生效

    -------如果是ext格式用这个刷新(-p是现实百分比)

    resize2fs -p /dev/mapper/GroupMirror-mirror_data
    
    • 1

    -------如果是xfs格式则用以下的即可

    xfs_growfs /dev/mapper/GroupMirror-mirror_data
    
    • 1

    我拓展了一个8T的机械盘用了一个小时左右

    (二)普通分区挂载到新电脑

    查看所有磁盘,找到需要挂载的分区,如/dev/sde1

    fdisk -l
    
    • 1

    创建挂载的目录

    mkdir /aaa
    
    • 1
    mount /dev/sde1 /aaa 
    
    • 1

    还需要开机挂载才能重启后还存在(参考章节一)

    (三)lvm挂载到新电脑

    如果需要将原有的盘挂载到新电脑
    需要先安装lvm,然后重启电脑
    查看lvm信息,会自动挂载,需要分配盘符

    lvscan
    
    • 1

    创建挂载的盘

    mkdir /mirror
    
    • 1

    挂载lvm

    mount /dev/xxxx/xxxx /mirror 
    
    • 1

    (四)raid挂载到新电脑(软raid)

    需要先安装madam,然后重启(重启后会加载md模块)

    cat /proc/mdstat
    
    • 1

    可以看到类似下面的信息
    在这里插入图片描述会自动加载,如果raid上面有lvm,也会自动加载

    五、具体应用-卸载

    (一)卸载lvm

    1.移除挂载的分区

    比如挂载的分区叫/mirror

    umount /mirror
    
    • 1

    2.删除逻辑卷LV

    比如逻辑卷为 /dev/GroupMirror/mirror_data

    lvremove /dev/GroupMirror/mirror_data
    
    • 1

    会询问是否删除,输入y


    注意:此时vg卷组还在,数据还在,重新挂载LV和之前数据一样
    如果需要重新挂载,看五、(一)误删LV恢复

    3.删除卷组VG

    vgremove /dev/GroupMirror
    
    • 1

    会提示,全部选择y即可

    注意:此时物理卷还在,数据还在,仍然可以恢复
    如果需要重新挂载,看五、(二)误删LV、VG恢复

    4.删除物理卷PV

    查看pv

    pvs
    
    • 1

    移除对应的物理卷,这个物理卷有可能是raid

    pvremove /dev/sde
    
    • 1

    注意:此时仍然有机会恢复,建议找专业人士

    5.删除物理磁盘

    注意,这次删除数据就真的没了!

    fdisk /dev/sde
    
    • 1

    依次选择:m、d、3、w

    六、具体应用-LVM相关恢复

    (一)误删LV(逻辑卷)

    1.查询achieve记录

    需要通过VG卷组进行恢复
    查看VG

    vgdisplay
    
    • 1

    可以看到VG还在,假设VG名称为GroupMirror

    查看VG操作记录

    vgcfgrestore --list GroupMirror
    
    • 1

    可以看到类似以下的操作
    在这里插入图片描述

    2.恢复到指定的节点

    vgcfgrestore -f /etc/lvm/archive/GroupMirror_00008-1277402051.vg GroupMirror
    
    • 1

    然后会显示恢复成功
    在这里插入图片描述
    激活LV(和新建的时候操作一样)

    lvchange -ay /dev/GroupMirror/mirror_data
    
    • 1

    创建挂载点并挂载,使用原来的挂载点即可
    如果是挂载到新的挂载点,mkdir /xxx即可

    mount -t ext4 /dev/GroupMirror/mirror_data /mirror
    
    • 1

    (二)误删LV(逻辑卷)、VG(卷组)恢复

    如果删掉了LV和VG仍然可以恢复,先恢复VG,然后再恢复LV(同上面恢复LV)

    1.查询achieve记录

    vgcfgrestore --list GroupMirror
    
    • 1

    会看到很多文件,还有修改时间,找到误删时候的文件,y以.vg结尾(通常是最近的一个)

    可以看到很多操作记录,比如下面的
    在这里插入图片描述

    2.恢复卷组VG和LV

    这个命令一次性就恢复了两次操作,当然你要选好恢复的.VG文件

    vgcfgrestore -f /etc/lvm/archive/GroupMirror_00010-1053623108.vg GroupMirror
    
    • 1

    完成后会提示
    在这里插入图片描述

    3.恢复逻辑卷LV

    激活LV(和新建的时候操作一样)

    lvchange -ay /dev/GroupMirror/mirror_data
    
    • 1

    创建挂载点并挂载,使用原来的挂载点即可
    如果是挂载到新的挂载点,mkdir /xxx即可

    mount -t ext4 /dev/GroupMirror/mirror_data /mirror
    
    • 1
  • 相关阅读:
    SpringBoot+Minio实现上传凭证、分片上传、秒传和断点续传
    Pandas知识点超全总结
    【无标题】
    “文化共传承 艺术润心灵”——江南大学国家艺术基金走向社区
    fastadmin中api模块自动validate验证参数
    大厂永恒敲门砖——Android 系统启动流程详解
    【微信小程序】手把手教你注册开发账号、安装开发工具、使用开发工具
    java基础01
    Latex工具(texlive+texstudio)的详细安装及基本使用
    手机自动化测试:5.模拟相关操作:swipe,scroll,drag_and_dropki
  • 原文地址:https://blog.csdn.net/ziqibit/article/details/129966942