前言
最近实验室买了几台新的服务器,自己动手试着安装了XenServer虚拟化平台,然后在上面试着做了软件RAID5,主要参考以下文章: XenServer 6.1 with software RAID1 installation
正文
XenServer的安装还是比较轻松的,基本上光盘刻好放进去,一步步按照提示输入相 关信息就好了. 基本上没有什么很大的难度,然后就是硬盘挂载部分,在安装的时 候只选择了一个盘挂载了RAID,由于我们服务器自带了一个SSD,以XenServer就装 在了SSD上面,而另外7个4TB的硬盘就准备挂载软件RAID.
1.进入XenServer的控制界面之后,使用上下键选择切换到shell模式
2.然后首先对磁盘进行分区,使用sgdisk命令就可以了:
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 30 31 | sgdisk --zap-all /dev/sdb sgdisk --zap-all /dev/sdc sgdisk --zap-all /dev/sdd sgdisk --zap-all /dev/sde sgdisk --zap-all /dev/sdf sgdisk --zap-all /dev/sdg sgdisk --zap-all /dev/sdh sgdisk --mbrtogpt /dev/sdb sgdisk --mbrtogpt /dev/sdc sgdisk --mbrtogpt /dev/sdd sgdisk --mbrtogpt /dev/sde sgdisk --mbrtogpt /dev/sdf sgdisk --mbrtogpt /dev/sdg sgdisk --mbrtogpt /dev/sdh sgdisk --largest-new=1 /dev/sdb sgdisk --largest-new=1 /dev/sdc sgdisk --largest-new=1 /dev/sdd sgdisk --largest-new=1 /dev/sde sgdisk --largest-new=1 /dev/sdf sgdisk --largest-new=1 /dev/sdg sgdisk --largest-new=1 /dev/sdh sgdisk --typecode=1:fd00 /dev/sdb sgdisk --typecode=1:fd00 /dev/sdc sgdisk --typecode=1:fd00 /dev/sdd sgdisk --typecode=1:fd00 /dev/sde sgdisk --typecode=1:fd00 /dev/sdf sgdisk --typecode=1:fd00 /dev/sdg sgdisk --typecode=1:fd00 /dev/sdh |
这里的sgdisk使用的几个参数分别是如下的意思:
是将磁盘的mrb以及GPT数据清空1
--zap-all
在磁盘上重新写GPT数据1
--mbrtogpt
是以磁盘最大大小建立一个分区,后面跟的数字是分区的标号,注意是从1开始1
--largest-new
是设置分区的识别号,1
--typecode
表示该分区是一个1
fd00
分区,至于有什么区别我也说不清楚, 貌似是用于RAID分区的自动加载,详情参考Autodetect - Linux Raid Wiki1
Linux RAID auto detect
3.然后使用mdadm命令建立软件RAID分区:
1 | mdadm --create /dev/md0 --level=5 --raid-devices=7 /dev/sd[b-h]1 |
这里mdadm的几个参数都比较好理解:
是创建软件RAID的基本指令,后面跟着的是设备路径1
--create
是指的RAID的级别,mdadm支持0,1,5,6,10还有其他两种软件RAID的方式,我这里由于创建RAID5分区, 所以参数设置为5,(RAID级别的选择详见wiki:RAID)1
--lever
这个是RAID使用的分区设备路径,我这里从1
--raid-devices
到1
sdb
一共七个设备,参数后面跟的七个设备的路径1
sdh
- 补充说明:如果需要其他设置还有一些参数可以设置,比图
参数之后跟设备路径指定热备盘,另外还有1
--spare-devices
参数后面接版本号用于指定RAID超级分区的版本,我看wiki的RAID设置里面推荐如果作为引导分区的话使用1.2版本会比较好.1
--metadata
4.查看RAID盘初始化状态,并挂载RAID盘到XenServer上.
使用两个简单的命令就好了
1 | watch -n 1 cat /proc/mdstat |
这个命令会查看RAID盘的状况,RAID5在建立的时候会有一次扫描,需要的时间比较 久,但是这时候磁盘就可以使用了,只是不要重启或进行其他断电操作. 然后是将 RAID盘信息写入mdadm的配置文件中,并将其加入XenServer的SR设备中.
1 2 3 | echo DEVICE /dev/sd[b-h]1 >> /etc/mdadm.conf mdadm --detail --scan >> /etc/mdadm.conf xe sr-create content-type=user device-config:device=/dev/md0 name-label="Soft Raid5 on Server02" shared=false type=lvm |
附加说明: 通过
导入的配置文件会提示出错,说1
madadm --detail --scan
不能识别的错误,具体原因不明,但是不影响使用,如果觉得看着不舒服,编辑1
metadata 1.0
文件,将里面的1
/etc/mdadm.conf
删掉就行了1
metadata=1.0
附录:
这里提供一下RAID对比的表格:
RAID等级 | 最少硬盘 | 最大容错 | 可用容量 | 读取性能 | 写入性能 | 安全性 | 目的 | 应用产业 |
---|---|---|---|---|---|---|---|---|
单一硬盘 | (参考) | 0 | 1 | 1 | 1 | 无 | ||
JBOD | 1 | 0 | n | 1 | 1 | 无(同RAID 0) | 增加容量 | 个人(暂时)存储备份 |
0 | 2 | 0 | n | n | n | 一个硬盘异常,全部硬盘都会异常 | 追求最大容量、速度 | 3D产业实时渲染、视频剪接高速缓存用途 |
1 | 2 | n-1 | n/2 | n | 1 | 最高,一个正常即可 | 追求最大安全性 | 个人、企业备份 |
5 | 3 | 1 | n-1 | n-1 | n-1 | 高 | 追求最大容量、最小预算 | 个人、企业备份 |
6 | 4 | 2 | n-2 | n-2 | n-2 | 安全性较RAID 5高 | 同RAID 5,但较安全 | 个人、企业备份 |
10 | 4 | n/2 | n/2 | n | n/2 | 安全性高 | 综合RAID 0/1优点,理论速度较快 | 大型数据库、服务器 |