服务器硬件,raid配置

文章目录

服务器硬件

  • 处理器(CPU):服务器的核心组件,负责执行计算和指令操作。服务器常使用多核心的处理器,以提供更高的处理能力和并发性。
  • 内存(RAM):用于临时存储数据和程序的地方,服务器需要足够的内存来支持多个任务和并发用户。服务器通常具备大容量的内存,以应对大规模的数据处理需求。
  • 存储设备:服务器需要可靠和大容量的存储设备来存储操作系统、应用程序、数据和文件。存储设备包括硬盘驱动器(HDD)和固态驱动器(SSD),它们提供持久性存储和快速的数据访问。
  • 网络接口卡(NIC):是服务器与网络通信的关键部件,用于连接服务器与局域网或广域网。
  • 电源:服务器的电源负责为整个系统提供稳定的电力供应,确保服务器的稳定运行。
  • 定制化硬件:一些特殊用途的服务器还可能配备其他定制化的硬件,例如,数据库服务器可能配备专用的高速存储设备,用于处理海量的数据库操作;而视频编码服务器可能会配置高性能的图形处理单元(GPU)来加速视频编码和解码。

此外,服务器的硬件构成还可能包括其他组件,如主板、PCI-e插槽、RAID卡等,这些组件共同协作,确保服务器能够高效、稳定地运行。

RAID磁盘阵列

  • 是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列
  • 把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能 和提供数据备份技术
  • 组成磁盘阵列的不同方式称为RAID级别(RAID Levels)
  • 常用的RAID级别

RAIDO,RAID1,RAID5,RAID6,RAID1+0等

RAID 0

  • RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率(读写性能高) ,但它没有数据冗余
  • RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数
  • RAID 0不能应用于数据安全性要求高的场合

条带卷

N块硬盘井行组合

成一个新的逻辑盘

RAID 1

  • 通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据
  • 当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能(写入慢,读的快)
  • RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性,当一个磁盘失效 时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据

复制卷镜像

N (偶数)块硬盘组合

成一组镜像,N/2容量

RAID 5

  • N (N>=3)块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储
  • N块盘同时读写,读性能很高 ,但由于有校验机制 的问题,写性能相对不高
  • (N-1)/N磁盘利用率
  • 可靠性高,允许坏1块盘,不影响所有数据,坏两块无法恢复

RAID 6

  • N (N>=4)块盘组成阵列,(N-2)WN磁盘利用率
  • 与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块
  • 两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用
  • 相对于RAID 5有更大的"写损失",因此写性能较差

RAID 1+0

  • N(偶数,N>=4)块盘两两镜像后,再组合成一个RAID 0
  • N/2磁盘利用率
  • N/2块盘同时写入,N块盘同时读取
  • 性能高(读写),可靠性高

阵列卡,阵列卡的缓存

阵列卡

  • 阵列卡是用来实现RAID功能的板卡
  • 通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列组件构成的
  • 不同的RAID卡支持的RAID功能不同

例如支持RAIDO、RAID1、RAID5、RAID10等

  • RAID卡的接口类型

IDE接口、SCSI接口、SATA接口和SAS接口

阵列卡的缓存

  • 缓存(Cache)是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到缓存,再由缓存和外边数据总线
  • 交换数据
  • 缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素
  • 不同的RAID卡出厂时配备的内存容量不同,一般为几兆到数百兆容量不等

软RAID磁盘阵列

  • 安装mdadm
  • 准备用于RAID阵列的分区

为Linux服务器添加4块SCSI硬盘,并使用fdisk工具各划分出一块2GB的分区,依次为/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1

将其类型ID更改为"fd",对应为"Linux raid autodetect",表示支持用于RAID磁盘阵列

  • 创建RAID设备,建立文件系统
  • 挂载并使用文件系统

[root@localhost ~]# echo " - - - " > /sys/class/scsi_host/host0/scan

root@localhost ~]# fdisk -l

磁盘 /dev/sdb:2147 MB, 2147483648 字节,4194304 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdd:2147 MB, 2147483648 字节,4194304 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdc:2147 MB, 2147483648 字节,4194304 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sda:53.7 GB, 53687091200 字节,104857600 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x0009533d

设备 Boot Start End Blocks Id System

/dev/sda1 * 2048 976895 487424 83 Linux

/dev/sda2 976896 104857599 51940352 8e Linux LVM

磁盘 /dev/sde:2147 MB, 2147483648 字节,4194304 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-root:48.2 GB, 48179970048 字节,94101504 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-swap:4999 MB, 4999610368 字节,9764864 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

[root@localhost ~]# fdisk /dev/sd

/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde

[root@localhost ~]# fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

Device does not contain a recognized partition table

使用磁盘标识符 0x64ff0716 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p): p

分区号 (1-4,默认 1):

起始 扇区 (2048-4194303,默认为 2048):

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):

将使用默认值 4194303

分区 1 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):t

已选择分区 1

Hex 代码(输入 L 列出所有代码):L

0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris

1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT-

2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-

3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT-

4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx

5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据

6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .

7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具

8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt

9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问

a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O

b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor

c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs

e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT

f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/

10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC

11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor

12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor

14 隐藏的 FAT16 ❤️ 61 SpeedStor ab Darwin 启动 f2 DOS 次要

16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS

17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE

18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动

1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep

1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT

1e 隐藏的 W95 FAT1 80 旧 Minix

Hex 代码(输入 L 列出所有代码):fd

已将分区"Linux"的类型更改为"Linux raid autodetect"

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:2147 MB, 2147483648 字节,4194304 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x64ff0716

设备 Boot Start End Blocks Id System

/dev/sdb1 2048 4194303 2096128 fd Linux raid autodetect

命令(输入 m 获取帮助):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。

[root@localhost ~]# fdisk /dev/sdc

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

Device does not contain a recognized partition table

使用磁盘标识符 0xde94f6f0 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p): p

分区号 (1-4,默认 1):

起始 扇区 (2048-4194303,默认为 2048):

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):

将使用默认值 4194303

分区 1 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):t

已选择分区 1

Hex 代码(输入 L 列出所有代码):fd

已将分区"Linux"的类型更改为"Linux raid autodetect"

命令(输入 m 获取帮助):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。

[root@localhost ~]# fdisk /dev/sdd

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

Device does not contain a recognized partition table

使用磁盘标识符 0x77bcb8c6 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p): p

分区号 (1-4,默认 1):

起始 扇区 (2048-4194303,默认为 2048):

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):

将使用默认值 4194303

分区 1 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):t

已选择分区 1

Hex 代码(输入 L 列出所有代码):fd

已将分区"Linux"的类型更改为"Linux raid autodetect"

命令(输入 m 获取帮助):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。

[root@localhost ~]# fdisk /dev/sde

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

Device does not contain a recognized partition table

使用磁盘标识符 0xf28f3e03 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p): p

分区号 (1-4,默认 1):

起始 扇区 (2048-4194303,默认为 2048):

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):

将使用默认值 4194303

分区 1 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):t

已选择分区 1

Hex 代码(输入 L 列出所有代码):fd

已将分区"Linux"的类型更改为"Linux raid autodetect"

命令(输入 m 获取帮助):

命令(输入 m 获取帮助):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。

mkdir /home/raid5

mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1 创建RAID 5磁盘阵列

mkfs.xfs /dev/md5

mount /dev/md5 /home/raid5

RAID阵列的管理及设备恢复

  • 扫描或查看磁盘阵列信息
  • 启动/停止RAID阵列
  • 设备恢复操作

模拟阵列设备故障

更换故障设备,并恢复数据

cat /proc/mdstat mdadm -D /dev/md查看阵列

umount /dev/md5 解除挂载

mdadm -S /dev/md5停止raid

mdadm -A -s /dev/md5激活设备

mdadm -R /dev/md5强制启动

mdadm /dev/md5 -f /dev/sdb1停止sdb1

mdadm /dev/md5 -r /dev/sdb1删除sdb1

mdadm

mdadm [mode] [options]

命令 模式 阵列名字(md0) 选项 选择/dev/sdb /dev/sdd

mdadm -Cv /dev/md0 -l 10(raid) -n 4 -x 1 /dev/sd[bcde] {b,c,d,e,f}

-C :创建

-A :装配

-F :监控

-f, -r, -a: 管理

: /dev/md#

: 任意块设备

-n #: 使用#个块设备来创建此RAID

-l #:指明要创建的RAID的级别 0 1 5 10

-c CHUNK_SIZE: 指明块大小,单位k

-x #: 指明空闲盘的个数 热备 盘 -x 1 /dev/sd#

-D:显示raid的详细信息

mdadm -D /dev/md# 软raid名字

管理模式:

-f: 标记指定磁盘为损坏

-a: 添加磁盘

-r: 移除磁盘

#使用mdadm创建并定义RAID设备

mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1

命令 raid名 级别 盘数 热备

#用文件系统对每个RAID设备进行格式化

mkfs.xfs /dev/md0

#使用mdadm检查RAID设备的状况

mdadm --detail /dev/md0

mdadm -D /dev/md0

#增加新的成员

mdadm -G /dev/md0 -n4 -a /dev/sdf1

#模拟磁盘故障

mdadm /dev/md0 -f /dev/sda1

#移除磁盘

mdadm /dev/md0 -r /dev/sda1

#在备用驱动器上重建分区

mdadm /dev/md0 -a /dev/sda1

#删除raid信息:

mdadm --zero-superblock /dev/sdb1

#系统日志信息

cat /proc/mdstat

相关推荐
长弓聊编程2 分钟前
Linux系统使用valgrind分析C++程序内存资源使用情况
linux·c++
cherub.9 分钟前
深入解析信号量:定义与环形队列生产消费模型剖析
linux·c++
梅见十柒32 分钟前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生
Koi慢热36 分钟前
路由基础(全)
linux·网络·网络协议·安全
传而习乎1 小时前
Linux:CentOS 7 解压 7zip 压缩的文件
linux·运维·centos
我们的五年1 小时前
【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
linux·c++·学习
IT果果日记1 小时前
ubuntu 安装 conda
linux·ubuntu·conda
Python私教1 小时前
ubuntu搭建k8s环境详细教程
linux·ubuntu·kubernetes
羑悻的小杀马特2 小时前
环境变量简介
linux
小陈phd2 小时前
Vscode LinuxC++环境配置
linux·c++·vscode