Каталог статей
Предисловие
- RAID (Redundant Array of Independent Disks), полное название Redundant Array of Independent Disks
- Проще говоря, RAID представляет собой комбинацию нескольких независимых жестких дисков (физических жестких дисков) по-разному, чтобы сформировать группу жестких дисков (логический жесткий диск), тем самым обеспечивая более высокую производительность хранения, чем один жесткий диск, и предоставляя технологию резервного копирования данных.
- С точки зрения пользователя составная дисковая группа похожа на жесткий диск, и пользователь может разбивать, форматировать и т. Д.
- Различные способы формирования дискового массива называются уровнями RAID.Уровни RAID также представляют собой несколько различных уровней технологии RAID, которые могут обеспечивать разную скорость, безопасность и экономичность.
- Выбор соответствующего уровня RAID в соответствии с реальной ситуацией может удовлетворить требования пользователя к доступности, производительности и емкости системы хранения.
1. Подробное описание массива жестких дисков RAID.
- Объединение нескольких независимых физических жестких дисков различными способами в группу жестких дисков (логический жесткий диск) для обеспечения более высокой производительности хранилища, чем у одного жесткого диска, и обеспечения технологии резервного копирования данных
- RAID разделен на разные уровни, и разные уровни RAID достигли разных компромиссов в надежности данных и производительности чтения и записи.
- Обычно используются следующие уровни RAID:
- RAID 0
- RAID 1
- RAID 5
- RAID 6
- RAID 1 + 0 и т. Д.
1. Введение в дисковый массив RAID 0
- RAID 0 (чередующееся хранилище)
- RAID 0 непрерывно разделяет данные на биты или байты и читает / записывает на несколько дисков параллельно, поэтому он имеет высокую скорость передачи данных, но не имеет избыточности данных.
- RAID 0 просто улучшает производительность и не дает гарантии надежности данных, а отказ одного из дисков повлияет на все данные и параллельную комбинацию N жестких дисков.
- RAID 0 нельзя использовать в случаях с высокими требованиями к безопасности данных
2. Знакомство с дисковым массивом RAID 1
- RAID 1 (зеркальное хранилище)
- Обеспечьте избыточность данных за счет зеркалирования дисковых данных и создайте взаимные резервные копии данных на паре независимых дисков.
- Когда исходные данные заняты, данные могут быть прочитаны непосредственно из зеркальной копии, поэтому RAID 1 может улучшить производительность чтения.
- RAID 1 имеет самую высокую удельную стоимость в дисковом массиве, но обеспечивает высокую безопасность и доступность данных. При выходе из строя диска система может автоматически переключаться на чтение и запись на зеркальный диск без реорганизации неисправных данных.
3. Знакомство с дисковым массивом RAID 5
- N (N> = 3) дисков образуют массив, одна часть данных генерирует N-1 полос, а одна копия данных четности. Всего N частей данных циклически и равномерно сохраняются на N дисках.
- N дисков читают и записывают одновременно, производительность чтения очень высока, но из-за проблем с механизмом проверки производительность записи относительно низкая.
- (N-1) / N Использование диска
- Высокая надежность, позволяющая повредить один диск, не затрагивая все данные
4. Знакомство с дисковым массивом RAID 6
- N (N> = 4) дисков образуют массив, (N-2) / N использование диска
- По сравнению с RAID 5, RAID 6 добавляет второй независимый блок информации о четности.
- Две независимые системы контроля четности используют разные алгоритмы, даже если два диска выйдут из строя одновременно, это не повлияет на использование данных.
- По сравнению с RAID 5, "потеря записи" больше, поэтому производительность записи низкая.
5. Таблица сравнения RAID
Уровень RAID | Количество жестких дисков | Использование диска | Есть чек? | Способность защиты | Производительность записи |
---|---|---|---|---|---|
RAID0 | N | N | нет | нет | N раз одного жесткого диска |
RAID1 | N (четное число) | N / 2 | нет | Разрешить сбой устройства | Необходимо написать две пары запоминающих устройств, чтобы подготовиться друг к другу |
RAID5 | N> 3 | (N-1) / N | Есть | Разрешить сбой устройства | Необходимо написать расчетный чек |
RAID6 | N> 4 | (N-2) / N | Есть | Разрешить два сбоя устройства | Необходимо дважды написать проверку расчета |
RAID1 + 0 | N> = 4 (четное число) | N / 2 | нет | Разрешить одному из двух базисных наборов быть плохим | N / 2 диска одновременно пишут |
6. Введение в дисковый массив RAID 1 + 0
- RAID 1 + 0 (сначала зеркалирование, затем чередование)
- После того, как N (четное число, N> = 4) дисков попарно зеркалируются, они объединяются в RAID 0
- Использование диска N / 2
- N / 2 дисков пишут одновременно, N дисков читают одновременно
- Высокая производительность и высокая надежность
2. Введение карты массива
1. Введение в Array Card
- Карта массива - это плата, используемая для реализации функции RAID.
- Обычно состоит из ряда компонентов, таких как процессор ввода-вывода, контроллер жесткого диска, разъем жесткого диска и кэш
- Различные карты RAID поддерживают разные функции RAID:
например, поддерживают RAID0, RAID1, RAID5, RAID10 и т. Д. - Типы интерфейса карты RAID:
интерфейс IDE, интерфейс SCSI, интерфейс SATA и интерфейс SAS
2. Кэш карты массива
- Кэш - это место, где карта RAID обменивается данными с внешней шиной.Карта RAID сначала передает данные в кэш, а затем кэш обменивается данными с внешней шиной данных.
- Размер и скорость кеша являются важными факторами, напрямую связанными с фактической скоростью передачи данных карты RAID.
- Различные карты RAID оснащены на заводе разным объемом памяти, обычно от нескольких мегабайт до сотен мегабайт.
В-третьих, создайте программный массив RAID5, шаги
1. Добавьте жесткий диск к виртуальной машине
Не забывайте, что виртуальную машину необходимо выключить перед добавлением.Проверьте
раздел диска, чтобы убедиться, что жесткий диск создан успешно.
[root@localhost ~]# fdisk -l
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009ac95
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 12584959 6291456 83 Linux
/dev/sda2 12584960 54527999 20971520 83 Linux
/dev/sda3 54528000 62916607 4194304 82 Linux swap / Solaris
/dev/sda4 62916608 83886079 10484736 5 Extended
/dev/sda5 62918656 83886079 10483712 83 Linux
磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdc:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdd:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sde:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
2. Проверьте, установлен ли пакет mdadm.
[root@localhost ~]# rpm -q mdadm
mdadm-4.0-5.el7.x86_64
3. Создайте раздел, таким же образом создайте остальные три
Измените идентификационный номер раздела на "fd"
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x7f2f5d10 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-83886079,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-83886079,默认为 83886079):
将使用默认值 83886079
分区 1 已设置为 Linux 类型,大小设为 40 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x7f2f5d10
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 83886079 41942016 fd Linux raid autodetect
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
4. Создайте устройство RAID.
[root@localhost ~]# mdadm -Cv /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 41909248K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
- -C: Новый
- -v: отобразить подробную информацию о процессе создания
- / dev / md5: создать имя RAID5
- -a yes: -auto, что означает, что если какой-либо файл устройства не существует, он будет создан автоматически, что может быть опущено
- -l: указать уровень RAID, l5 означает создать RAID5
- -n: указать использование нескольких жестких дисков для создания RAID, n3 означает использование 3 жестких дисков для создания RAID.
- / dev / sd [bd] 1: укажите эти четыре раздела диска для создания RAID.
- -x: указать использование чрезвычайно быстрых жестких дисков в качестве дисков горячего резерва для RAID, x1 означает зарезервировать свободный жесткий диск в качестве запасного.
- / dev / sde1: обозначен как запасной жесткий диск
5. Просмотрите процесс создания RAID.
-
Здесь вы можете увидеть текущий процент завершения (37,5%), время ожидания завершения и скорость передачи.
-
[UUU] Для завершения вы можете ввести эту команду несколько раз, чтобы просмотреть текущий прогресс выполнения.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
83818496 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[=======>.............] recovery = 37.5% (15727256/41909248) finish=2.1min speed=203812K/sec
unused devices: <none>
[root@localhost ~]#
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
83818496 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[=============>.......] recovery = 68.2% (28595200/41909248) finish=1.0min speed=207154K/sec
unused devices: <none>
- Вы также можете просмотреть процесс создания RAID с помощью следующей команды
- Здесь вы видите, что три активные, а другой запасной
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Wed Nov 25 16:24:23 2020
Raid Level : raid5
Array Size : 83818496 (79.94 GiB 85.83 GB)
Used Dev Size : 41909248 (39.97 GiB 42.92 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Wed Nov 25 16:27:54 2020
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:5 (local to host localhost.localdomain)
UUID : e46bf95b:84550d7a:6fd09dc9:66ba9f9f
Events : 18
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1
3 8 65 - spare /dev/sde1
6. Осуществите восстановление после сбоя
- Имитация сбоя / dev / sdc1
[root@localhost ~]# mdadm /dev/md5 -f /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md5
- Проверьте еще раз, вы обнаружите, что SDC находится в неисправном состоянии
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3] sdc1[1](F) sdb1[0]
83818496 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U]
[==>..................] recovery = 14.3% (6008320/41909248) finish=2.9min speed=200277K/sec
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Wed Nov 25 16:24:23 2020
Raid Level : raid5
Array Size : 83818496 (79.94 GiB 85.83 GB)
Used Dev Size : 41909248 (39.97 GiB 42.92 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Wed Nov 25 16:34:28 2020
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 1
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Rebuild Status : 32% complete
Name : localhost.localdomain:5 (local to host localhost.localdomain)
UUID : e46bf95b:84550d7a:6fd09dc9:66ba9f9f
Events : 25
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
3 8 65 1 spare rebuilding /dev/sde1
4 8 49 2 active sync /dev/sdd1
1 8 33 - faulty /dev/sdc1
- Просмотр обнаружил, что sde1 заменил sdc1
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Wed Nov 25 16:24:23 2020
Raid Level : raid5
Array Size : 83818496 (79.94 GiB 85.83 GB)
Used Dev Size : 41909248 (39.97 GiB 42.92 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Wed Nov 25 16:36:55 2020
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:5 (local to host localhost.localdomain)
UUID : e46bf95b:84550d7a:6fd09dc9:66ba9f9f
Events : 37
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
3 8 65 1 active sync /dev/sde1
4 8 49 2 active sync /dev/sdd1
1 8 33 - faulty /dev/sdc1
7. Создайте и смонтируйте файл.
Наконец, создайте каталог md5 в корневом каталоге, а затем отформатируйте RAID
[root@localhost ~]# cd ..
[root@localhost ~]# mkdir /md5
[root@localhost ~]# mkfs.xfs /dev/md5
[root@localhost ~]# cd /md5
[root@localhost ~]# touche md5.txt
[root@localhost md5]# ls
md5.txt
Наконец, проверьте, здесь вы можете увидеть, что это 80G вместо 120G. Как мы узнали ранее, коэффициент использования RAID5 составляет всего 3/4
[root@localhost md5]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 20G 4.3G 16G 22% /
devtmpfs devtmpfs 898M 0 898M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.1M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda5 xfs 10G 37M 10G 1% /home
/dev/sda1 xfs 6.0G 174M 5.9G 3% /boot
tmpfs tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs tmpfs 183M 28K 183M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/md5 xfs 80G 33M 80G 1% /md5