磁盘阵
高效的数据组织和条带化的并行访问
独立硬盘冗余阵列
RAID redundant array of independent disks
RAID数据组织的形式
条带: 硬盘中单个或多个连续的扇区,是一块硬盘进行一次数据读写的最小单元
分条: 同一个硬盘的阵列中,有多个硬盘驱动器上相同位置编号的条带
raid分为软件raid 和硬件raid
硬件raid需要raid卡
RAID数据保护方式:
- 在另外一块冗余的硬盘上保存副本
- 奇偶校验算法
- RAID常用级别 特性
- RAID 0 用在UI数据安全要求不高 但是要求廉价 高利用率的情况下
- RAID 1 主要通过二次读写,实现镜像磁盘 在数据安全很重要的场所使用
- RAID 3 比RAID0 多了个奇偶校验 多一块磁盘 但是数据冗余性好
RAID 5 *每个磁盘都能存校验 ,有几个盘就能产生几个读写盘 比raid3 减少一个校验盘
RAID 6 RAID6 P+Q RAID6 DP 两种校验算法 至少需要N+2 个磁盘来构成阵列,一般用在数据可靠性极高,可用性极高的场所
RAID 10 将镜像raid 和条带进行组合 先进性raid1 镜像 然后再做raid0
RAID 50 * 使用了raid5和raid0来混合使用 第一级是raid5 第二级是raid0
RAID 的两种备份方法
1 热备
2 重构
RAID状态:
- 创建raid
- 创建成功 raid正常工作
- 发生故障 raid降级等待
- 假设重构成功 则回到2状态
- 如果失败则raid直接失效
- RAID实验:通过linux服务器 添加四块新硬盘 完成raid 10的部署
- [root@rhel8-server ~]# lsblk 查看目前系统的硬盘情况
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sr0 11:0 1 6.6G 0 rom /run/media/root/RHEL-8-0-0-BaseOS-x86_64
- nvme0n1 259:0 0 20G 0 disk
- ├─nvme0n1p1 259:1 0 1G 0 part /boot
- └─nvme0n1p2 259:2 0 19G 0 part
- ├─rhel-root 253:0 0 17G 0 lvm /
- └─rhel-swap 253:1 0 2G 0 lvm [SWAP]
- nvme0n2 259:3 0 20G 0 disk
- nvme0n3 259:4 0 20G 0 disk
- nvme0n4 259:5 0 20G 0 disk
- nvme0n5 259:6 0 20G 0 disk
- mdadm命令的常用参数以及作用
参数 |
作用 |
-a |
检测设备名称 |
-n |
指定设备数量 |
-l |
指定RAID级别 |
-C |
创建 |
-v |
显示过程 |
-f |
模拟设备损坏 |
-r |
移除设备 |
-Q |
查看摘要信息 |
-D |
查看详细信息 |
-S |
停止RAID磁盘阵列 |
- [root@rhel8-server ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/nvme0n2 /dev/nvme0n3 /dev/nvme0n4 /dev/nvme0n5
- mdadm: layout defaults to n2
- mdadm: layout defaults to n2
- mdadm: chunk size defaults to 512K
- mdadm: size set to 20954112K
- mdadm: Defaulting to version 1.2 metadata
- mdadm: array /dev/md0 started.
- [root@rhel8-server ~]# lsblk 查看四块硬盘raid等级
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sr0 11:0 1 6.6G 0 rom /run/media/root/RHEL-8-0-0-BaseOS-x86_64
- nvme0n1 259:0 0 20G 0 disk
- ├─nvme0n1p1 259:1 0 1G 0 part /boot
- └─nvme0n1p2 259:2 0 19G 0 part
- ├─rhel-root 253:0 0 17G 0 lvm /
- └─rhel-swap 253:1 0 2G 0 lvm [SWAP]
- nvme0n2 259:3 0 20G 0 disk
- └─md0 9:0 0 40G 0 raid10
- nvme0n3 259:4 0 20G 0 disk
- └─md0 9:0 0 40G 0 raid10
- nvme0n4 259:5 0 20G 0 disk
- └─md0 9:0 0 40G 0 raid10
- nvme0n5 259:6 0 20G 0 disk
- └─md0 9:0 0 40G 0 raid10
- [root@rhel8-server ~]# mkfs.ext4 /dev/md0 把dev/md0 格式化成了ext4文件系统
- mke2fs 1.44.3 (10-July-2018)
- Creating filesystem with 10477056 4k blocks and 2621440 inodes
- Filesystem UUID: e8aef858-ace4-43c6-9949-917eea035134
- Superblock backups stored on blocks:
- 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
- 4096000, 7962624
- Allocating group tables: done
- Writing inode tables: done
- Creating journal (65536 blocks): done
- Writing superblocks and filesystem accounting information: done
- [root@rhel8-server ~]# mkdir /RAID 创建挂载点
- [root@rhel8-server ~]# mount /dev/md0 /RAID 把硬盘设备挂载到挂载点
- [root@rhel8-server ~]# df -h
- Filesystem Size Used Avail Use% Mounted on
- devtmpfs 1.9G 0 1.9G 0% /dev
- tmpfs 1.9G 0 1.9G 0% /dev/shm
- tmpfs 1.9G 10M 1.9G 1% /run
- tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
- /dev/mapper/rhel-root 17G 4.0G 14G 24% /
- /dev/nvme0n1p1 1014M 169M 846M 17% /boot
- tmpfs 376M 16K 376M 1% /run/user/42
- tmpfs 376M 2.3M 374M 1% /run/user/0
- /dev/sr0 6.7G 6.7G 0 100% /run/media/root/RHEL-8-0-0-BaseOS-x86_64
- /dev/md0 40G 49M 38G 1% /RAID
- [root@rhel8-server RAID]# mdadm -D /dev/md0 通过-D来查看磁盘阵列详细信息确认无误
- /dev/md0:
- Version : 1.2
- Creation Time : Sat Jan 15 22:41:06 2022
- Raid Level : raid10
- Array Size : 41908224 (39.97 GiB 42.91 GB)
- Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
- Raid Devices : 4
- Total Devices : 4
- Persistence : Superblock is persistent
- Update Time : Sat Jan 15 22:46:53 2022
- State : clean
- Active Devices : 4
- Working Devices : 4
- Failed Devices : 0
- Spare Devices : 0
- Layout : near=2
- Chunk Size : 512K
- Consistency Policy : resync
- Name : rhel8-server:0 (local to host rhel8-server)
- UUID : 9fd06c28:af2e0d36:eb1a09bb:9fc11b9b
- Events : 19
- Number Major Minor RaidDevice State
- 0 259 3 0 active sync set-A /dev/nvme0n2
- 1 259 4 1 active sync set-B /dev/nvme0n3
- 2 259 5 2 active sync set-A /dev/nvme0n4
- 3 259 6 3 active sync set-B /dev/nvme0n5
- 当确认无误后,我们需要来对系统做永久挂载 永久挂载配置文件 /etc/fstab
- [root@rhel8-server RAID]# vim /etc/fstab
- [root@rhel8-server RAID]#
- [root@rhel8-server RAID]#
- [root@rhel8-server RAID]# cat /etc/fstab
- #
- # /etc/fstab
- # Created by anaconda on Fri Jan 7 22:26:04 2022
- #
- # 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=7002282d-fea0-4380-9a2b-6495aba65ee6 /boot xfs defaults 0 0
- /dev/mapper/rhel-swap swap swap defaults 0 0
- /dev/md0 /RAID ext4 defaults 0 0
- 最后一行加入以上信息
- 完成后务必 mount -a 保证配置文件没有问题 如果报错必须回去修改配置文件