Linux:服务器硬件及RAID配置
服务器
服务器是什么
服务器的英文名称为“ Server”,是指在网络上提供各种服务的高性能盘算机。作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。
服务器和普通盘算机的功能是类似的。只是相对于普通盘算机,服务器在稳固性、安全性、性能等方面都要求更高,因此CPU、芯片组、内存、磁盘系统、网络等硬件和普通盘算机有所不同。
服务器与普通盘算机的重要区别包罗:
- 通信方式为一对多
- 资源通过网络共享
- 硬件性能更加强大
服务器的结构
以华为FusionServer 1288H V5为例
服务器物理结构 序号硬件设备序号硬件设备1电源模块2机箱3风扇支架4风扇模块5前置硬盘背板6硬盘7光驱8灯板模块9VGA板10散热器11处理器12内存13TPM/TCM扣卡14RAID控制扣卡15主板16灵活IO卡17PCIe Riser模组118PCIe Riser模组2
服务器逻辑结构
- 支持1个或2个英特尔®至强®可扩展处理器。
- 支持24条内存。
- 处理器与处理器之间通过2个UPI(UltraPath Interconnect)总线互连,传输速率最高可达10.4GT/s。
- 处理器通过PCIe总线与2个PCIe Riser卡相连,通过不同的PCIe Riser卡支持不同规格的PCIe槽位。
- RAID控制卡通过PCIe总线与CPU1相连,通过SAS信号线缆与硬盘背板相连,通过不同的硬盘背板支持多种本地存储规格。
- 使用LBG-2 PCH(Platform Controller Hub),通过PCH:
- 支持2个板载10GE光口或者2个板载10GE电口。
- 支持2个板载GE电口。
- 使用Hi1710管理芯片,支持外出VGA(Video Graphic Array)、管理网口、调试串口等管理接口。
RAID
硬RAID与软RAID对比
硬RAID软RAID实现方式使用专门的raid控制器来实现利用系统和软件来实现性能由于使用专用硬件,通常能提供更好的性能性能受到利用系统负载和主机CPU性能的影响数据安全性更佳(硬raid控制器可以提供更多的数据保护和冗余功能)较弱(软RAID的故障恢复大概更复杂,需要更多的手动干预)灵活性与成本需要特定的硬件和控制器,配置后难以更改。可以在险些任何盘算机上运行,可以随时添加或删除磁盘可靠性和容错性RAID卡通常具有纠错本领,可以检测和纠正磁盘故障,因此可以保证数据的完备性和可靠性需要CPU处理所有RAID使命,包罗读写磁盘和盘算校验和等利用,这大概会降低系统性能 RAID级别先容
RAID 0
RAID 0又称为条带化(Stripe),代表了所有RAID级别中最高的存储性能。
通过建立RAID 0,原先次序的数据哀求被分散到所有的三块硬盘中同时执行。但由于其没有数据冗余,无法保护数据的安全性,只能实用于I/O速率要求高,但数据安全性要求低的场合。
RAID 0数据存储原理 RAID 1
RAID 1又称镜像(Mirror或Mirroring),即每个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时同时从工作盘和镜像盘读出。
当更换故障盘后,数据可以重构,恢复工作盘正确数据。RAID 1可靠性高,但其有效容量减小到总容量一半,因此常用于对容错要求较高的应用场合。
RAID 1数据存储原理 RAID 5
RAID 5是一种存储性能、数据安全和存储成本分身的存储解决方案。为保障存储数据的可靠性,采用循环冗余校验方式,并将校验数据分散存储在RAID的各成员盘上。当RAID的某个成员盘出现故障时,通过其他成员盘上的数据可以重新构建故障硬盘上的数据。
RAID 5既实用于大数据量的利用,也实用于各种小数据的事件处理,是一种快速、大容量和容错分布合理的磁盘阵列。
RAID 5具有较RAID 0略低的数据读写速度,但写性能比写入单个硬盘时要高。
RAID 5数据存储原理 RAID 6
RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,纵然两块硬盘同时失效也不会影响数据的使用。
数据块和校验块一起分散存储到RAID 6的各个成员盘上。当恣意一个或两个成员硬盘出现故障时,控制卡可以从其他处于正常状态的硬盘上重新恢复或生成丢失的数据而不影响数据的可用性。
数据块和校验块一起分散存储到RAID 6的各个成员盘上。当恣意一个或两个成员硬盘出现故障时,控制卡可以从其他处于正常状态的硬盘上重新恢复或生成丢失的数据而不影响数据的可用性。
RAID 6数据存储原理 RAID 10
RAID 10是将镜像和条带进行两级组合的RAID级别,即RAID 1+RAID 0的组合形式,第一级是RAID 1,第二级是RAID 0。RAID 10是存储性能和数据安全分身的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。
原先次序的数据哀求按照RAID 0的方式,被分散到两个子组中并行执行,同时通过RAID 1的方式,系统在向硬盘Drive 0写入数据的同时把数据自动复制到硬盘Drive 1上,向硬盘Drive 2写入数据的同时把数据自动复制到硬盘Drive 3上。
RAID 10数据存储原理 RAID级别对比
RAID 级别硬盘数目要求使用率是否有冗余本领读写性能RAID 0NN无单个硬盘的N倍RAID 1N (偶数)N/2有,允许一个设备故障读性能提升,写没有提升RAID 5N>=3(N-1/N)有,允许一个设备故障读性能提升,写没有提升RAID 6N>=4(N-2)/N有,允许两个设备故障需要多写两份纠删码,所以写性能相对raid5更低一些RAID 10N>=4N/2有,允许不同组中各坏一个读性能可提升N倍,写性能提升N/2倍 配置RAID
硬RAID
状态说明Available(AVL)硬盘大概未停当,而且不适合在逻辑盘或热备池中使用。Online(ONL)为某个假造磁盘的成员盘,可正常使用,处于在线状态。Fault硬盘故障。Hot Spare(HSP)被设置为热备盘。Unconfigured Good(ugood/ucfggood)硬盘状态正常,但不是假造磁盘的成员盘或热备盘。 物理硬盘状态
光标移动至第二行,按f2选择“Create Virtual Drive”
- 按照需求选择创建RAID级别、需要加入的物理磁盘、假造磁盘的空间大小及名称
选择加入的物理磁盘选择为“空格键”;完成后按"ok"
是否跳过初始化选择“OK”
创建完成
光标移动至新建的假造磁盘上按“f2”选择“Initialization”初始化,选择“Fast Init”快速初始化
提示信息选择“YES”
初始化完成提示信息
"Ctrl+N"到“PD Mgmt”界面,查抄创建假造磁盘时选中的物理磁盘状态是否为“OnLine”
在“PD Mgmt”界面选择空闲物理磁盘,按“f2”选择“Make Global HS”成为全局热备盘
创建完成后查抄物理磁盘是否为“HotSpare”
软RAID
使用Linux系统为例
nvme0n3、nvme0n4均需要进行相同利用
- #创建RAID5
- mdadm -C -v /dev/md0 [-a yes] -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1
- -C:表示新建;
- -v:显示创建过程中的详细信息。
- /dev/md0:创建 RAID5 的名称。
- -a yes:--auto,表示如果有什么设备文件没有存在的话就自动创建,可省略。
- -l:指定 RAID 的级别,l5 表示创建 RAID5。
- -n:指定使用几块硬盘创建 RAID,n3 表示使用 3 块硬盘创建 RAID。
- /dev/sd[bcd]1:指定使用这3块磁盘分区去创建 RAID。
- -x:指定使用几块硬盘做RAID的热备用盘,x1表示保留1块空闲的硬盘作备用
- /dev/sde1:指定用作于备用的磁盘
- #查看RAID磁盘详细信息
- cat /proc/mdstat #还能查看创建RAID的进度
- 或者
- mdadm -D /dev/md0
- #用watch命令来每隔一段时间刷新 /proc/mdstat 的输出
- watch -n 10 'cat /proc/mdstat'
- #检查磁盘是否已做RAID
- mdadm -E /dev/sd[b-e]1
复制代码



- [root@rhel9-1 ~]# lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
- sr0 11:0 1 9.8G 0 rom /mnt
- nvme0n1 259:0 0 80G 0 disk
- ├─nvme0n1p1 259:1 0 600M 0 part /boot/efi
- ├─nvme0n1p2 259:2 0 1G 0 part /boot
- └─nvme0n1p3 259:3 0 78.4G 0 part
- ├─rhel-root 253:0 0 47.4G 0 lvm /
- ├─rhel-swap 253:1 0 7.8G 0 lvm [SWAP]
- └─rhel-home 253:2 0 23.2G 0 lvm /home
- nvme0n2 259:4 0 50G 0 disk
- nvme0n3 259:5 0 50G 0 disk
- nvme0n4 259:6 0 50G 0 disk
- [root@rhel9-1 ~]# yum install -y mdadm
- 正在更新 Subscription Management 软件仓库。
- ali_baseos 9.5 kB/s | 3.9 kB 00:00
- ali_baseos 5.4 MB/s | 8.0 MB 00:01
- ali_appstream 11 kB/s | 4.4 kB 00:00
- ali_appstream 6.7 MB/s | 19 MB 00:02
- redhat9-BaseOS 2.7 MB/s | 2.7 kB 00:00
- redhat9-AppStream 3.1 MB/s | 3.2 kB 00:00
- 软件包 mdadm-4.2-9.el9.x86_64 已安装。
- 依赖关系解决。
- =========================================================================================================
- 软件包 架构 版本 仓库 大小
- =========================================================================================================
- 升级:
- mdadm x86_64 4.3-1.el9 ali_baseos 433 k
- 事务概要
- =========================================================================================================
- 升级 1 软件包
- 总下载:433 k
- 下载软件包:
- mdadm-4.3-1.el9.x86_64.rpm 716 kB/s | 433 kB 00:00
- ---------------------------------------------------------------------------------------------------------
- 总计 714 kB/s | 433 kB 00:00
- 运行事务检查
- 事务检查成功。
- 运行事务测试
- 事务测试成功。
- 运行事务
- 准备中 : 1/1
- 升级 : mdadm-4.3-1.el9.x86_64 1/2
- 运行脚本: mdadm-4.3-1.el9.x86_64 1/2
- 运行脚本: mdadm-4.2-9.el9.x86_64 2/2
- 清理 : mdadm-4.2-9.el9.x86_64 2/2
- 运行脚本: mdadm-4.2-9.el9.x86_64 2/2
- 验证 : mdadm-4.3-1.el9.x86_64 1/2
- 验证 : mdadm-4.2-9.el9.x86_64 2/2
- 已更新安装的产品。
- 已升级:
- mdadm-4.3-1.el9.x86_64
- 完毕!
- [root@rhel9-1 ~]# fdisk /dev/nvme0n2
- 欢迎使用 fdisk (util-linux 2.37.4)。
- 更改将停留在内存中,直到您决定将更改写入磁盘。
- 使用写入命令前请三思。
- 设备不包含可识别的分区表。
- 创建了一个磁盘标识符为 0x804d6263 的新 DOS 磁盘标签。
- 命令(输入 m 获取帮助):n
- 分区类型
- p 主分区 (0 primary, 0 extended, 4 free)
- e 扩展分区 (逻辑分区容器)
- 选择 (默认 p):
- 将使用默认回应 p。
- 分区号 (1-4, 默认 1):
- 第一个扇区 (2048-104857599, 默认 2048):
- 最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-104857599, 默认 104857599):
- 创建了一个新分区 1,类型为“Linux”,大小为 50 GiB。
- 命令(输入 m 获取帮助):t
- 已选择分区 1
- Hex 代码或别名(输入 L 列出所有代码):L
- 00 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris
- 01 FAT12 27 隐藏的 NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
- 02 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
- 03 XENIX usr 3c PartitionMagic 84 OS/2 隐藏 或 In c6 DRDOS/sec (FAT-
- 04 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx
- 05 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据
- 06 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
- 07 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具
- 08 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
- 09 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问
- 0a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
- 0b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
- 0c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 ea Linux 扩展启动
- 0e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs
- 0f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT
- 10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/
- 11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC
- 12 Compaq 诊断 5c Priam Edisk a9 NetBSD f1 SpeedStor
- 14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f4 SpeedStor
- 16 隐藏的 FAT16 63 GNU HURD 或 Sys af HFS / HFS+ f2 DOS 次要
- 17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS
- 18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fc VMware VMKCORE
- 1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fd Linux raid 自动
- 1c 隐藏的 W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep
- 1e 隐藏的 W95 FAT1 80 旧 Minix be Solaris 启动 ff BBT
- 别名:
- linux - 83
- swap - 82
- extended - 05
- uefi - EF
- raid - FD
- lvm - 8E
- linuxex - 85
- Hex 代码或别名(输入 L 列出所有代码):fd
- 已将分区“Linux”的类型更改为“Linux raid autodetect”。
- 命令(输入 m 获取帮助):w
- 分区表已调整。
- 将调用 ioctl() 来重新读分区表。
- 正在同步磁盘。
- [root@rhel9-1 ~]# fdisk /dev/nvme0n3
- 欢迎使用 fdisk (util-linux 2.37.4)。
- 更改将停留在内存中,直到您决定将更改写入磁盘。
- 使用写入命令前请三思。
- 设备不包含可识别的分区表。
- 创建了一个磁盘标识符为 0x281f507d 的新 DOS 磁盘标签。
- 命令(输入 m 获取帮助):n
- 分区类型
- p 主分区 (0 primary, 0 extended, 4 free)
- e 扩展分区 (逻辑分区容器)
- 选择 (默认 p):
- 将使用默认回应 p。
- 分区号 (1-4, 默认 1):
- 第一个扇区 (2048-104857599, 默认 2048):
- 最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-104857599, 默认 104857599):
- 创建了一个新分区 1,类型为“Linux”,大小为 50 GiB。
- 命令(输入 m 获取帮助):t
- 已选择分区 1
- Hex 代码或别名(输入 L 列出所有代码):fd
- 已将分区“Linux”的类型更改为“Linux raid autodetect”。
- 命令(输入 m 获取帮助):w
- 分区表已调整。
- 将调用 ioctl() 来重新读分区表。
- 正在同步磁盘。
- [root@rhel9-1 ~]# fdisk /dev/nvme0n4
- 欢迎使用 fdisk (util-linux 2.37.4)。
- 更改将停留在内存中,直到您决定将更改写入磁盘。
- 使用写入命令前请三思。
- 设备不包含可识别的分区表。
- 创建了一个磁盘标识符为 0xdc53e37c 的新 DOS 磁盘标签。
- 命令(输入 m 获取帮助):n\
- 分区类型
- p 主分区 (0 primary, 0 extended, 4 free)
- e 扩展分区 (逻辑分区容器)
- 选择 (默认 p):
- 将使用默认回应 p。
- 分区号 (1-4, 默认 1):
- 第一个扇区 (2048-104857599, 默认 2048):
- 最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-104857599, 默认 104857599):
- 创建了一个新分区 1,类型为“Linux”,大小为 50 GiB。
- 命令(输入 m 获取帮助):t
- 已选择分区 1
- Hex 代码或别名(输入 L 列出所有代码):fd
- 已将分区“Linux”的类型更改为“Linux raid autodetect”。
- 命令(输入 m 获取帮助):w
- 分区表已调整。
- 将调用 ioctl() 来重新读分区表。
- 正在同步磁盘。
- [root@rhel9-1 ~]# lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
- sr0 11:0 1 9.8G 0 rom /mnt
- nvme0n1 259:0 0 80G 0 disk
- ├─nvme0n1p1 259:1 0 600M 0 part /boot/efi
- ├─nvme0n1p2 259:2 0 1G 0 part /boot
- └─nvme0n1p3 259:3 0 78.4G 0 part
- ├─rhel-root 253:0 0 47.4G 0 lvm /
- ├─rhel-swap 253:1 0 7.8G 0 lvm [SWAP]
- └─rhel-home 253:2 0 23.2G 0 lvm /home
- nvme0n2 259:4 0 50G 0 disk
- └─nvme0n2p1 259:8 0 50G 0 part
- nvme0n3 259:5 0 50G 0 disk
- └─nvme0n3p1 259:9 0 50G 0 part
- nvme0n4 259:6 0 50G 0 disk
- └─nvme0n4p1 259:10 0 50G 0 part
- [root@rhel9-1 ~]# mdadm -C -v /dev/md0 -a yes -l5 -n3 /dev/nvme0n2p1 /dev/nvme0n3p1 /dev/nvme0n4p1
- mdadm: layout defaults to left-symmetric
- mdadm: layout defaults to left-symmetric
- mdadm: chunk size defaults to 512K
- mdadm: size set to 52393984K
- mdadm: Defaulting to version 1.2 metadata
- mdadm: array /dev/md0 started.
- [root@rhel9-1 ~]# mdadm -D /dev/md0
- /dev/md0:
- Version : 1.2
- Creation Time : Mon Apr 22 20:36:53 2024
- Raid Level : raid5
- Array Size : 104787968 (99.93 GiB 107.30 GB)
- Used Dev Size : 52393984 (49.97 GiB 53.65 GB)
- Raid Devices : 3
- Total Devices : 3
- Persistence : Superblock is persistent
- Update Time : Mon Apr 22 20:37:58 2024
- State : clean, degraded, recovering
- Active Devices : 2
- Working Devices : 3
- Failed Devices : 0
- Spare Devices : 1
- Layout : left-symmetric
- Chunk Size : 512K
- Consistency Policy : resync
- Rebuild Status : 25% complete
- Name : xy10:0 (local to host xy10)
- UUID : d6e6ba0b:53220703:72633004:6e0877d2
- Events : 5
- Number Major Minor RaidDevice State
- 0 259 8 0 active sync /dev/nvme0n2p1
- 1 259 9 1 active sync /dev/nvme0n3p1
- 3 259 10 2 spare rebuilding /dev/nvme0n4p1
- [root@rhel9-1 ~]# mdadm -D /dev/md0
- /dev/md0:
- Version : 1.2
- Creation Time : Mon Apr 22 20:36:53 2024
- Raid Level : raid5
- Array Size : 104787968 (99.93 GiB 107.30 GB)
- Used Dev Size : 52393984 (49.97 GiB 53.65 GB)
- Raid Devices : 3
- Total Devices : 3
- Persistence : Superblock is persistent
- Update Time : Mon Apr 22 20:41:34 2024
- State : clean
- Active Devices : 3
- Working Devices : 3
- Failed Devices : 0
- Spare Devices : 0
- Layout : left-symmetric
- Chunk Size : 512K
- Consistency Policy : resync
- Name : xy10:0 (local to host xy10)
- UUID : d6e6ba0b:53220703:72633004:6e0877d2
- Events : 18
- Number Major Minor RaidDevice State
- 0 259 8 0 active sync /dev/nvme0n2p1
- 1 259 9 1 active sync /dev/nvme0n3p1
- 3 259 10 2 active sync /dev/nvme0n4p1
- [root@rhel9-1 ~]# mkfs.xfs /dev/md0
- log stripe unit (524288 bytes) is too large (maximum is 256KiB)
- log stripe unit adjusted to 32KiB
- meta-data=/dev/md0 isize=512 agcount=16, agsize=1637248 blks
- = sectsz=512 attr=2, projid32bit=1
- = crc=1 finobt=1, sparse=1, rmapbt=0
- = reflink=1 bigtime=1 inobtcount=1 nrext64=0
- data = bsize=4096 blocks=26195968, imaxpct=25
- = sunit=128 swidth=256 blks
- naming =version 2 bsize=4096 ascii-ci=0, ftype=1
- log =internal log bsize=4096 blocks=16384, version=2
- = sectsz=512 sunit=8 blks, lazy-count=1
- realtime =none extsz=4096 blocks=0, rtextents=0
- [root@rhel9-1 ~]# mkdir /opt/data
- [root@rhel9-1 ~]# blkid /dev/md0
- /dev/md0: UUID="730d538d-751f-482e-893f-8cd2d8a38e10" TYPE="xfs"
- [root@rhel9-1 ~]# vim /etc/fstab
- [root@rhel9-1 ~]# mount -a
- [root@rhel9-1 ~]# df -h
- 文件系统 容量 已用 可用 已用% 挂载点
- devtmpfs 4.0M 0 4.0M 0% /dev
- tmpfs 1.8G 0 1.8G 0% /dev/shm
- tmpfs 724M 9.7M 714M 2% /run
- /dev/mapper/rhel-root 48G 4.5G 43G 10% /
- /dev/sr0 9.9G 9.9G 0 100% /mnt
- /dev/mapper/rhel-home 24G 198M 23G 1% /home
- /dev/nvme0n1p2 960M 292M 669M 31% /boot
- /dev/nvme0n1p1 599M 7.0M 592M 2% /boot/efi
- tmpfs 362M 52K 362M 1% /run/user/42
- tmpfs 362M 36K 362M 1% /run/user/0
- /dev/md0 100G 747M 100G 1% /opt/data
- [root@rhel9-1 ~]#
复制代码- [root@rhel9-1 ~]# vim /etc/fstab
- #
- # /etc/fstab
- # Created by anaconda on Mon Apr 15 06:43:50 2024
- #
- # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
- # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
- #
- # After editing this file, run 'systemctl daemon-reload' to update systemd
- # units generated from this file.
- #
- /dev/mapper/rhel-root / xfs defaults 0 0
- UUID=fd674837-4996-4f18-91b3-d25bd7506779 /boot xfs defaults 0 0
- UUID=C9F0-9BE3 /boot/efi vfat umask=0077,shortname=winnt 0 2
- /dev/mapper/rhel-home /home xfs defaults 0 0
- /dev/mapper/rhel-swap none swap defaults 0 0
- /dev/sr0 /mnt iso9660 defaults 0 0
- UUID=730d538d-751f-482e-893f-8cd2d8a38e10 /opt/data xfs defaults 0 0
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |