文章目錄
mdadm的主要功能:
mdadm是一個用於創建、管理、監控RAID設備的工具,它使用linux中的md驅動。
mdadm程序是一個獨立的程序,能完成所有軟件RAID的管理功能,主要有7種使用模式。
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%。