目录

Linux操作系统-删除单盘 raid0 创建 raid1

磁盘阵列操作,删除单盘 raid0 创建 raid1.

目的

以前的服务器为了获得更好的磁盘 io ,都是按单盘 raid0 做的阵列,不过后期维护经常发现,这种情况下,数据出了问题还是挺麻烦的,所以为提高数据可用性,我们要把原先的部分机器的单盘 raid0 删掉,做成 raid1 来提供数据的可用性。

删除

删除不麻烦,一条命令搞定,但是删除前得先确认好要删除的 vd 组,防止误删。

我们可以通过之前的那篇文,使用 lsscsi 命令来查看 vd 的 Target id 。

1
2
3
4
5
6
lsscsi 
[0:2:0:0]    disk    DELL     PERC H710P       3.13  /dev/sda 
[0:2:1:0]    disk    DELL     PERC H710P       3.13  /dev/sdf 
[0:2:2:0]    disk    DELL     PERC H710P       3.13  /dev/sdc 
[0:2:3:0]    disk    DELL     PERC H710P       3.13  /dev/sdb 
[0:2:4:0]    disk    DELL     PERC H710P       3.13  /dev/sde 

比如我现在要删掉的是 sdc 和 sde ,那现在可以确定到他们的 Target id 分别为 2 和 4 。

删之前,我们先确认它的 slot id 是啥,为做 raid1 做准备,不然等下又要回头来查一遍。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# /opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -aALL|grep -E "DISK GROUP|Slot Number|Virtual Drive:"
# 为了好看,我手动按组加了回车,实际输出是挤在一起的。

Number of DISK GROUPS: 5
DISK GROUP: 0
Virtual Drive: 0 (Target Id: 0)
Slot Number: 0
Slot Number: 1

DISK GROUP: 1
Virtual Drive: 2 (Target Id: 2)
Slot Number: 3

DISK GROUP: 2
Virtual Drive: 4 (Target Id: 4)
Slot Number: 5

DISK GROUP: 3
Virtual Drive: 1 (Target Id: 1)
Slot Number: 2
Slot Number: 6

DISK GROUP: 4
Virtual Drive: 3 (Target Id: 3)
Slot Number: 4
Slot Number: 7

# 用这个也可以查看磁盘属于哪个 disk group
# /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL

根据 2 和 4 的磁盘组 Target id ,我们可以看到 DISK GROUP: 1 和 2 下面的 raid0 单盘就是他们对应的盘, slot 数字,记下来,分别是 3, 5 。

那么删除的语句是:

1
2
3
4
5
6
7
# 先卸载磁盘的挂载
umount /sdc
umount /sde

# 执行删除
/opt/MegaRAID/MegaCli/MegaCli64 -cfglddel  -L2 -force -a0
/opt/MegaRAID/MegaCli/MegaCli64 -cfglddel  -L4 -force -a0

创建

创建就简单了,我们使用上面拿到的插槽 id 即可。

1
2
3
4
5
/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -a0
# Enclosure Device ID: 32 我们可以看到 32 这个数字,后面要用到

# 32 是上面命令可以拿到的,3 和 5 是磁盘插槽 id 
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r1 [32:3,32:5] -a0

然后接下来就是 fdisk 和 mkfs 的操作了

总结

目前就用到这些基础命令,MegaCli64 还有很多很多命令,根本记不完,只有在用到的时候才会去查阅相关资料,不然大脑完全不够用。