歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux實現最常用的磁盤陣列--RAID5

Linux實現最常用的磁盤陣列--RAID5

日期:2017/3/1 16:56:23   编辑:關於Linux

(一)RAID簡介: 獨立磁盤冗余數組(RAID, Redundant Array of Independent Disks),舊稱廉價磁盤冗余數組(RAID,Redundant Array of Inexpensive Disks),簡稱硬盤陣列。其基本思想就是把多個相對便宜的硬盤組合起來,成為一個硬盤陣列組,使性能達到甚至超過一個價格昂貴、容量巨大的硬盤。根據選擇的版本不同,RAID比單顆硬盤有以下一個或多個方面的好處:增強數據集成度,增強容錯功能,增加處理量或容量。另外,磁盤陣列對於電腦來說, 看起來就像一個單獨的硬盤或邏輯存儲單元。分為RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50。
www.2cto.com 簡單來說,RAID把多個硬盤組合成為一個邏輯扇區,因此,操作系統只會把它當作一個硬盤。RAID常被用在服務器電腦上,並且常使用完全相同的硬盤作為組合。由於硬盤價格的不斷下降與RAID功能更加有效地與主板集成,它也成為了玩家的一個選擇,特別是需要大容量存儲空間的工作,如:視頻與音頻制作。 最初的RAID分成了不同的等級,每種等級都有其理論上的優缺點,不同的等級在兩個目標間取得平衡,分別是增加數據可靠性以及增加存儲器(群)讀寫性能。這些年來,出現了對於RAID觀念不同的應用。
www.2cto.com (二)linux實現軟RAID5: 1、准備硬盤(至少需要3塊硬盤,此處使用一塊硬盤的5個分區實現,但是在實際生產中一塊硬盤做RAID沒有意義): [root@localhost ~]# fdisk -cul /dev/sdb #創建分區如下 Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x466fc1b6 Device Boot Start End Blocks Id System /dev/sdb1 2048 10487807 5242880 83 Linux /dev/sdb2 10487808 41943039 15727616 5 Extended /dev/sdb5 10489856 16781311 3145728 83 Linux /dev/sdb6 16783360 23074815 3145728 83 Linux /dev/sdb7 23076864 29368319 3145728 83 Linux /dev/sdb8 29370368 35661823 3145728 83 Linux /dev/sdb9 35663872 41943039 3139584 83 Linux [root@localhost ~]# partx -a /dev/sdb #重新讀取分區表 [root@localhost ~]# rpm -qa |grep mdadm #查看創建raid軟件是否安裝 mdadm-3.2.3-9.el6.i686 2、創建RAID5: [root@localhost ~]# mdadm -C /dev/md0 -a yes -l 5 -n 4 -x 1 /dev/sdb{5..9} ####-C:創建/dev/md0設備,-a:是否自動檢測這裡為yes,-l:raid的級別這裡為raid5,-n:幾塊硬盤做為RUN,-x:幾塊硬盤作為備用 mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. [root@localhost ~]# mdadm --detail /dev/md0 #查看/dev/md0的詳細信息 /dev/md0: Version : 1.2 Creation Time : Mon Jan 14 19:36:37 2013 Raid Level : raid5 Array Size : 9414144 (8.98 GiB 9.64 GB) Used Dev Size : 3138048 (2.99 GiB 3.21 GB) Raid Devices : 4 Total Devices : 5 Persistence : Superblock is persistent Update Time : Mon Jan 14 19:37:27 2013 State : clean Active Devices : 4 Working Devices : 5 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : f16324c8:0f2a0be2:04c57c07:5f44f53e Events : 18 Number Major Minor RaidDevice State 0 8 21 0 active sync /dev/sdb5 1 8 22 1 active sync /dev/sdb6 2 8 23 2 active sync /dev/sdb7 5 8 24 3 active sync /dev/sdb8 4 8 25 - spare /dev/sdb9 3、格式化、掛載、使用/dev/md0: [root@localhost ~]# mkfs.ext4 /dev/md0 #將/dev/md0格式化 [root@localhost ~]# mkdir /raid5 ##創建掛載目錄 [root@localhost ~]# mount /dev/md0 /raid5/ #掛載/dev/md0到/raid5目錄下 [root@localhost ~]# cd /raid5/ [root@localhost raid5]# touch raid5.file [root@localhost raid5]# ls lost+found raid5.file 4、設置開機啟動RAID5: [root@localhost ~]# mdadm --detail --scan #查看raid簡要信息 ARRAY /dev/md0 metadata=1.2 spares=1 name=localhost.localdomain:0 UUID=f16324c8:0f2a0be2:04c57c07:5f44f53e [root@localhost ~]# mdadm --detail --scan >/etc/mdadm.conf #創建軟raid的配置文件!注意:此文件如果不創建下次開機重啟後/dev/md0將會被系統自動識別為其他非/dev/md0名稱的設備,對於實現開機掛載和使用都不方便。 [root@localhost ~]# vim /etc/fstab #編輯fstab文件添加如下行 /dev/md0 /raid5 ext4 defaults 0 0 4、管理RAID5: 查看raid的狀態: [root@localhost ~]# cat /proc/mdstat #查看raid的狀態 Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sdb8[5] sdb9[4](S) sdb7[2] sdb6[1] sdb5[0] 9414144 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU] unused devices: <none> 查看特定raid設備的詳細信息: [root@localhost ~]# mdadm --detail /dev/md0 ……………………………………………省略……………………………………………….. Number Major Minor RaidDevice State 0 8 21 0 active sync /dev/sdb5 1 8 22 1 active sync /dev/sdb6 2 8 23 2 active sync /dev/sdb7 5 8 24 3 active sync /dev/sdb8 4 8 25 - spare /dev/sdb9 模擬硬盤損壞: [root@localhost ~]# mdadm /dev/md0 --fail /dev/sdb5 #模擬硬盤損壞 [root@localhost ~]# mdadm –detail #驗證 ……………………………………………省略……………………………………………….. Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : f16324c8:0f2a0be2:04c57c07:5f44f53e Events : 25 Number Major Minor RaidDevice State 4 8 25 0 spare rebuilding /dev/sdb9 1 8 22 1 active sync /dev/sdb6 2 8 23 2 active sync /dev/sdb7 5 8 24 3 active sync /dev/sdb8 0 8 21 - faulty spare /dev/sdb5 ####/dev/sdb5的狀態變成了faulty,/dev/sdb9則立即變成active 模擬拔出硬盤: [root@localhost ~]# mdadm /dev/md0 --remove /dev/sdb5 #模擬拔出硬盤 mdadm: hot removed /dev/sdb5 from /dev/md0 [root@localhost ~]# mdadm –detail #驗證 ……………………………………………省略……………………………………………….. Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : f16324c8:0f2a0be2:04c57c07:5f44f53e Events : 4 Number Major Minor RaidDevice State 4 8 25 0 active sync /dev/sdb9 1 8 22 1 active sync /dev/sdb6 2 8 23 2 active sync /dev/sdb7 5 8 24 3 active sync /dev/sdb8 ####/dev/sdb5已經從/dev/md0中消失了: 模擬往raid中添加硬盤: [root@localhost ~]# mdadm --zero-superblock --force /dev/sdb5 #修復硬盤 [root@localhost ~]# mdadm /dev/md0 --add /dev/sdb5#模擬往raid中添加硬盤 mdadm: added /dev/sdb5 [root@localhost ~]# mdadm --detail /dev/md0 #驗證 /dev/md0: Version : 1.2 Creation Time : Mon Jan 14 19:36:37 2013 Raid Level : raid5 Array Size : 9414144 (8.98 GiB 9.64 GB) Used Dev Size : 3138048 (2.99 GiB 3.21 GB) Raid Devices : 4 Total Devices : 5 Persistence : Superblock is persistent Update Time : Mon Jan 14 20:17:02 2013 State : clean Active Devices : 4 Working Devices : 5 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : f16324c8:0f2a0be2:04c57c07:5f44f53e Events : 41 Number Major Minor RaidDevice State 4 8 25 0 active sync /dev/sdb9 1 8 22 1 active sync /dev/sdb6 2 8 23 2 active sync /dev/sdb7 5 8 24 3 active sync /dev/sdb8 6 8 21 - spare /dev/sdb5 ####/dev/sdb5已經成功添加到了/dev/md0中並且做為備用設備等待使用。
Copyright © Linux教程網 All Rights Reserved