導入されたソフトRAIDの設定方法と概念

ディスクアクセス性能を向上させ、耐障害性/災害復旧を可能にすることができ、サーバのRAIDディスクアレイ、上に配備ほとんどのエンタープライズクラスのデータベースアプリケーション。
RAID(冗長ディスクアレイ)、理解することは簡単で、配列を作るのは難しい一部が安く取得することです。その目的は、データの冗長性(バックアップ、災害復旧)、読み取りと書き込みのパフォーマンスを向上させるためにメモリ容量を拡張することです。

RAID 0、RAID 1、ようにRAID 5、RAID 6、RAID 10、RAID 01、RAID 50:主流はいくつかのレベルに分けることができます。

  • 最高の読み取りを提供し、パフォーマンスを書くことができるRAID 0頭字語のディスクストライピング、あなたはRAID0に2枚のディスクを入れた場合は、データの書き込み時に、書き込み動作が同時にAとBは、ディスク上で実行され、ディスクすることができ。「...同時に、書くことができる」ディスクおよびBディスク『全く同じ時刻に書かれた』ファイルの同じ内容を意味するものではありません:ことに留意すべきです。アナロジーは:100Mファイルには、単一のディスクの書き込み速度が10M / Sは、それが書かれた作業を完了するために10秒を要していると仮定すると、ディスクに書き込まれる必要があります。しかし、RAID 0アレイA、Bにおける環境場合、2つのディスク(秒/ Sは、最小単位である)は、単一の時間内で、コンテンツがディスク10M、10Mに書き込むことができると同時に、すぐに内容を書き込みますディスクへのBは、その数字ので、書き込み速度が取得する唯一の5秒、20M / Sとなり、各ディスク・ファイルの内容だけがストレスを生じさせることなく、50M、ハードディスク記憶装置に格納されます。もちろん、アピールの例が適切ではないかもしれないし、ただ理論の下で、環境への実際の環境を指し、他の多くの要因があり、効率は確実に到達することはありません。
    確かに、これは確かに、読み込みと書き込みのパフォーマンスを向上させることができるだろうが、RAID0は冗長性を提供していないので、これはまた、データの一部が失われた場合、すべてのデータが戻ってそれを得ることはありませんされて疑問を提起します私は、ポリシーデータ復旧。だから、RAID0は短く、あなたはデータが敏感ではない紛失した場合、その後、あなたはRAID 0を使用することができ、読み取り専用データベースのデータテーブルで使用される、またはコピーされたデータベースの結果であることができ、このレベルは、高性能、非冗長です。

  • RAID 1枚のディスク、それはあなたが2枚の50Gのディスクを持っている場合は、100Gまで追加して、ディスクの冗長性を行うための方法を使用しているため、それが低減され読み取りと書き込みのパフォーマンスのパフォーマンスを向上させ、ミラーリングが、RAID 1で次の、そしてあなただけの50Gを使用することができ、この方法は、ディスク領域の使用量に影響を与えるI / Oの書き込みパフォーマンスが低下します。ビューの人気のポイントは:ディスクの内容を書きながら、あなたは、1:00 RAIDに書き込ま100Mファイルになります、同じコンテンツがディスクBに書き込まれます 結果として、2枚のディスクの内容は同じ(その伝説の「冗長性」はどのような深遠なものではありません)まったく同じです。もともとだけ行くのハードドライブを作成する必要がありますが、今は2台のハードドライブに書き込まれるように、効率は間違いなく低いとなります。操作を「読み取り」、RAID 1つの環境用として、2枚のディスクが同一のコンテンツを有するので、読み出し動作は二つのディスクに同時に行われる、リード性能は、接続が、もし最初のドライブの冗長データが改善されていますハングアップしたり、データの破損、第二のディスクが開始されます。もちろん、2台のハードドライブがハングアップしている、それは本当に崩壊しています。ハハ。プレス、書き込み後の最初のハードドライブが完了し、RAID 1を話す書籍や記事のいくつかはあるミラーバックアップが別のディスクを検証するよう、それはこの引数にデータをコピーすることを言及する価値があります私はコピーが書かれている間ことを理解しています。
  • RAID1とRAID 5は異なり、それはより多くのパリティであるということです、すべての情報のパリティは、いくつかの高パフォーマンスよりも、RAID1ですべて各ディスク上になりますが、ディスクI / O障害が発生すると、それは、パフォーマンスの急激な減少を引き起こしますRAID1 RAID0がで折り畳ま間、この方法は、また同時に、それはより一般的です。それはRAID5である場合、単純な言語は、ハードドライブのハードディスクに直接書き込まれている実施形態によれば、データがハードディスクに書き込まれるRAID5のアレイを形成する(複数でもよい)少なくとも3つのハード・ディスクを使用して発現しました書き込み確認情報が時間にそれぞれ書き込まれたデータを読み出すため、ハードディスク3に書き込まれる間にデータの書き込みは、アルゴリズムに従って三つの部分に分割し、この3つのハード・ディスクを書き込みしますコンテンツデータをハードディスク3から読み出され、その後、パリティ情報をチェックして。ハードディスクへの損傷がある場合、前記ハードディスク二つの追加のデータ内容に格納されたデータは、第三のハードディスクに計算することができます。これが唯一のハードディスクを可能RAID5ストレージモードが失敗したことを、できるだけ早くそれが失敗した場合に交換する必要があることを意味します。故障したディスクを交換する場合、障害時に書き込まれたデータは再較正されます。障害が解消し、悪いものされていない場合、それは、悲惨です。
  • RAID 10(RAID 01と違いは、前者が後方その上、後者に基づいてRAID 0をRAID 1を行うことである)高性能、高可用性、RAID5よりも良好な性能を提供するRAID0およびRAID1の組み合わせであります多くのことを書かれたアプリケーションに特に適したが、コストに関係なく、すべてのディスク・ストレージの半分を失うことになりますどのように多くのディスクが比較的高いではありません。データAについて、少なくとも4台のハードディスクを完了するために必要とBは、それぞれ半分格納されたデータを分割し、C及びDは、それぞれミラーリングAおよびBに対応しません。その結果、実際にそこに完璧ですが、また、私の最高の理想。あなたは、RAID 5パリティを必要としません。明らかにこのようなコストで高いであろう。また、残念である「ショートボード効果」のパフォーマンスで、

上記の説明を通じて、RAID 10は、右、パフォーマンスモードのRAID 50を理解するだろうか?ここに提示されていません。

ここではRAIDのパフォーマンスとアプリケーションのシナリオのすべてのレベルの組み合わせは次のとおりです。

導入されたソフトRAIDの設定方法と概念

ソフトRAID構成が--mdadmコマンド

フォーマット:

[root@localhost ~]# mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sd[b,c,d,e]
或者
[root@localhost ~]# mdadm -C /dev/md0 -ayes -l5 -n3 -x1 /dev/sd[b-e]1

上記のオプションとパラメータが導入されました:

  • -C --create:作成モード
  • -a --auto {YES | NO}:はい-aあなたが最初のmknodコマンドにこのパラメータを使用してRAIDデバイスを作成する必要があり、そうでない場合は、デバイスを作成することに合意したが、ワンタイムパラメータを作成することをお勧めします。
  • -l --level#:アレイモード、アレイサポートモードは線形、RAID0、RAID1、RAID4、RAID5、RAID6、RAID10、マルチパス、障害のある、容器。
  • -n#:RAIDを作成するには、このデバイスを使用して#ブロック(-n 3は、RAIDを作成するための3台のハードディスクで表されます)
  • -x#:#のみホットスペアブロックは、現在のアレイの(-x 1のみホットスペアを表します。)

(例えば、RAID 5で)RAIDの例を作成します

次のような要件は以下のとおりです。

  1. 4つのRAIDパーティションを使用して図5に示すように、前記予備ディスクパーティションとして、仕事をRAIDディスク予備上部を損傷した場合。
  2. 各パーティションのサイズは20ギガバイトです。
  3. 準備を分割するパーティションを使用しました。
  4. マウント/ testディレクトリの使用

コンフィギュレーションを開始します。

1、RAID 5を作成します。

[root@localhost ~]# fdisk -l | grep  磁盘      #以下就是用来做RAID 5的磁盘
                    ..........................#省略部分内容
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
磁盘标签类型:gpt
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
磁盘标签类型:gpt
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
磁盘标签类型:gpt
磁盘 /dev/sde:21.5 GB, 21474836480 字节,41943040 个扇区
磁盘标签类型:gpt
                    ..........................#省略部分内容
[root@localhost ~]# mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd[b,c,d,e]
                     ........................#忽略部分提示信息
Continue creating array? y                   #输入“y”进行确认
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.       #/dev/md0创建成功。
[root@localhost ~]# cat /proc/mdstat       #查询刚刚创建的RAID信息
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid5 sdd[4] sde[3](S) sdc[1] sdb[0]   #组成RAID的实体磁盘及其顺序
 41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]  
 #相关信息,chunk大小及RAID等级说明,后面的三个U代表正常,若不是U则代表有误。

unused devices: <none>

[root@localhost ~]# mdadm -D /dev/md0      #这个命令查看出来的结果更人性化写
/dev/md0:                          #RAID的设备文件名
           Version : 1.2
     Creation Time : Thu Sep  5 09:37:42 2019    #创建RAID的时间
        Raid Level : raid5      #RAID的等级,这里是RAID5
        Array Size : 41908224 (39.97 GiB 42.91 GB)    #整组RAID的可用量
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)     #每颗磁盘的可用容量
      Raid Devices : 3      #组成RAID的磁盘数量
     Total Devices : 4       #包括spare的总磁盘数
       Persistence : Superblock is persistent

       Update Time : Thu Sep  5 09:39:28 2019
             State : clean          #目前这个RAID的使用状态
    Active Devices : 3        #启动的设备数量
   Working Devices : 4       #目前使用于此RAID的设备数量
    Failed Devices : 0            #损坏的设备数量
     Spare Devices : 1      #预备磁盘的数量

            Layout : left-symmetric
        Chunk Size : 512K             #chunk的小区块容量

Consistency Policy : resync

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : d395d245:8f9294b4:3223cd47:b0bee5d8
            Events : 18
#以下是每个磁盘的使用情况,包括三个active  sync和一个spare
    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       3       8       64        -      spare   /dev/sde
#RaidDevice是指此RAID内的磁盘顺序

2、マウントおよびフォーマットを使用します。

[root@localhost ~]# mkfs.xfs /dev/md0          #格式化刚刚创建的RAID 5
[root@localhost ~]# mkdir /test       #创建挂载点
[root@localhost ~]# mount /dev/md0 /test       #挂载
[root@localhost ~]# df -hT /test      #确认挂载,使用起来和普通文件系统没有区别
文件系统       类型  容量  已用  可用 已用% 挂载点
/dev/md0       xfs    40G   33M   40G    1% /test
#将挂载信息写入/etc/fstab中进行开机自动挂载了,设备名可以是/dev/md0,也可以是设备的UUID。
[root@localhost ~]# blkid /dev/md0     #查询该RAID 5的UUID
/dev/md0: UUID="93830b3a-69e4-4cbf-b255-f43f2ae4864b" TYPE="xfs" 
[root@localhost ~]# vim /etc/fstab   #打开/etc/fstab,写入下面内容
UUID=93830b3a-69e4-4cbf-b255-f43f2ae4864b /test xfs     defaults        0 0

3、試験RAID 5:

次のようにテストについて、パラメータは、書かれた管理RAIDを伴う必要があります。

  • -f --fail:デバイスがエラー状態の背後に配置されます。
  • -a --add:後者は、MDに装置に追加されます。
  • -r --remove:これは、後にMDに装置から削除されます。
[root@localhost ~]# echo "hi,girl,good morning." > /test/a.txt   #写入数据
[root@localhost ~]# cat /test/a.txt     #查看
hi,girl,good morning.
[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb    #将/dev/sdb损坏
mdadm: set /dev/sdb faulty in /dev/md0
[root@localhost ~]# mdadm -D /dev/md0     #查看RAID  5的状态
/dev/md0:
           Version : 1.2
     Creation Time : Thu Sep  5 09:37:42 2019
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Sep  5 10:47:00 2019
             State : clean 
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 1        #查到失败的磁盘有1个
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : d395d245:8f9294b4:3223cd47:b0bee5d8
            Events : 39

    Number   Major   Minor   RaidDevice State
       3       8       64        0      active sync   /dev/sde
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       0       8       16        -      faulty   /dev/sdb       #这就是刚才损坏的磁盘
#可以发现作为预备磁盘已经顶替了损坏的磁盘了
[root@localhost ~]# df -hT /test      #可用容量还是40G
文件系统       类型  容量  已用  可用 已用% 挂载点
/dev/md0       xfs    40G   33M   40G    1% /test
root@localhost ~]# mdadm /dev/md0 -r /dev/sdb     #将损坏的磁盘移除RAID组
mdadm: hot removed /dev/sdb from /dev/md0
[root@localhost ~]# mdadm /dev/md0 -a /dev/sdf      #添加一块磁盘到RAID组
mdadm: added /dev/sdf
[root@localhost ~]# mdadm -D /dev/md0    #查看RAID组的成员状态
/dev/md0:
                       .............#省略部分内容
    Number   Major   Minor   RaidDevice State
       3       8       64        0      active sync   /dev/sde
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       5       8       80        -      spare   /dev/sdf   
             #新添加的磁盘已经成为了RAID组的预备磁盘

4、RAIDディスクグループが正常にリセット

[root@localhost ~]# umount /test
[root@localhost ~]# vim /etc/fstab
                       .............#省略部分内容
UUID=93830b3a-69e4-4cbf-b255-f43f2ae4864b /test xfs     defaults        0 0             
#将设置的RAID  5自动挂载删除
[root@localhost ~]# dd if=/dev/zero of=/dev/md0 bs=1M count=50
#损坏RAID的超级区块
[root@localhost ~]# mdadm --stop /dev/md0     #停止RAID的使用
mdadm: stopped /dev/md0
#以下操作是将RAID中成员磁盘的超级块信息覆盖
[root@localhost ~]# dd if=/dev/zero of=/dev/sdc bs=1M count=10
[root@localhost ~]# dd if=/dev/zero of=/dev/sdd bs=1M count=10
[root@localhost ~]# dd if=/dev/zero of=/dev/sde bs=1M count=10
[root@localhost ~]# dd if=/dev/zero of=/dev/sdf bs=1M count=10
[root@localhost ~]# cat /proc/mdstat         #确认下面不存在该RAID
Personalities : [raid6] [raid5] [raid4] 
unused devices: <none>

上記の動作は、通常のディスクとなった復元されたが、元のデータはありません、ノーで綿密な調査後に使用した後、あなたはこれがマウントしないことがあり、システムをスキャンしたり、再起動し、あなたが使用することをマウントすることができ、コマンドシステムの再試験の一部を使用することができます上。

再試験のコマンドを実行します。

[root@localhost ~]# partprobe /dev/sdc

--------この記事の最後に、これまで、読んでくれてありがとう--------

おすすめ

転載: blog.51cto.com/14154700/2435738