什么是RAID? RAID:Redundant Arrays of Inexpensive(Independent) Disks1988年由加利福尼亞大學伯克利分 校(University of California-Berkeley) “A Case for Redundant Arrays of Inexpensive Disks” 多個磁盤合成一個“陣列”來提供更好的性能、冗余,或者兩者都提供 RAID 提高IO能力:磁盤并行讀寫 提高耐用性:磁盤冗余來實現 級別:多塊磁盤組織在一起的工作方式有所不同 RAID實現的方式: 外接式磁盤陣列:通過擴展卡提供適配能力 內接式RAID:主板集成RAID控制器,安裝OS前在BIOS里配置 軟件RAID:通過OS實現 RAID級別 RAID-0:條帶卷,strip RAID-1: 鏡像卷,mirror RAID-2 .. RAID-5 RAID-6 RAID-10 RAID-01 RAID0 讀、寫性能提升; 可用空間:N*min(S1,S2,...) 無容錯能力 最少磁盤數:2, 2+RAID1 讀性能提升、寫性能略有下降; 可用空間:1*min(S1,S2,...) 有冗余能力 最少磁盤數:2, 2N RAID-4 多塊數據盤異或運算值存于專用校驗盤
RAID-5: 讀、寫性能提升 可用空間:(N-1)*min(S1,S2,...) 有容錯能力:允許最多1塊磁盤損壞 最少磁盤數:3, 3+
RAID-6: 讀、寫性能提升 可用空間:(N-2)*min(S1,S2,...) 有容錯能力:允許最多2塊磁盤損壞 最少磁盤數:4, 4+
RAID-10: 讀、寫性能提升 可用空間:N*min(S1,S2,...)/2 有容錯能力:每組鏡像最多只能壞一塊 最少磁盤數:4, 4+
RAID-01 多塊磁盤先實現RAID0,再組合成RAID1
JBOD:Just a Bunch Of Disks 功能:將多塊磁盤的空間合并一個大的連續空間使用 可用空間:sum(S1,S2,...)
RAID7 可以理解為一個獨立存儲計算機,自身帶有操作系統和管理工具,可以獨立運行,理論上性能最高的RAID 模式 常用級別: RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD 軟RAID mdadm:為軟RAID提供管理界面 為空余磁盤添加冗余 結合內核中的md(multi devices) RAID設備可命名為/dev/md0、/dev/md1、/dev/md2、/dev/md3等 軟件RAID的實現 mdadm:模式化的工具 命令的語法格式:mdadm [mode] <raiddevice> [options] <component-devices> 支持的RAID級別:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10 模式: 創建:-C 裝配: -A 監控: -F 管理:-f, -r, -a <raiddevice>: /dev/md# <component-devices>: 任意塊設備 -C: 創建模式 -n #: 使用#個塊設備來創建此RAID -l #:指明要創建的RAID的級別 -a {yes|no}:自動創建目標RAID設備的設備文件 -c CHUNK_SIZE: 指明塊大小,單位k -x #: 指明空閑盤的個數 -D:顯示raid的詳細信息 mdadm -D /dev/md# 管理模式: -f: 標記指定磁盤為損壞 -a: 添加磁盤 -r: 移除磁盤 觀察md的狀態: cat /proc/mdstat 軟RAID配置示例 使用mdadm創建并定義RAID設備 mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 用文件系統對每個RAID設備進行格式化 mke2fs -j /dev/md0 測試RAID設備 使用mdadm檢查RAID設備的狀況 mdadm --detail|D /dev/md0 增加新的成員 mdadm –G /dev/md0 –n4 -a /dev/sdf1 軟RAID測試和修復 模擬磁盤故障 mdadm /dev/md0 -f /dev/sda1 移除磁盤 mdadm /dev/md0 –r /dev/sda1 從軟件RAID磁盤修復磁盤故障 替換出故障的磁盤然后開機 在備用驅動器上重建分區 mdadm /dev/md0 -a /dev/sda1 mdadm、/proc/mdstat及系統日志信息 軟RAID管理 生成配置文件:mdadm –D –s >> /etc/mdadm.conf 停止設備:mdadm –S /dev/md0 激活設備:mdadm –A –s /dev/md0 激活 強制啟動:mdadm –R /dev/md0 刪除raid信息:mdadm --zero-superblock /dev/sdb1 練習 1:創建一個可用空間為1G的RAID1設備,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup 目錄 2:創建由三塊硬盤組成的可用空間為2G的RAID5設備,要求其chunk大小為256k,文件系統為ext4,開機 可自動掛載至/mydata目錄 1.1先準備三個1G大小的磁盤或者分區,分區需要改分區格式為fd
┌─[root@centos6]─[~]
└──? #fdisk -l /dev/sdc
Disk /dev/sdc: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x675ef717
Device Boot Start End Blocks Id System
/dev/sdc1 1 132 1060258+ fd Linux raid autodetect
/dev/sdc2 133 264 1060290 fd Linux raid autodetect
/dev/sdc3 265 396 1060290 fd Linux raid autodetect
┌─[root@centos6]─[~]
└──? #lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 3.7G 0 rom /mnt/cdrom
sdb 8:16 0 20G 0 disk
└─myvg-mylv (dm-0) 253:0 0 10.2G 0 lvm
sdc 8:32 0 20G 0 disk
├─sdc1 8:33 0 1G 0 part
├─sdc2 8:34 0 1G 0 part
└─sdc3 8:35 0 1G 0 part
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 48.8G 0 part /
├─sda3 8:3 0 29.3G 0 part /data
├─sda4 8:4 0 1K 0 part
├─sda5 8:5 0 2G 0 part [SWAP]
└─sda6 8:6 0 3G 0 part
1.2創建RAID1
┌──[root@centos6]─[~] └──? #mdadm -C /dev/md0 -a yes -l1 -n2 -x1 /dev/sdc{1,2,3} mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 Continue creating array? yes mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. ┌─[root@centos6]─[~] └──? #mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Thu Apr 26 10:46:27 2018 Raid Level : raid1 Array Size : 1059264 (1034.44 MiB 1084.69 MB) Used Dev Size : 1059264 (1034.44 MiB 1084.69 MB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Thu Apr 26 10:46:33 2018 State : clean Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Name : centos6.NO10:0 (local to host centos6.NO10) UUID : b3b80825:bc7b09a9:7985cd23:7fc67a02 Events : 17 Number Major Minor RaidDevice State 0 8 33 0 active sync /dev/sdc1 1 8 34 1 active sync /dev/sdc2 2 8 35 - spare /dev/sdc3 1.3創建文件系統 mkfs -t ext4 /dev/md0 1.4創建掛載點 mkdir /backup 1.5 將掛載信息寫入/etc/fstab文件中 blkid | tail -1,查看新設備的UUID UUID=bb2731ef-c4c2-4ac6-9d6f-5b121547ff51 /backup ext4 defaultS 0 0
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/97069