日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

在Redhat Linux AS 4下實(shí)現(xiàn)軟件RAID

 xos 2006-07-07
通常情況下人們?cè)诜?wù)器端采用各種冗余磁盤陣列(RAID)技術(shù)來(lái)保護(hù)數(shù)據(jù),中高檔的服務(wù)器一般都提供了昂貴的硬件RAID控制器。對(duì)于資金實(shí)力有限的中小企業(yè)來(lái)講,在Linux下通過(guò)軟件來(lái)實(shí)現(xiàn)硬件的RAID
功能,這樣既節(jié)省了投資,又能達(dá)到很好的效果。何樂(lè)而不為呢?

作為一個(gè)面向服務(wù)器的網(wǎng)絡(luò)型操作系統(tǒng),Linux對(duì)數(shù)據(jù)的安全和存取速度給予了高度重視,從2.4版內(nèi)核開(kāi)始Linux就實(shí)現(xiàn)了對(duì)軟件RAID的支持(關(guān)于RAID的背景知識(shí)請(qǐng)見(jiàn)附文),這讓我們可以不必購(gòu)買昂貴的硬件RAID設(shè)備,就能享受到增強(qiáng)的磁盤I/O性能和可靠性,進(jìn)一步降低了系統(tǒng)的總體擁有成本。下面就讓我們看一個(gè)Redhat Linux AS 4下的軟件RAID配置實(shí)例吧。

系統(tǒng)配置情況

假設(shè)某單位新上了一套使用Oracle數(shù)據(jù)庫(kù)的能量采集系統(tǒng),該系統(tǒng)數(shù)據(jù)量極大并且讀寫非常頻繁,實(shí)時(shí)性要求高,高峰時(shí)有近40名用戶在線,對(duì)數(shù)據(jù)庫(kù)服務(wù)器的磁盤子系統(tǒng)提出了很高的要求。由于預(yù)算比較緊張,經(jīng)過(guò)多方比較,最終選擇了采用Linux系統(tǒng)做軟件RAID5的方案。

其配置情況如下:

● 操作系統(tǒng)為RedHat Linux AS 4;

● 內(nèi)核版本為2.6.9-5.EL;

● 支持RAID0、RAID1、RAID4、RAID5、RAID6;

● 五塊36GB SCSI接口的磁盤,其中RedHat AS 4安裝在第一塊磁盤,其它四塊組成RAID 5用來(lái)存放Oracle數(shù)據(jù)庫(kù)。

在RedHat AS 4下實(shí)現(xiàn)軟件RAID是通過(guò)mdadm工具實(shí)現(xiàn)的,其版本為1.6.0,它是一個(gè)單一的程序,創(chuàng)建、管理RAID都非常方便,而且也很穩(wěn)定。而在早期Linux下使用的raidtools,由于維護(hù)起來(lái)很困難,而且其性能有限,在RedHat AS 4下已經(jīng)不支持了。

實(shí)現(xiàn)過(guò)程

1.創(chuàng)建分區(qū)

五塊SCSI磁盤分別對(duì)應(yīng)/dev/sda、/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde。其中第一塊磁盤/dev/sda分兩個(gè)區(qū),用于安裝RedHat AS 4和做交換分區(qū),其他四塊磁盤每塊只分一個(gè)主分區(qū),分別為/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1,并且將分區(qū)類型指定為“fd”,這將使Linux內(nèi)核能將它們識(shí)別為RAID分區(qū),且在每次引導(dǎo)時(shí)自動(dòng)被檢測(cè)并啟動(dòng)。創(chuàng)建分區(qū)使用fdisk命令。

# fdisk /dev/sdb

進(jìn)入fdisk命令行后,使用命令n創(chuàng)建分區(qū),命令t改變分區(qū)類型,命令w保存分區(qū)表并退出,命令m為幫助。

2.創(chuàng)建RAID 5

這里使用了/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1四個(gè)設(shè)備創(chuàng)建RAID 5,其中/dev/sde1作為備份設(shè)備,其他為活動(dòng)設(shè)備。備份設(shè)備主要起備用作用,一旦某一設(shè)備損壞可以立即用備份設(shè)備替換,當(dāng)然也可以不使用備份設(shè)備。命令格式如下:

# mdadm -Cv /dev/md0 -l5 -n3 -x1 -c128 /dev/sd[b,c,d,e]1

命令中各參數(shù)分別表示如下作用:“-C”指創(chuàng)建一個(gè)新的陣列;“/dev/md0”表示陣列設(shè)備名稱;“-l5”表示設(shè)置陣列模式,可以選擇0、1、4、5、6,它們分別對(duì)應(yīng)于RAID0、RAID1、RAID4、RAID5、RAID6,這里設(shè)為RAID5模式;“-n3”指設(shè)置陣列中活動(dòng)設(shè)備的數(shù)目,該數(shù)目加上備用設(shè)備的數(shù)目應(yīng)等于陣列中的總設(shè)備數(shù); “-x1”設(shè)置陣列中備份設(shè)備的數(shù)目,當(dāng)前陣列中含有1個(gè)備份設(shè)備;“-c128”指設(shè)置塊的尺寸為128KB,缺省為64KB;“/dev/sd[b,c,d,e]1”指當(dāng)前陣列中包含的所有設(shè)備標(biāo)識(shí)符,也可以分開(kāi)來(lái)寫,中間用空格分開(kāi),其中最后一個(gè)為備份設(shè)備。

3.查看陣列狀態(tài)

當(dāng)創(chuàng)建一個(gè)新陣列或者陣列重構(gòu)時(shí),設(shè)備需要進(jìn)行同步操作,這一過(guò)程需要一定時(shí)間,可以通過(guò)查看/proc/mdstat文件,來(lái)顯示陣列的當(dāng)前狀態(tài)以及同步進(jìn)度、所需時(shí)間等。

# more /proc/mdstat

Personalities : [raid5]

md0 : active raid5 sdd1[3] sde1[4] sdc1[1] sdb1[0]

75469842 blocks level 5, 128k chunk, algorithm 2 [3/2] [UU_]

[>....................] recovery = 4.3% (1622601/37734912) finish=1.0min speed=15146K/sec

unused devices:

當(dāng)新建或重構(gòu)完成后,再次查看/proc/mdstat文件:

# more /proc/mdstat

Personalities : [raid5]

md0 : active raid5 sdd1[2] sde1[3] sdc1[1] sdb1[0]

75469842 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]

unused devices:

通過(guò)以上內(nèi)容,可以很清楚地看出當(dāng)前陣列的狀態(tài),各部分所代表的意思如下:“[3/3]”中的第一位數(shù)表示陣列所包含的設(shè)備數(shù),第二位數(shù)表示活動(dòng)的設(shè)備數(shù),如果有一個(gè)設(shè)備損壞,則第二位數(shù)將減1;“[UUU]”標(biāo)記當(dāng)前陣列可以正常使用的設(shè)備情況,現(xiàn)假設(shè)/dev/sdb1出現(xiàn)故障,則該標(biāo)記將變成[_UU],這時(shí)的陣列以降級(jí)模式運(yùn)行,即該陣列仍然可用,但是不再具有任何冗余;“sdd1[2]”指陣列所包含的設(shè)備數(shù)為n,若方括號(hào)內(nèi)的數(shù)值小于n,則表示該設(shè)備為活動(dòng)設(shè)備,若數(shù)值大于等于n,則該設(shè)備為備份設(shè)備,當(dāng)一個(gè)設(shè)備出現(xiàn)故障的時(shí)候,相應(yīng)設(shè)備的方括號(hào)后將被標(biāo)以(F)。 
 
 

4.生成配置文件

mdadm的缺省配置文件為/etc/mdadm.conf,它主要是為了方便陣列的日常管理而設(shè)置的,對(duì)于陣列而言不是必須的,但是為了減少日后管理中不必要的麻煩,還是應(yīng)該堅(jiān)

持把這一步做完。

在mdadm.conf文件中要包含兩種類型的行:一種是以DEVICE開(kāi)頭的行,它指明在陣列中的設(shè)備列表;另一種是以ARRAY開(kāi)頭的行,它詳細(xì)地說(shuō)明了陣列的名稱、模式、陣列中活動(dòng)設(shè)備的數(shù)目以及設(shè)備的UUID號(hào)。格式如下:

DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

ARRAY /dev/md0 level=raid5 num-devices=3 UUID=8f128343:715a42df: baece2a8: a5b878e0

以上的這些信息可以通過(guò)掃描系統(tǒng)的陣列來(lái)獲取,命令為:

# mdadm -Ds

ARRAY /dev/md0 level=raid5 num-devices=3 UUID=8f128343:715a42df: baece2a8: a5b878e0

devices=/dev/sdb1,/dev/sdc1,/dev/sdd1,/dev/sde1

使用vi命令,按照規(guī)定的格式編輯修改/etc/mdadm.conf文件

# vi /etc/mdadm.conf

5.創(chuàng)建文件系統(tǒng)并掛接(mount)使用

RAID5已經(jīng)啟動(dòng)并處于運(yùn)行狀態(tài),現(xiàn)在要做的就是在其上創(chuàng)建一個(gè)文件系統(tǒng),這里使用mkfs命令,文件系統(tǒng)類型為ext3。命令如下:

# mkfs -t ext3 /dev/md0

當(dāng)新的文件系統(tǒng)生成之后,就可以將/dev/md0掛接到指定的目錄了。命令如下:

# mount /dev/md0 /mnt/raid

為了讓系統(tǒng)在啟動(dòng)時(shí)自動(dòng)將/dev/md0掛接到/mnt/raid,還需要修改/etc/fstab文件,添加如下內(nèi)容:

/dev/md0 /mnt/raid ext3 defaults 0 0

故障模擬

上面的實(shí)例,讓我們對(duì)Redhat Linux AS 4的軟件RAID功能有了一定的認(rèn)識(shí),并且通過(guò)詳細(xì)的步驟說(shuō)明了如何創(chuàng)建RAID5。有了RAID做保障,電腦里的數(shù)據(jù)看起來(lái)似乎已經(jīng)很安全了,然而現(xiàn)有的情況還是不能讓我們高枕無(wú)憂,想一想,萬(wàn)一磁盤出現(xiàn)故障怎么辦?下面我們模擬一個(gè)更換RAID5故障磁盤的完整過(guò)程,希望以此豐富大家處理RAID5故障的經(jīng)驗(yàn),提高管理和維護(hù)水平。

我們?nèi)匀谎赜蒙厦娴腞AID5配置,首先往陣列中拷貝一些數(shù)據(jù),接下來(lái)開(kāi)始模擬/dev/sdb1設(shè)備故障。不過(guò),對(duì)于無(wú)備份設(shè)備的RAID5的模擬過(guò)程也要經(jīng)過(guò)如下三步,只是陣列重構(gòu)和數(shù)據(jù)恢復(fù)是發(fā)生在新設(shè)備添加到陣列中之后,而不是設(shè)備損壞時(shí)。

1.將/dev/sdb1標(biāo)記為已損壞的設(shè)備

# mdadm /dev/md0 -f /dev/sdb1

查看當(dāng)前陣列狀態(tài)

# more /proc/mdstat

Personalities : [raid5]

md0 : active raid5 sdd1[2] sde1[3] sdc1[1] sdb1[4](F)

75469842 blocks level 5, 128k chunk, algorithm 2 [3/2] [_UU]

[=>...................] recovery = 8.9% (3358407/37734912) finish=1.6min speed=9382K/sec

unused devices:

因?yàn)橛袀浞菰O(shè)備,所以當(dāng)陣列中出現(xiàn)設(shè)備損壞時(shí),陣列能夠在短時(shí)間內(nèi)實(shí)現(xiàn)重構(gòu)和數(shù)據(jù)的恢復(fù)。從當(dāng)前的狀態(tài)可以看出,陣列正在重構(gòu),且運(yùn)行在降級(jí)模式,sdb1[4]的后面已經(jīng)標(biāo)上了(F),活動(dòng)設(shè)備數(shù)也降為2個(gè)。

經(jīng)過(guò)幾分鐘后,再次查看當(dāng)前陣列狀態(tài)。

# more /proc/mdstat

Personalities : [raid5]

md0 : active raid5 sdd1[2] sde1[0] sdc1[1] sdb1[3](F)

75469842 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]

unused devices:

此時(shí)陣列重構(gòu)已經(jīng)完成,數(shù)據(jù)恢復(fù)完畢,原有的備份設(shè)備sde1成為了活動(dòng)設(shè)備。

2.移除損壞的設(shè)備

# mdadm /dev/md0 -r /dev/sdb1

查看當(dāng)前陣列的狀態(tài):

# more /proc/mdstat

Personalities : [raid5]

md0 : active raid5 sdd1[2] sde1[0] sdc1[1]

75469842 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]

unused devices:

損壞的sdb1已經(jīng)從陣列中移掉。

3.將新設(shè)備添加到陣列中

因?yàn)槭悄M操作,可以通過(guò)下面的命令再次將/dev/sdb1添加到陣列中。如果是實(shí)際操作則要注意兩點(diǎn):一是在添加之前要對(duì)新磁盤進(jìn)行正確的分區(qū);二是添加時(shí)要用所添加設(shè)備的設(shè)備名替換/dev/sdb1。

# mdadm /dev/md0 -a /dev/sdb1

查看當(dāng)前陣列的狀態(tài):

# more /proc/mdstat

Personalities : [raid5]

md0 : active raid5 sdb1[3] sdd1[2] sde1[0] sdc1[1]

75469842 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]

unused devices:

這時(shí)sdb1作為備份設(shè)備再次出現(xiàn)在陣列中

常用陣列維護(hù)命令

1.啟動(dòng)陣列

# mdadm -As /dev/md0

該命令指啟動(dòng)/dev/md0陣列,其中“-A”指裝載一個(gè)已存在的陣列;“-s”指查找mdadm.conf文件中的配置信息,并以此為依據(jù)啟動(dòng)陣列。

#mdadm -As

該命令指啟動(dòng)mdadm.conf文件中的所有陣列。

#mdadm -A /dev/md0 /dev/sd[b,c,d,e]1

如果沒(méi)有創(chuàng)建mdadm.conf文件則可以采用上面這種啟動(dòng)方式。

2.停止陣列

# mdadm -S /dev/md0

3.顯示指定陣列的詳細(xì)信息

# mdadm -D /dev/md0

鏈接

RAID簡(jiǎn)介

RAID是冗余磁盤陣列(Redundant Array of Inexpensive Disk)的簡(jiǎn)稱。它是把多個(gè)磁盤組成一個(gè)陣列,當(dāng)作單一磁盤使用。它將數(shù)據(jù)以分段(striping)的方式分散存儲(chǔ)在不同的磁盤中,通過(guò)多個(gè)磁盤的同時(shí)讀寫,來(lái)減少數(shù)據(jù)的存取時(shí)間,并且可以利用不同的技術(shù)實(shí)現(xiàn)數(shù)據(jù)的冗余,即使有一個(gè)磁盤損壞,也可以從其他的磁盤中恢復(fù)所有的數(shù)據(jù)。簡(jiǎn)單地說(shuō),其好處就是:安全性高、速度快、數(shù)據(jù)容量大。

磁盤陣列根據(jù)其使用的技術(shù)不同而劃分了等級(jí),稱為RAID level,目前公認(rèn)的標(biāo)準(zhǔn)是RAID 0~RAID 5。其中的level并不代表技術(shù)的高低,RAID 5并不高于RAID 4 ,RAID 0并不低于RAID 2 ,至于選擇哪一種RAID需視用戶的需求而定。下面分別對(duì)常用的RAID 0、RAID 1、RAID 5進(jìn)行簡(jiǎn)單的介紹。

1.RAID 0

特點(diǎn):它是將多個(gè)磁盤并列起來(lái),成為一個(gè)大硬盤。在存取數(shù)據(jù)時(shí),將數(shù)據(jù)按磁盤的個(gè)數(shù)來(lái)進(jìn)行分段,然后同時(shí)將這些數(shù)據(jù)寫進(jìn)這些盤中。在所有的級(jí)別中,RAID 0的速度是最快的。但沒(méi)有數(shù)據(jù)冗余,陣列中任何一個(gè)磁盤壞掉,意味著所有數(shù)據(jù)丟失。

磁盤利用數(shù):n(假設(shè)有n個(gè)磁盤)。

配置條件:最低兩塊磁盤,且分區(qū)大小盡量相同。

應(yīng)用領(lǐng)域:對(duì)高磁盤容量及高速磁盤存取有特殊需求,而又不計(jì)較其高故障率的工作。當(dāng)然,如果你正在使用集群,RAID 0 無(wú)疑是提高磁盤I/O性能的最好方法,因?yàn)樵谶@種情況下,你就不用擔(dān)心冗余的問(wèn)題了。

2.RAID 1

特點(diǎn):使用磁盤鏡像(disk mirroring)的技術(shù),在一個(gè)磁盤上存放數(shù)據(jù)的同時(shí)也在另一個(gè)磁盤上寫一樣的數(shù)據(jù)。因?yàn)橛辛藗浞荽疟P,所以RAID 1的數(shù)據(jù)安全性在所有的RAID級(jí)別上來(lái)說(shuō)是最好的。盡管其寫入數(shù)據(jù)的速度比較慢,但因其數(shù)據(jù)是以分段的方式作儲(chǔ)存,因而在讀取時(shí),它幾乎和RAID 0有同樣的性能。

磁盤利用數(shù):n/2。

配置條件:最低兩塊磁盤,且分區(qū)大小盡量相同。

應(yīng)用領(lǐng)域:數(shù)據(jù)庫(kù)、金融系統(tǒng)等一些對(duì)數(shù)據(jù)有著高可靠性要求的領(lǐng)域。再者就是系統(tǒng)中寫數(shù)據(jù)量比較少,而讀數(shù)據(jù)量又比較多的情況下可以采用這一模式。

3.RAID 5

特點(diǎn):以數(shù)據(jù)的校驗(yàn)位來(lái)保證數(shù)據(jù)的安全,但它不是以單獨(dú)硬盤來(lái)存放數(shù)據(jù)的校驗(yàn)位,而是將數(shù)據(jù)段的校驗(yàn)位交互存放于各個(gè)磁盤上。這樣,任何一個(gè)磁盤損壞,都可以根據(jù)其他磁盤上的校驗(yàn)位來(lái)重建損壞的數(shù)據(jù)。并行讀寫數(shù)據(jù),性能也很高。

磁盤利用數(shù):n-1。

配置條件:最低三塊硬盤,且分區(qū)大小盡量相同。

應(yīng)用領(lǐng)域:適合于事務(wù)處理環(huán)境,例如民航售票處、銷售系統(tǒng)等。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多