記事ディレクトリ
序文
- RAID(独立ディスクの冗長アレイ)、フルネームは独立ディスクの冗長アレイです
- 簡単に言えば、RAIDは、さまざまな方法で複数の独立したハードディスク(物理ハードディスク)を組み合わせてハードディスクグループ(論理ハードディスク)を形成することで、単一のハードディスクよりも高いストレージパフォーマンスを提供し、データバックアップテクノロジを提供します。
- ユーザーの観点からは、構成されたディスクグループはハードディスクのようなものであり、ユーザーはパーティション分割、フォーマットなどを行うことができます。
- ディスクアレイを形成するさまざまな方法は、RAIDレベルと呼ばれます。RAIDレベルは、RAIDテクノロジーのいくつかの異なるレベルでもあり、さまざまな速度、安全性、およびコストパフォーマンスを提供できます。
- 実際の状況に応じて適切なRAIDレベルを選択すると、ストレージシステムの可用性、パフォーマンス、および容量に関するユーザーの要件を満たすことができます。
1.RAIDハードディスクアレイの詳細説明
- 複数の独立した物理ハードディスクをさまざまな方法で組み合わせてハードディスクグループ(論理ハードディスク)を形成し、単一のハードディスクよりも高いストレージパフォーマンスを提供し、データバックアップテクノロジーを提供します
- RAIDはさまざまなレベルに分けられ、RAIDのレベルが異なれば、データの信頼性と読み取りおよび書き込みのパフォーマンスにおいてさまざまなトレードオフが発生します。
- 一般的に使用されるRAIDレベルは次のとおりです。
- RAID 0
- RAID 1
- RAID 5
- RAID 6
- RAID 1 +0など
1. RAID0ディスクアレイの概要
- RAID 0(ストライプストレージ)
- RAID 0は、データをビットまたはバイト単位で継続的に分割し、複数のディスクに対して並列に読み取り/書き込みを行うため、データ転送速度は高くなりますが、データの冗長性はありません。
- RAID 0は単にパフォーマンスを向上させるだけであり、データの信頼性を保証するものではありません。ディスクの1つに障害が発生すると、すべてのデータに影響します。
- RAID 0は、データセキュリティ要件が高い場合には使用できません
2. RAID1ディスクアレイの概要
- RAID 1(ミラーストレージ)
- ディスクデータミラーリングを通じてデータの冗長性を実現し、独立したディスクのペアで相互にバックアップデータを生成します
- 元のデータがビジーの場合、データはミラーコピーから直接読み取ることができるため、RAID1は読み取りパフォーマンスを向上させることができます。
- RAID 1は、ディスクアレイの中で最も高いユニットコストを持っていますが、高いデータセキュリティと可用性を提供します。ディスクに障害が発生すると、システムは、障害が発生したデータを再編成することなく、ミラーディスクの読み取りと書き込みに自動的に切り替えることができます。
3. RAID5ディスクアレイの概要
- N(N> = 3)個のディスクがアレイを形成し、1つのデータがN-1ストリップを生成し、パリティデータのコピーが1つ生成されます。合計N個のデータがN個のディスクに周期的かつ均等に格納されます
- N個のディスクが同時に読み取りと書き込みを行うため、読み取りパフォーマンスは非常に高くなりますが、検証メカニズムの問題により、書き込みパフォーマンスは比較的低くなります。
- (N-1)/ Nディスク使用率
- 信頼性が高く、すべてのデータに影響を与えることなく1つのディスクを損傷できます
4. RAID6ディスクアレイの概要
- N(N> = 4)ディスクがアレイを形成し、(N-2)/ Nディスク使用率
- RAID 5と比較して、RAID6は2番目の独立したパリティ情報ブロックを追加します
- 2つの独立したパリティシステムは異なるアルゴリズムを使用します。2つのディスクに同時に障害が発生しても、データの使用には影響しません。
- RAID 5と比較すると、「書き込み損失」が大きいため、書き込みパフォーマンスが低下します。
5.RAID比較表
RAIDレベル | ハードドライブの数 | ディスク使用率 | チェックはありますか? | 保護能力 | 書き込みパフォーマンス |
---|---|---|---|---|---|
RAID0 | N | N | 番号 | 番号 | 1台のハードドライブのN回 |
RAID1 | N(偶数) | N / 2 | 番号 | デバイスの障害を許可する | お互いに準備するために2組のストレージデバイスを作成する必要があります |
RAID5 | N> 3 | (N-1)/ N | 持ってる | デバイスの障害を許可する | 計算チェックを書く必要があります |
RAID6 | N> 4 | (N-2)/ N | 持ってる | 2つのデバイス障害を許可する | 計算検証を二重に書き込む必要があります |
RAID1 + 0 | N> = 4(偶数) | N / 2 | 番号 | 2つの基本セットのいずれかを不良にする | N / 2ディスクは同時に書き込みます |
6. RAID 1 +0ディスクアレイの概要
- RAID 1 + 0(最初にミラーリングしてからストライピング)
- N(偶数、N> = 4)のディスクがペアでミラーリングされた後、それらはRAID0に結合されます
- N / 2ディスク使用率
- N / 2個のディスクが同時に書き込み、N個のディスクが同時に読み取ります
- 高性能と高信頼性
2.アレイカードの紹介
1.アレイカードの紹介
- アレイカードはRAID機能を実現するためのボードです
- 通常、I / Oプロセッサ、ハードディスクコントローラ、ハードディスクコネクタ、キャッシュなどの一連のコンポーネントで構成されます
- さまざまなRAIDカードがさまざまなRAID機能をサポートします。
たとえば、RAID0、RAID1、RAID5、RAID10などをサポートします。 - RAIDカードインターフェイスタイプ:
IDEインターフェイス、SCSIインターフェイス、SATAインターフェイス、SASインターフェイス
2.アレイカードのキャッシュ
- キャッシュは、RAIDカードが外部バスとデータを交換する場所です。RAIDカードは最初にデータをキャッシュに送信し、次にキャッシュが外部データバスとデータを交換します。
- キャッシュのサイズと速度は、RAIDカードの実際の伝送速度に直接関係する重要な要素です。
- 工場では、さまざまなRAIDカードにさまざまなメモリ容量が装備されており、通常は数メガバイトから数百メガバイトの範囲です。
3つ目は、ソフトウェア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.パーティションを作成し、他の3つも同じ方法で作成します
パーティションID番号を「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はRAIDを作成するために3つのハードディスクを使用することを意味します
- / dev / sd [bd] 1:RAIDを作成するためにこれらの4つのディスクパーティションを指定します
- -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作成の進行状況を表示することもできます。
- ここでは、3つがアクティブで、もう1つがスペアであることがわかります。
[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
最後に、確認してください。ここでは、120Gではなく80Gであることがわかります。前に学習したように、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