一、服务器硬件详解
cpu 主板 内存 硬盘 网卡 电源 raid卡 风扇 远程管理卡
1.1、硬盘尺寸
目前生产环境中主流的两种类型硬盘
3.5寸 和2.5寸硬盘
2.5寸硬盘可以通过使用硬盘托架后适用于3.5寸硬盘的服务器
但是3.5寸没法转换成2.5寸
二、RAID阵列详解
把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组 (逻辑硬盘)提供比单个硬盘更高的存储性能和提供数据备份技术组成磁盘阵列的不同方式称为RAID级别(raidlevels)。
2.1、常用的RAID级别
raido, raid1, raid5,raid6,raid1+0等
2.1.1、RADI 0磁盘阵列介绍
- RADI 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余。
- RADI 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。
- RADI 0不能应用于数据安全性要求高的场合 。
- 条带式(分布),至少两块。
- 利用率百分百
总结:单纯高传(读写都最快因为并行,所有的级别中,RAID 0的速度是最快的),但是无备份冗余,不可靠。
2.1.2、RADI 1磁盘阵列介绍
- RADI 1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据,当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RADI 1可以提高读取性能。
- RADI 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
- 磁盘利用率 50%
总结:高读,有备份冗余。
2.1.3、RADI 5磁盘阵列介绍
- N(N>=3)块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储。
- N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高
- (N-1)/N磁盘利用率
- 可靠性高,允许坏1块盘,不影响所有数据
总结:高读,写慢,有备份冗余
2.1.4、RADI 1+0磁盘阵列介绍
一般不用RADI 6用RADI 1+0
- N(偶数,N>=4)块盘两两镜像后(组成RADI 1后),再组合成一个RADI 0(先备份再提速)
- N/2磁盘利用率
- N/2块盘同时写入,n块盘同时读取
- 性能高, 可靠性高
总结:高性能,有备份冗余,可靠
2.2、RAID实现的方式
- 外接式磁盘阵列:通过扩展卡提供适配能力
- 内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
- 软件RAID:通过OS实现,比如:群晖的NAS存储
三、阵列卡介绍与真机配置
3.1、阵列卡介绍
阵列卡是用来实现RAID功能的板卡,通常是由I/O处理器,硬盘控制器, 硬盘连接器和缓存等一系列组件构成的。
不同的RAID卡支持的RAID功能不同
3.1.1、RAID卡的接口类型
IDE接口,SCSI接口,SATA接口和SAS接口
3.2、阵列卡的缓存
- 缓存(cache)是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到缓存,再由缓存和外边数据总线交换数据。
- 缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素。
- 不同的RAID卡出厂时配备的内存容量不同,一般为几兆到数百兆容量不等。
四、构建软RADI磁盘阵列
我们构建软RADI来演示
mdadm 模式 阵列名字( /dev/md# ) 选项 设备
模式
- 创建:-C
- 装配:-A
- 监控:-F
- 停止:-S
- 管理: -f: 标记指定磁盘为损坏-a: 添加磁盘-r: 移除磁盘
- -D :显示 raid 的详细信息
-G
或--grow
:这个选项表示你希望增加现有的 MD 设备的某些属性。
- -n #: 使用#个块设备来创建此RAID
- -l #:指明要创建的RAID的级别 0 1 5 10
- -c CHUNK_SIZE: 指明块大小,单位k
- -x #: 指明空闲盘的个数 热备 盘 -x 1 /dev/sd#
设备
/dev/sd{b,c,d,e,f}
查看
4.1、实验一
创建raid5
添加4个硬盘
生成配置文件:
mdadm -D -s >> /etc/mdadm.conf
停止设备:
要先解除挂载
mdadm -S /etc/md0
动态查询
watch -n 5 cat /proc/mdstat
5秒刷新一次
激活设备:
mdadm -A -s /etc/md0
或者
强制启动
mdadm -R /etc/md0
4.2、实验二
创建raid1+0
mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[bc]1
mdadm -Cv /dev/md2 -l1 -n2 /dev/sd[bc]1
mdadm -Cv /dev/md10 -l0 -n2 /dev/md1 /dev/md2