目录
一、服务器
1.服务器
2.查看服务器信息
二、RAID 磁盘阵列
三、软RAID的创建和使用
1.添加硬盘,fdisk分区,分区类型ID设置为 fd
2.使用mdadm创建软raid
3.格式化
4.挂载使用
5.mdadm
一、服务器
1.服务器
分类 | 机架式居多 塔式 刀片式 机柜式 |
架构 | X86 ARM |
品牌 | 戴尔 AMD 英特尔 惠普 华为 华三H3C 联想 浪潮 长城 |
规格 | 1C1G 2C4G 4C8G 32C128G 64C256G 等 |
2.查看服务器信息
查看服务器CPU信息:cat /proc/cpuinfo lscpu
model name #CPU型号
physical id #物理CPU的ID
cpu cores #每个物理CPU中的核心数
processor #逻辑CPU的ID
查看服务器内存的信息:cat /proc/meminfo free [-m]
二、RAID 磁盘阵列
RAID级别 | 读写性能 | 硬盘数量要求 | 利用率 | 有无冗余能力 |
RAID0(条带化存储) | 读写速度快 | N | N | 无 |
RAID1(镜像化存储) | 读快,写没有改变 | 偶数 | N/2 | 有,可允许一个硬盘故障 |
RAID5 | 读快,写会因为要多写一份纠删码数据而会影响写的性能 | >=3 | (N-1)/N | 有,可允许一个硬盘故障 |
RAID6 | 读快,写会因为要多写两份纠删码数据而会更影响写的性能 | >=4 | (N-2)/N | 有,可允许两个硬盘故障 |
RAID10 | 同时具备RAID0和RAID1的性能,读写都快 | >=4,偶数 | N/2 | 有,可允许不同RAID1组中各坏一个硬盘 |
RAID 0(条带化存储)
●RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余
●RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据
●RAID 0不能应用于数据安全性要求高的场合
RAID 1(镜像存储)
●通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据●当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能
●RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据
RAID 5
●N(N>=3)块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储●N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高
●(N-1)/N磁盘利用率
●可靠性高,允许坏1块盘,不影响所有数据
RAID 6
●N(N>=4)块盘组成阵列(N-2)/N磁盘利用率●与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块
●两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用
●相对于RAID 5有更大的“写损失”,因此写性能较差
RAID 1+0(先做镜象,再做条带)
●N(偶数,N>=4)块盘两两镜像后,再组合成一个RAID0
●N/2磁盘利用率
●N/2块盘同时写入,N块盘同时读取
●性能高,可靠性高
三、软RAID的创建和使用
1.添加硬盘,fdisk分区,分区类型ID设置为 fd
[root@bogon ~]# yum install -y mdadm
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 mdadm-4.1-9.el7_9.x86_64 已安装并且是最新版本
无须任何处理
[root@bogon ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0xe7a9083e 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n
Partition type:p primary (0 primary, 0 extended, 4 free)e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 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@bogon ~]#[root@bogon ~]# fdisk -l #查看是否创建好分区磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009f560设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 83886079 40893440 8e Linux LVM磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe7a9083e设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xdff5b102设备 Boot Start End Blocks Id System
/dev/sdc1 2048 41943039 20970496 fd Linux raid autodetect磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x2205b8c4设备 Boot Start End Blocks Id System
/dev/sdd1 2048 41943039 20970496 fd Linux raid autodetect磁盘 /dev/sde:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x19fb02af设备 Boot Start End Blocks Id System
/dev/sde1 2048 41943039 20970496 fd Linux raid autodetect磁盘 /dev/mapper/centos-root:37.7 GB, 37706792960 字节,73646080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节磁盘 /dev/mapper/centos-swap:4160 MB, 4160749568 字节,8126464 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节[root@bogon ~]#
2.使用mdadm创建软raid
创建raid5: mdadm -Cv /dev/mdX -l5 -n3 /dev/sdXX [-x1 /dev/sdXX]
创建过程中需要一段时间,可以使用watch -n 5 'cat /proc/mdstat'进行查看
[root@bogon ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1 #-C新建raid,-v表示显示详细信息,指定md5的名称,-l5表示raid5,-n3表示使用3块硬盘,-x1表示使用1块硬盘做热备份,是sde1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20953088K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.[root@bogon ~]# cat /proc/mdstat #查看
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]unused devices: <none>
[root@bogon ~]#
补充:创建raid10:(先做镜像,再做条带) mdadm -Cv /dev/md0 -l1 -n2 /dev/sdXX
mdadm -Cv /dev/md1 -l1 -n2 /dev/sdXX
mdadm -Cv /dev/md10 -l0 -n2 /dev/md0 /dev/md1
3.格式化
mkfs -t xfs/ext4 /dev/mdX
[root@bogon ~]# mkfs -t xfs /dev/md5
meta-data=/dev/md5 isize=512 agcount=16, agsize=654720 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=10475520, imaxpct=25= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=5120, version=2= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@bogon ~]#
[root@bogon ~]# mkdir /opt/xy101
[root@bogon ~]# ls /opt
rh xy101
[root@bogon ~]#
4.挂载使用
mount /etc/fstab
[root@bogon ~]# mount /dev/md5 /opt/xy101
[root@bogon ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 36G 4.7G 31G 14% /
/dev/sda1 xfs 1014M 187M 828M 19% /boot
tmpfs tmpfs 378M 12K 378M 1% /run/user/42
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/md5 xfs 40G 33M 40G 1% /opt/xy101
[root@bogon ~]#
5.mdadm
查看软raid的状态信息 cat /proc/mdstat mdadm -D /dev/mdX
mdadm的其它选项
-f | 模拟指定磁盘设备故障 |
-r | 移除磁盘设备 |
-a | 添加磁盘设备 |
-S | 停止软raid |
-As | 启动软raid,事先准备好 /etc/mdadm.conf 配置 |
创建配置文件,生成一些详细信息,追加到/etc/mdadm.conf中,包含raid5的配置文件信息,方便后面进行启动和停止的管理
[root@bogon ~]# echo 'DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1' > /etc/mdadm.conf
[root@bogon ~]# mdadm --detail --scan >> /etc/mdadm.conf
[root@bogon ~]# cat /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
ARRAY /dev/md5 metadata=1.2 spares=1 name=bogon:5 UUID=930d2b47:f89bb6be:1f7862a2:c2c933a0
[root@bogon ~]#
当一块硬盘发生故障,另一块热备份硬盘会取代故障硬盘,恢复数据
[root@bogon ~]# cd /opt/xy101
[root@bogon xy101]# touch file{1..100}
[root@bogon xy101]# mkdir dir{101..200}
[root@bogon xy101]# ls
dir101 dir112 dir123 dir134 dir145 dir156 dir167 dir178 dir189 dir200 file18 file28 file38 file48 file58 file68 file78 file88 file98
dir102 dir113 dir124 dir135 dir146 dir157 dir168 dir179 dir190 file1 file19 file29 file39 file49 file59 file69 file79 file89 file99
dir103 dir114 dir125 dir136 dir147 dir158 dir169 dir180 dir191 file10 file2 file3 file4 file5 file6 file7 file8 file9
dir104 dir115 dir126 dir137 dir148 dir159 dir170 dir181 dir192 file100 file20 file30 file40 file50 file60 file70 file80 file90
dir105 dir116 dir127 dir138 dir149 dir160 dir171 dir182 dir193 file11 file21 file31 file41 file51 file61 file71 file81 file91
dir106 dir117 dir128 dir139 dir150 dir161 dir172 dir183 dir194 file12 file22 file32 file42 file52 file62 file72 file82 file92
dir107 dir118 dir129 dir140 dir151 dir162 dir173 dir184 dir195 file13 file23 file33 file43 file53 file63 file73 file83 file93
dir108 dir119 dir130 dir141 dir152 dir163 dir174 dir185 dir196 file14 file24 file34 file44 file54 file64 file74 file84 file94
dir109 dir120 dir131 dir142 dir153 dir164 dir175 dir186 dir197 file15 file25 file35 file45 file55 file65 file75 file85 file95
dir110 dir121 dir132 dir143 dir154 dir165 dir176 dir187 dir198 file16 file26 file36 file46 file56 file66 file76 file86 file96
dir111 dir122 dir133 dir144 dir155 dir166 dir177 dir188 dir199 file17 file27 file37 file47 file57 file67 file77 file87 file97[root@bogon xy101]# mdadm /dev/md5 -f /dev/sdc1 #停止sdc1
mdadm: set /dev/sdc1 faulty in /dev/md5
[root@bogon xy101]# mdadm -D /dev/md5 #查看硬盘状态,sde1会取代sdc1
/dev/md5:Version : 1.2Creation Time : Tue Apr 16 21:49:39 2024Raid Level : raid5Array Size : 41906176 (39.96 GiB 42.91 GB)Used Dev Size : 20953088 (19.98 GiB 21.46 GB)Raid Devices : 3Total Devices : 4Persistence : Superblock is persistentUpdate Time : Tue Apr 16 22:11:06 2024State : clean, degraded, recoveringActive Devices : 2Working Devices : 3Failed Devices : 1Spare Devices : 1Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncRebuild Status : 22% completeName : bogon:5 (local to host bogon)UUID : 930d2b47:f89bb6be:1f7862a2:c2c933a0Events : 25Number Major Minor RaidDevice State0 8 17 0 active sync /dev/sdb13 8 65 1 spare rebuilding /dev/sde14 8 49 2 active sync /dev/sdd11 8 33 - faulty /dev/sdc1
[root@bogon xy101]#[root@bogon xy101]# cat /proc/mdstat #查看取代的过程,有进度条,需要等待一会
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3] sdc1[1](F) sdb1[0]41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U][=============>.......] recovery = 69.6% (14600576/20953088) finish=0.5min speed=205888K/secunused devices: <none>
[root@bogon xy101]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3] sdc1[1](F) sdb1[0]41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]unused devices: <none>
[root@bogon xy101]# mdadm -D /dev/md5
/dev/md5:Version : 1.2Creation Time : Tue Apr 16 21:49:39 2024Raid Level : raid5Array Size : 41906176 (39.96 GiB 42.91 GB)Used Dev Size : 20953088 (19.98 GiB 21.46 GB)Raid Devices : 3Total Devices : 4Persistence : Superblock is persistentUpdate Time : Tue Apr 16 22:12:32 2024State : cleanActive Devices : 3Working Devices : 3Failed Devices : 1Spare Devices : 0Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncName : bogon:5 (local to host bogon)UUID : 930d2b47:f89bb6be:1f7862a2:c2c933a0Events : 43Number Major Minor RaidDevice State0 8 17 0 active sync /dev/sdb13 8 65 1 active sync /dev/sde14 8 49 2 active sync /dev/sdd11 8 33 - faulty /dev/sdc1[root@bogon xy101]# cd /opt/xy101 #查看sde1取代sdc1之后,xy101里文件是否丢失
[root@bogon xy101]# ls
dir101 dir112 dir123 dir134 dir145 dir156 dir167 dir178 dir189 dir200 file18 file28 file38 file48 file58 file68 file78 file88 file98
dir102 dir113 dir124 dir135 dir146 dir157 dir168 dir179 dir190 file1 file19 file29 file39 file49 file59 file69 file79 file89 file99
dir103 dir114 dir125 dir136 dir147 dir158 dir169 dir180 dir191 file10 file2 file3 file4 file5 file6 file7 file8 file9
dir104 dir115 dir126 dir137 dir148 dir159 dir170 dir181 dir192 file100 file20 file30 file40 file50 file60 file70 file80 file90
dir105 dir116 dir127 dir138 dir149 dir160 dir171 dir182 dir193 file11 file21 file31 file41 file51 file61 file71 file81 file91
dir106 dir117 dir128 dir139 dir150 dir161 dir172 dir183 dir194 file12 file22 file32 file42 file52 file62 file72 file82 file92
dir107 dir118 dir129 dir140 dir151 dir162 dir173 dir184 dir195 file13 file23 file33 file43 file53 file63 file73 file83 file93
dir108 dir119 dir130 dir141 dir152 dir163 dir174 dir185 dir196 file14 file24 file34 file44 file54 file64 file74 file84 file94
dir109 dir120 dir131 dir142 dir153 dir164 dir175 dir186 dir197 file15 file25 file35 file45 file55 file65 file75 file85 file95
dir110 dir121 dir132 dir143 dir154 dir165 dir176 dir187 dir198 file16 file26 file36 file46 file56 file66 file76 file86 file96
dir111 dir122 dir133 dir144 dir155 dir166 dir177 dir188 dir199 file17 file27 file37 file47 file57 file67 file77 file87 file97
[root@bogon xy101]#[root@bogon opt]# mdadm /dev/md5 -r /dev/sdc1 #移除硬盘
mdadm: hot removed /dev/sdc1 from /dev/md5
[root@bogon opt]# mdadm /dev/md5 -a /dev/sdc1 #重新添加新硬盘
mdadm: added /dev/sdc1
[root@bogon opt]# mdadm -D /dev/md5
/dev/md5:Version : 1.2Creation Time : Tue Apr 16 21:49:39 2024Raid Level : raid5Array Size : 41906176 (39.96 GiB 42.91 GB)Used Dev Size : 20953088 (19.98 GiB 21.46 GB)Raid Devices : 3Total Devices : 4Persistence : Superblock is persistentUpdate Time : Tue Apr 16 22:29:00 2024State : cleanActive Devices : 3Working Devices : 4Failed Devices : 0Spare Devices : 1Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncName : bogon:5 (local to host bogon)UUID : 930d2b47:f89bb6be:1f7862a2:c2c933a0Events : 45Number Major Minor RaidDevice State0 8 17 0 active sync /dev/sdb13 8 65 1 active sync /dev/sde14 8 49 2 active sync /dev/sdd15 8 33 - spare /dev/sdc1
[root@bogon opt]#
停止和启动RAID(需要保证配置文件存在,且需要解挂载后才能停止)
[root@bogon opt]# ls /etc/mdadm.conf
/etc/mdadm.conf
[root@bogon opt]# cat /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
ARRAY /dev/md5 metadata=1.2 spares=1 name=bogon:5 UUID=930d2b47:f89bb6be:1f7862a2:c2c933a0
[root@bogon opt]# mdadm -S /dev/md5 #需要进行解挂载才能停止RAID
mdadm: Cannot get exclusive access to /dev/md5:Perhaps a running process, mounted filesystem or active volume group?
[root@bogon opt]# df
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 1913500 0 1913500 0% /dev
tmpfs 1930624 0 1930624 0% /dev/shm
tmpfs 1930624 12564 1918060 1% /run
tmpfs 1930624 0 1930624 0% /sys/fs/cgroup
/dev/mapper/centos-root 36805060 4848536 31956524 14% /
/dev/sda1 1038336 191284 847052 19% /boot
tmpfs 386128 12 386116 1% /run/user/42
tmpfs 386128 0 386128 0% /run/user/0
/dev/md5 41881600 34092 41847508 1% /opt/xy101
[root@bogon opt]# umount /opt/xy101
[root@bogon opt]# df
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 1913500 0 1913500 0% /dev
tmpfs 1930624 0 1930624 0% /dev/shm
tmpfs 1930624 12564 1918060 1% /run
tmpfs 1930624 0 1930624 0% /sys/fs/cgroup
/dev/mapper/centos-root 36805060 4848536 31956524 14% /
/dev/sda1 1038336 191284 847052 19% /boot
tmpfs 386128 12 386116 1% /run/user/42
tmpfs 386128 0 386128 0% /run/user/0
[root@bogon opt]# mdadm -S /dev/md5 #停止RAID
mdadm: stopped /dev/md5
[root@bogon opt]# ls /etc/md5
ls: 无法访问/etc/md5: 没有那个文件或目录
[root@bogon opt]#[root@bogon opt]# mdadm -As /dev/md5 #重新启动RAID
mdadm: /dev/md5 has been started with 3 drives and 1 spare.
[root@bogon opt]# ls /dev/md5
/dev/md5
[root@bogon opt]# cat /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
ARRAY /dev/md5 metadata=1.2 spares=1 name=bogon:5 UUID=930d2b47:f89bb6be:1f7862a2:c2c933a0
[root@bogon opt]#