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

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

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

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

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

(一)查看

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

fdisk -l

2.查看文件系统

df -h

3.查看硬件挂载情况

lsblk

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

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

(二)新建分区和格式化

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

fdisk /dev/sde

n->回车->p(查看分区)->w(保存)->q(退出)

mkfs.ext4 /dev/sde1
mkfs -t ext4 /dev/sde1

新建目录

mkdir /cloud

将目录和硬盘关联

mount /dev/sde1 /cloud

(三)开机挂载

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

vi /etc/fstab

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

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

(四)删除分区

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

umount /cloud

删除

fdisk /dev/sde1

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

二、raid讲解和基本命令

具体案例详细操作见四

(一)说明

(二)依赖软件安装

apt-get install mdadm

dnf install mdadm

(三)命令

1.禁用raid

禁用/dev/md0

mdadm -S /dev/md0

三、lvm讲解和命令

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

具体案例详细操作见四

(一)说明

1.物理硬件

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

2.物理卷PV (physical volume)

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

3.卷组VG(Volume Group)

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

4.逻辑卷LV(logical volume)

在卷组上的分区

(二)依赖软件安装

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

apt-get install lvm2

dnf install lvm2

(三)命令

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

1.查看类相关命令

查看物理卷PV

pvdisplay

查看卷组VG

vgdisplay

查看逻辑卷lv

lvdisplay

查看逻辑卷lv挂载状态

lvscan

2.创建类相关命令

创建物理卷PV

pvcreate /dev/sdc1

创建卷组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

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

cat /proc/mdstat

(二)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

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

cat /proc/mdstat

(三)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
mdadm --create --verbose /dev/mdb --level=1 --raid-devices=2 /dev/sdc /dev/sdd

再创建一个raid0

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

最后组合的是/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
mdadm --create --verbose /dev/mdb --level=1 --raid-devices=2 /dev/sdc /dev/sdd

2个raid1组lvm

2个raid1都先创建pv

pvcreate /dev/mda
pvcreate /dev/mdb

创建vg,名称为GroupMirror

vgcreate GroupMirror /dev/mda /dev/mdb

激活

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

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

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

(五)raid5

以后更新

(六)raid6

以后更新

四、具体应用-调整

(一)LVM卷组扩容

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

pvcreate /dev/md2

扩容卷组

vgextend GroupMirror /dev/md2

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

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

上面的操作后仍然未生效

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

resize2fs -p /dev/mapper/GroupMirror-mirror_data

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

xfs_growfs /dev/mapper/GroupMirror-mirror_data

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

五、具体应用-卸载

(一)卸载lvm

1.移除挂载的分区

比如挂载的分区叫/mirror

umount /mirror

2.删除逻辑卷LV

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

lvremove /dev/GroupMirror/mirror_data

会询问是否删除,输入y


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

3.删除卷组VG

vgremove /dev/GroupMirror

会提示,全部选择y即可

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

4.删除物理卷PV

查看pv

pvs

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

pvremove /dev/sde

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

5.删除物理磁盘

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

fdisk /dev/sde

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

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

(一)误删LV(逻辑卷)

1.查询achieve记录

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

vgdisplay

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

查看VG操作记录

vgcfgrestore --list GroupMirror

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

2.恢复到指定的节点

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

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

lvchange -ay /dev/GroupMirror/mirror_data

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

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

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

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

1.查询achieve记录

vgcfgrestore --list GroupMirror

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

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

2.恢复卷组VG和LV

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

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

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

3.恢复逻辑卷LV

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

lvchange -ay /dev/GroupMirror/mirror_data

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

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

猜你喜欢

转载自blog.csdn.net/ziqibit/article/details/129966942