【Linux】- mdadm 管理 raid0

mdadm的主要功能:

 mdadm是一個用於創建、管理、監控RAID設備的工具,它使用linux中的md驅動。
 mdadm程序是一個獨立的程序,能完成所有軟件RAID的管理功能,主要有7種使用模式。

mdadm命令詳解請看這裏//////////

RAID 的基本思想:

是將多個容量較小、相對廉價的磁盤進行有機組合,從而以較低的成本獲得與昂貴大容量磁盤相當的容量、 性能、可靠性。

RAID 主要分爲軟 RAID、硬 RAID 以及軟硬混合 RAID 三種

RAID 中主要有三個關鍵概念和技術

:鏡像( Mirroring )、數據條帶( Data Stripping )和數據校驗( Data parity ) [3][4][5]

實戰 (用mdadm工具管理 raid0)

準備環境

Centos7 關機狀態下編輯虛擬機 添加兩塊硬盤
在這裏插入圖片描述
開機查看:

[root@localhost ~]# ll /dev/sd*
brw-rw---- 1 root disk 8,  0 Feb 28 02:44 /dev/sda
brw-rw---- 1 root disk 8,  1 Feb 28 02:44 /dev/sda1
brw-rw---- 1 root disk 8,  2 Feb 28 02:44 /dev/sda2
brw-rw---- 1 root disk 8, 16 Feb 28 02:44 /dev/sdb
brw-rw---- 1 root disk 8, 32 Feb 28 02:44 /dev/sdc

[root@localhost ~]# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xc7a726e7.

Command (m for help): n           
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p                        //直接回車
Partition number (1-4, default 1):          //直接回車
First sector (2048-41943039, default 2048):     //直接回車
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +5G  //輸入大小
Partition 1 of type Linux and of size 5 GiB is set

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (2-4, default 2):      //直接回車
First sector (10487808-41943039, default 10487808):   //直接回車
Using default value 10487808  
Last sector, +sectors or +size{K,M,G} (10487808-41943039, default 41943039): +5G   //輸入大小
Partition 2 of type Linux and of size 5 GiB is set

Command (m for help): w       //保存操作並推出
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

[root@localhost ~]# ll /dev/sd*    //查看有沒有創建成功
brw-rw---- 1 root disk 8,  0 Feb 28 02:44 /dev/sda
brw-rw---- 1 root disk 8,  1 Feb 28 02:44 /dev/sda1
brw-rw---- 1 root disk 8,  2 Feb 28 02:44 /dev/sda2
brw-rw---- 1 root disk 8, 16 Feb 28 02:44 /dev/sdb
brw-rw---- 1 root disk 8, 32 Feb 28 02:57 /dev/sdc
brw-rw---- 1 root disk 8, 33 Feb 28 02:57 /dev/sdc1
brw-rw---- 1 root disk 8, 34 Feb 28 02:57 /dev/sdc2

mdadm命令參數:

-C 建立一個新陣列
-A 激活磁盤陣列
-a 添加設備到陣列
-D 打印陣列設備詳細信息
-s 掃描配置文件或者/proc/mdstat 得到陣列缺失信息
-v 顯示詳細信息
-r 移除設備
-f 將設備狀態定爲故障
-l 設定磁盤陣列的級別
-n 指定磁盤陣列的成員(分區/磁盤的數量)
-x 指定陣列中備用磁盤的數量

開始創建raid0

[root@localhost ~]# rpm -qf `which mdadm`
/usr/bin/which: no mdadm in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
rpm: no arguments given for query

出現以上情況 可以直接用yum -y install 來下載

[root@localhost ~]# rpm -qf `which mdadm`
mdadm-4.1-1.el7.x86_64

繼續
[root@localhost ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdc1 /dev/sdc2    #創建
mdadm: chunk size defaults to 512K
mdadm: Fail create md0 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# mdadm -D
mdadm: No devices given.
[root@localhost ~]# mdadm -Ds
ARRAY /dev/md0 metadata=1.2 name=localhost.localdomain:0 UUID=85290086:c98a27cf:d1789178:a50aba43
[root@localhost ~]# mdadm -D /dev/md0    #查看
/dev/md0:
           Version : 1.2
     Creation Time : Fri Feb 28 03:55:33 2020
        Raid Level : raid0
        Array Size : 10475520 (9.99 GiB 10.73 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Fri Feb 28 03:55:33 2020
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : unknown

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : 85290086:c98a27cf:d1789178:a50aba43
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       34        1      active sync   /dev/sdc2

備註:

chunk值:

條帶大小 它分有很多“塊”(Chunk),如果塊尺寸(Chunksize)設置過小就一定會增加佔用的塊數

保存配置信息

[root@localhost ~]# mdadm -Ds 
ARRAY /dev/md0 metadata=1.2 name=localhost.localdomain:0 UUID=85290086:c98a27cf:d1789178:a50aba43
[root@localhost ~]# mdadm -Ds > /etc/mdadm.conf
[root@localhost ~]# cat !$     #查看上條執行的命令
cat /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2 name=localhost.localdomain:0 UUID=85290086:c98a27cf:d1789178:a50aba43

爲raid 0 創建分區

[root@localhost ~]# fdisk /dev/md0
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xf36de5c1.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1):           #直接回車
First sector (2048-20951039, default 2048):    #直接回車
Using default value 2048              #直接回車
Last sector, +sectors or +size{K,M,G} (2048-20951039, default 20951039): +2G  
Partition 1 of type Linux and of size 2 GiB is set

Command (m for help): w       #保存操作並退出
The partition table has been altered!

Calling ioctl() to
 
查看
[root@localhost ~]# ll /dev/md*
brw-rw---- 1 root disk   9, 0 Feb 28 04:02 /dev/md0
brw-rw---- 1 root disk 259, 1 Feb 28 04:02 /dev/md0p1

格式化分區並掛載

[root@localhost ~]# mkfs.xfs /dev/md0p1 
meta-data=/dev/md0p1             isize=512    agcount=8, agsize=65408 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=523264, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mkdir /raid0
[root@localhost ~]# mount /dev/md0p1 /raid0/
[root@localhost ~]# df -h | tail -1
/dev/md0p1           2.0G   33M  2.0G   2% /raid0
[root@localhost ~]# 

設置開機自動掛載

[root@localhost ~]# umount /raid0/
[root@localhost ~]# df -h | tail -1
tmpfs                 98M     0   98M   0% /run/user/0
[root@localhost ~]# mount -a
[root@localhost ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/cl-root   17G  2.3G   15G  14% /
devtmpfs             478M     0  478M   0% /dev
tmpfs                489M     0  489M   0% /dev/shm
tmpfs                489M  6.7M  482M   2% /run
tmpfs                489M     0  489M   0% /sys/fs/cgroup
/dev/sda1           1014M  121M  894M  12% /boot
tmpfs                 98M     0   98M   0% /run/user/0
[root@localhost ~]# vim /etc/fstab  #添加一條
 /dev/md0p1   /raid0   xfs  defaults 0 0
[root@localhost ~]# mount -a

在這裏插入圖片描述

raid0結束語:

存取速度快,磁盤使用率100% 風險高,數據容易丟失

磁盤數量:2塊以上(大小最好相同)

RAID 0沒有提供冗餘或錯誤修復能力,速度快.
任何一個磁盤的損壞將損壞全部數據;磁盤利用率爲100%。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章