7.1 RAID冗長アレイディスク
近年では、CPUの処理性能は、2017年に高成長、インテルの会社を維持するために、i9-7980XEプロセッサチップの最新リリースは、18コア36スレッドに到達することです。同時に、ハードディスク装置の性能を向上させる非常に大きくはないので、徐々に現代のコンピュータの全体的なパフォーマンスのボトルネックになります。ハードディスク装置が維持する必要があるので、しばしば、他のデバイスと比較IO動作の多数が、それはまた、有意可能性も重要なデータの損失増加をリードし、損傷の可能性を増加させます。
1988年には、カリフォルニア大学バークレー校と最初の時間は、RAID技術の概念を定義します。RAID技術、複数の機器複数のセグメントに一つの組成物中に大容量ディスク、よりよい安全ディスクアレイ、およびデータは、それぞれ異なる物理ハード・ディスク装置に格納され、その後、技術のストライピングを使用していますディスクアレイの全体的なパフォーマンス、および重要なデータの複数のコピーを向上させるために非常に良好なデータ冗長性のバックアップを再生する別の物理ディスクデバイスに同期されます。
すべてはその2つの側面を持っています。RAID技術は、非常に良好なデータ冗長機能を持っていませんが、それはまた、コストの増加に対応します。私たちは、電話帳のように持っていたが、失われないようにするために、我々はより相応に改善し、コストを持っている電話帳、よりこの目的を購入するのは自然2で書かれた番号情報をご連絡いたします。RAID技術は、ハードディスクを持参によるもので、購入機器への経費を削減するために設計されていますが、データ自体の値と比較して、現代の企業はより多くの注目のRAID技術を支払わされた冗長バックアップメカニズムに含まれており、ハードディスクのスループットを持っていますアップグレードしてください。損傷したハードディスク装置は、ハードディスクを読み出し、それが広く展開され、担体または中小企業の大部分で使用することができるので、書き込み速度はまた、デバイスを向上言い換えれば、RAIDは、データ損失の可能性を低減するだけでなく。
コストや技術的な考慮事項については、さまざまなニーズに合わせて、読み取りおよび書き込みパフォーマンスとデータの信頼性に重量を量る彼らのニーズを満たすためにさまざまなソリューションを開発するためになされる必要があります。現時点では、RAIDディスクアレイ・プログラムは、少なくともダースを有するが、劉トレント教師は詳細に以下RAID 0、RAID 1、RAID 5、およびRAID 10 4つの最も一般的なシナリオを説明します。
1. RAID 0
ハードウェアまたは一緒にソフトウェアを介して直列に複数の物理デバイス(少なくとも二つ)のRAID 0ハードディスク技術は、大量の基を形成し、各データが順次物理ハード・ディスクに書き込まれます。このように、理想的な状態では、ハードディスク装置の性能を読み取りおよび書き込みには、いくつかの回を増すだろうが、いずれかのディスクに障害がシステム全体のデータが破損している原因となります場合。人気話すには、RAID 0技術が効果的にハードディスクのデータのスループット速度を向上させることができますが、バックアップとバグ修正する能力を持っていません。図7-1に示すように、データは異なるハードディスク装置、すなわち、別々に書き込まれDISK2、データが格納されたDISK1、及び最終的には速度効果の書き込み、読み出しを強化するハードディスク装置。
図アート概略7-1 RAID 0
2. RAID 1
そのデータが別々に格納されている、ハードディスクの故障のいずれかは、システム全体にダメージを与えることができるがRAID 0ハードディスク装置のアクセス速度を向上させる技術が、データを順次各物理ハード・ディスクに書き込まれ、データ。そのため、デバイスのハードディスクの読み取りと書き込みの速度の生産が必要とされていないが、あなたのデータのセキュリティを向上させる場合は、RAID 1技術を使用する必要があります。
1模式図に示すRAID技術に見ることができる。7-2、結合することつ以上のハードディスク装置であり、データが書き込まれる場合、データが(複数のドライブ装置に同時に書き込まれますそれは、ミラーリングやバックアップデータ)とみなされています。ここで、通常、自動的に、すぐに熱交換におけるハードディスクの障害は、データの通常の使用を復元するとき。
7-2 RAID 1つの技術の模式図
RAID 1のデータセキュリティに細心の注意しかし技術が、それは、同じデータを複数のハードディスク装置に書き込まれるため、ディスク利用装置は、このように、理論的には、ハードディスクの空き容量を小さくする7-2図。 3つのハード・ディスクアレイ装置によって真わずか50%の可用性、可用性RAID 1は、わずか約33%を構成など。さらに、データは間違いなくある程度の能力を計算するシステムの負荷を増加させる、二つ以上のハードディスク装置に同時に書き込まれるためです。
だから、RAID方式がありますも考慮にそれのコストを取って、アカウントに読み取りおよび書き込み速度やハードディスクのデータセキュリティ機器の両方を取りますか?実際には場合は、単に安全性とコストの問題の観点からのデータから、既存設備の稼働率を維持し、大幅にデータのセキュリティを強化することができ、新しい機器を追加することは困難ではありませんすることは不可能です。劉トレントの先生は(速度、データセキュリティ、コストを読み書き)理論的に考慮に3を取りながら、RAID 5の技術で説明するように、あなたの読者を点滅する必要はありませんが、これは実際には相互によりのような3「であります妥協。 "
3. RAID 5
図7-3に示すように、RAID5技術は、ハードディスク装置へのデータのパリティ情報を格納する他のハードディスク装置です。RAID 5ディスクアレイのデータセット内のパリティ情報は、ハードディスク装置に別々に格納されていないが、ハードディスク自体以外の他の装置の各々に格納されているので、装置が任意に損傷を与えない利点こと致命的な欠陥;図7-3は、パリティ情報のパリティ部分に格納されたRAID 5の技術は、実際には実際のデータのバックアップハードディスクである、言い換えれば、データであるが、問題はパリティによって時にハードディスク装置を発生破損したデータを再構築しようとする情報を確認します。RAID技術特性ハードディスク装置、データセキュリティ、そしてストレージコストの両方の読み取りと書き込み速度に、このような「妥協」。
7-3 RAID5の技術概略図
4. RAID 10
ハードディスクの読み取りと書き込み速度性能とデータセキュリティのための設備のコストは、いくつかの妥協があった一方であるため、RAID 5の技術を考えると、ほとんどの企業が、気にすることは、データそのものではなく、ハードドライブの価格の値であるため、主に生産環境で使用されます10技術をRAID。
顾名思义,RAID 10技术是RAID 1+RAID 0技术的一个“组合体”。如图7-4所示,RAID 10技术需要至少4块硬盘来组建,其中先分别两两制作成RAID 1磁盘阵列,以保证数据的安全性;然后再对两个RAID 1磁盘阵列实施RAID 0技术,进一步提高硬盘设备的读写速度。这样从理论上来讲,只要坏的不是同一组中的所有硬盘,那么最多可以损坏50%的硬盘设备而不丢失数据。由于RAID 10技术继承了RAID 0的高读写速度和RAID 1的数据安全性,在不考虑成本的情况下RAID 10的性能都超过了RAID 5,因此当前成为广泛使用的一种存储技术。
图7-4 RAID 10技术示意图
7.1.1 部署磁盘阵列
在具备了上一章的硬盘设备管理基础之后,再来部署RAID和LVM就变得十分轻松了。首先,需要在虚拟机中添加4块硬盘设备来制作一个RAID 10磁盘阵列,如图7-5所示。
图7-5 为虚拟机系统模拟添加4块硬盘设备
这几块硬盘设备是模拟出来的,不需要特意去买几块真实的物理硬盘插到电脑上。需要注意的是,一定要记得在关闭系统之后,再在虚拟机中添加硬盘设备,否则可能会因为计算机架构的不同而导致虚拟机系统无法识别添加的硬盘设备。
mdadm命令用于管理Linux系统中的软件RAID硬盘阵列,格式为“mdadm [模式] <RAID设备名称> [选项] [成员设备名称]”。
当前,生产环境中用到的服务器一般都配备RAID阵列卡,尽管服务器的价格越来越便宜,但是我们没有必要为了做一个实验而去单独购买一台服务器,而是可以学会用mdadm命令在Linux系统中创建和管理软件RAID磁盘阵列,而且它涉及的理论知识的操作过程与生产环境中的完全一致。mdadm命令的常用参数以及作用如表7-1所示。
表7-1 mdadm命令的常用参数和作用
参数 | 作用 |
-a | 检测设备名称 |
-n | 指定设备数量 |
-l | 指定RAID级别 |
-C | 创建 |
-v | 显示过程 |
-f | 模拟设备损坏 |
-r | 移除设备 |
-Q | 查看摘要信息 |
-D | 查看详细信息 |
-S | 停止RAID磁盘阵列 |
接下来,使用mdadm命令创建RAID 10,名称为“/dev/md0”。
第6章中讲到,udev是Linux系统内核中用来给硬件命名的服务,其命名规则也非常简单。我们可以通过命名规则猜测到第二个SCSI存储设备的名称会是/dev/sdb,然后依此类推。使用硬盘设备来部署RAID磁盘阵列很像是将几位同学组成一个班级,但总不能将班级命名为/dev/sdbcde吧。尽管这样可以一眼看出它是由哪些元素组成的,但是并不利于我们的记忆和阅读。更何况如果我们是使用10、50、100个硬盘来部署RAID磁盘阵列呢?
此时,就需要使用mdadm中的参数了。其中,-C参数代表创建一个RAID阵列卡;-v参数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md0就是创建后的RAID磁盘阵列的名称;-a yes参数代表自动创建设备文件;-n 4参数代表使用4块硬盘来部署这个RAID磁盘阵列;而-l 10参数则代表RAID 10方案;最后再加上4块硬盘设备的名称就搞定了。
[root@linuxprobe ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde mdadm: layout defaults to n2 mdadm: layout defaults to n2 mdadm: chunk size defaults to 512K mdadm: size set to 20954624K mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
其次,把制作好的RAID磁盘阵列格式化为ext4格式。
[root@linuxprobe ~]# mkfs.ext4 /dev/md0 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=128 blocks, Stripe width=256 blocks 2621440 inodes, 10477312 blocks 523865 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2157969408 320 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group 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 (32768 blocks): done Writing superblocks and filesystem accounting information: done
再次,创建挂载点然后把硬盘设备进行挂载操作。挂载成功后可看到可用空间为40GB。
[root@linuxprobe ~]# mkdir /RAID [root@linuxprobe ~]# mount /dev/md0 /RAID [root@linuxprobe ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/rhel-root 18G 3.0G 15G 17% / devtmpfs 905M 0 905M 0% /dev tmpfs 914M 84K 914M 1% /dev/shm tmpfs 914M 8.9M 905M 1% /run tmpfs 914M 0 914M 0% /sys/fs/cgroup /dev/sr0 3.5G 3.5G 0 100% /media/cdrom /dev/sda1 497M 119M 379M 24% /boot /dev/md0 40G 49M 38G 1% /RAID
最后,查看/dev/md0磁盘阵列的详细信息,并把挂载信息写入到配置文件中,使其永久生效。
[root@linuxprobe ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Tue May 5 07:43:26 2017 Raid Level : raid10 Array Size : 41909248 (39.97 GiB 42.92 GB) Used Dev Size : 20954624 (19.98 GiB 21.46 GB) Raid Devices : 4 Total Devices : 4 Persistence : Superblock is persistent Update Time : Tue May 5 07:46:59 2017 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Layout : near=2 Chunk Size : 512K Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : cc9a87d4:1e89e175:5383e1e8:a78ec62c Events : 17 数メジャーマイナーRaidDevice状態 0 8 16 0アクティブな同期は/ dev / sdbの 1つの8 32 1アクティブシンクは/ dev / SDC 2 8 48 2アクティブシンクの/ dev / SDD 3 8 64 3のActive Syncの/ dev / SDE [ルート@ linuxprobe〜 ]#エコー"は/ dev / md0を/ RAID用のext4のデフォルトは0 0" >>の/ etc / fstabに