服务器RAID卡,也称阵列卡,用于将多块物理硬盘组建成逻辑的卷,RAID卡是一个硬件,上面通常会配置Cache和电池,用于提升RAID性能和保护在断电情况下避免未落盘的数据丢失。
配置RAID卡,通常有二种方式,第一种是在服务器启动的时候进入RAID卡图形配置界面;第二种是通过服务器远程控制卡。
对RAID的一些普通操作,使用图形和web,比如新建raid,删除raid,添加热备盘,清除foreign信息,但是RAID扩容的操作,都做不了。那么这时就需要通过系统内部经常配置,本篇将进行详细的介绍。
本手册使用场景与限制:
仅适用于Dell的MegaRaid型号的RAID。服务器操作系统为CentOS6 或以上
添加硬盘并动态扩容空间
通常的物理服务器会有多块硬盘,最常见的如8个,12个,16个盘位的服务器。最好的情况当然是我们在采购和业务上线的时候就按需求采购合适服务器,配满硬盘。但是,在实际的场景中,我们的规划没有做的那么好,这也就出现了标题所指的问题,当一台在运行的服务器硬盘容量不够了,但是还有空的硬盘槽位,那这个时候应该怎么办呢?业务不能停,数据没地方移,怎么办?
加盘,在线扩容,这是最好的办法。能做到吗?
目前来看,不行。
那有退一步的方案吗?停一下业务,实现扩容的方案?
这个可以有,继续往下看吧。
在一台有空余硬盘插槽的物理服务器上,新加两块硬盘,然后再将新添加的这部分硬盘容量添加到一个现有的RAID中,并且将系统分区空间扩容。
注意:操作过程,需要服务器重启一次。
操作方法:
在系统内部使用MegaCli工具直接操作硬盘和修改raid卡配置。
操作步骤:
1. 服务器中添加硬盘,开机Ctrl+R 进入RAID卡配置界面,如图1-1,配置了两个RAID,一个RAID1容量111.250G,一个RAID10容量4.364T
图1-1 RAID卡配置界面
2. 查看新加的硬盘是否有Foreign信息,如图1-2,在Foreign View标签下,看到有两条正常的Disk Group信息,一条Disk Group:2 Raid10(Foreign)信息,这条信表示目前接在Raid卡上的硬盘中所包含的RAID信息与RAID卡上存储的RAID信息不一致,需要做同步,同步的方式有两种,Import和Clear,如图1-3
图1-2 Foreign View
图1-3 RAID信息同步方式Import或者Clear
3. Import表示将硬盘中的RAID信息同步到RAID卡上,Clear表示将硬盘中的RAID信息清除掉。如果是更换备机的场景,需要将硬盘中的RAID信息Import到RAID卡中。此场景,是要讲新添加的硬盘,加到现有的RAID组中,所以需要Clear,硬盘中的Foreign信息。
4. 清除之后,再RAID开配置页面,Foreign View标签就会消失,如图1-4,此时出现了3块没有配置的物理磁盘,这3块就是我们新加的硬盘。
图1-4 清除Foreign信息之后的状态
5. 在RAID卡配置界面无法完成在现有RAID中添加新硬盘的功能,所以只能在系统内部通过MagaCli工具来做接下来的操作。图1-4,界面,按esc,保存退出,重启服务器进入系统。
6. 在系统内安装Megacli工具
[root@kvmhost ~]# yum install MegaCli
[root@kvmhost ~]#rpm –ivh MegaCli-8.04.07-1.noarch.rpm Lib_Utils-1.00-09.noarch.rpm
[root@kvmhost ~]# ln -s /opt/MegaRAID/MegaCli/MegaCli64 /bin/MegaCli64
注意:
以上1-5步执行的操作就是清除硬盘中的Foreign信息,通过Megacli也同样可以做
[root@kvmhost ~]# MegaCli64 -PDlist -aALL | grep "Foreign State"
查看硬盘的Foreign信息,不是None的表示存在Foreign信息
Foreign State: None
Foreign State: None
Foreign State: Foreign
Foreign State: Foreign
Foreign State: Foreign //三个硬盘都有foreign信息
[root@kvmhost ~]# MegaCli64 -CfgForeign -Scan -a0 // 扫描RAID上硬盘的Foreign信息
There are 3 foreign configuration(s) on controller 0.
Exit Code: 0x00
[root@kvmhost ~]# MegaCli64 -CfgForeign -Clear -a0 //清空Foreign信息
Foreign configuration 0 is cleared on controller 0.
Foreign configuration 1 i