mycollege.net中數據庫服務器安裝部署
目錄
一. 前言…………………………………………………………………………1
二. 應用意義……………………………………………………………………1
三. 相關技術……………………………………………………………………2
四. 系統配置……………………………………………………………………6
五. 系統特點……………………………………………………………………8
六. 小結…………………………………………………………………………9
摘要
該系統采用san存儲技術應用于數據庫服務器,以提高訪存速度的方式來提高系統的整體速度,并為系統提供廣闊的擴展空間。
this system, which use san storage technic,used in this system’s database server to improve the system’s speed.it provides the system a wide expand area.
關鍵詞 san,磁盤陣列,raid
一. 前言
該系統包括用戶統一身份驗證系統和公共資源管理系統,其中身份驗證系統主要是存儲用戶登錄的用戶名和密碼信息,主要涉及到的是數據庫的查詢操作,不會存在一個信息被多個用戶訪問的情況,只有在多個用戶同時登錄的時候才對數據的訪問速度要求不是很高。公共資源管理系統存儲學生的學號、姓名、選課信息等,還包括教師的一些相關信息,除了很可能出現的多用戶對整個系統的訪問的情況外,還有可能出現多個用戶對其中一個學生或者教師的信息的訪問,對存儲設備的訪問速度、響應時間的要求相當高。并且這兩個系統的數據影響到學生和教師的切身的利益,意外的數據丟失或者破壞都會對用戶的利益造成不可預料的影響,甚至會導致學校的管理的混亂等嚴重后果,所以數據的安全性及其的重要。同時由于諸如新生的入校等造成注冊信息的增多等,對存儲容量就有更高的要求,所以系統的擴展空間成為一個值得考慮的問題,因此我們采取具有高讀寫速度、高擴展性的san存儲系統。
二. 應用意義
san存儲系統用于對數據存儲量大,讀寫速度快、實時性要求高的計算機系統中,對提高整個系統的性能起到了極其重要的作用。該系統采用把磁盤陣列通過控制器后,作為本地硬盤,然后再把在這些“本地硬盤”共享,要讀取陣列的數據的服務器(工作站)把這些盤衍射到本地硬盤,在讀取數據的時候,磁盤陣列的數據就從光纖交換機通過光纖直接傳輸到相應的服務器(工作站)。由于是采用光纖直接傳輸,速度快,并且是每個服務器(工作站)都是專門的光纖傳輸,不會因為其他的工作站或者服務器的讀寫而影響該工作站(服務器)對磁盤陣列數據的讀寫,實時性很高、傳輸速度也穩定。讀取數據過程由磁盤陣列控制器完成,大大減輕了服務器的負擔,讓服務器能做其他更為重要的工作。
三. 相關技術
所用到的技術主要是磁盤陣列原理:
磁盤陣列的技術:磁盤陣列是把多個磁盤組成一個陣列,當作單一磁盤使用,它將數據以分段的方式儲存在不同的磁盤中,存取數據時,陣列中的相關磁盤一起動作,大幅減低數據的存取時間,同時有更佳的空間利用率。磁盤陣列所利用的不同的技術,稱為raid level,不同的level針對不同的系統及應用,以解決數據安全的問題。
一般高性能的磁盤陣列都是以硬件的形式來達成,進一步的把磁盤快取控制及磁盤陣列結合在一個控制器或控制卡上,針對不同的用戶解決人們對磁盤輸出入系統的四大要求:
(1)增加存取速度;
(2)容錯,即安全性;
(3)有效的利用磁盤空間;
(4)盡量的平衡cpu,內存及磁盤的性能差異,提高電腦的整體工作性能。
磁盤陣列的原理:
磁盤陣列中針對不同的應用使用的不同技術,稱為raid level, raid是redundant array of inexpensive disks的縮寫,而每一level代表一種技術,目前常用是raid 0~raid 5。這個level并不代表技術的高低,level 5并不高于level 3,level 1也不低過level 4,至于要選擇那一種raid level的產品,純視用戶的操作環境及應用而定,與level的高低沒有必然的關系。raid 0及raid 1適用于pc及pc相關的系統如小型的網絡服務器及需要高磁盤容量與快速磁盤存取的工作站等,因為比較便宜,但因一般人對磁盤陣列不了解,沒有看到磁盤陣列對他們價值,市場尚未打開;raid 2及raid 3適用于大型電腦及影像、cad/cam等處理;raid 5多用于oltp,因有金融機構及大型數據處理中心的迫切需要,故使用較多而較有名氣,但也因此形成很多人對磁盤陣列的誤解,以為磁盤陣列非要raid 5不可;raid 4較少使用,因為兩者有其共同之處,而raid 4有其先天的限制。介紹各個raid level之前,先看看形成磁盤陣列的兩個基本技術:
如下圖所示,dftraid 磁盤陣列控制器,聯接了四個磁盤:
這四個磁盤形成一個陣列,而磁盤陣列的控制器是將此四個磁盤視為單一的磁盤,如dos環境下的c:盤,把小容量的磁盤延伸為大容量的單一磁盤,用戶不必規劃數據在各磁盤的分布,而且提高了磁盤空間的使用率。dftraid的scsi磁盤陣列更可連接幾十個磁盤,形成容量達幾t甚至幾十t的陣列,使磁盤容量幾乎可作無限的延伸;而各個磁盤一起作取存的動作,比單一磁盤更為快捷。
磁盤陣列是將同一陣列的多個磁盤視為單一的虛擬磁盤,所以其數據是以分段的方式順序存放在磁盤陣列中,如下圖
磁盤0
磁盤1
磁盤2
磁盤3
a0-a1
b0-b1
c0-c1
d0-d1
a2-a3
b2-b3
c2-c3
d2-d3
a4-a5
b4-b5
c4-c5
d4-c5
a6-a7
b6-b7
c6-c7
d6-d7
數據按需要分段,從第一個磁盤開始放,放到最后一個磁盤再回到第一個磁盤放起,直到數據分布完畢。
下面主要介紹幾種raid:
raid0:
raid 0使磁盤的輸出入有最高的效率。而磁盤陣列有更好效率的原因除數據分段外,它可以同時執行多個輸出入的要求,因為陣列中的每一個磁盤都能獨立動作,分段放在不同的磁盤,不同的磁盤可同時作讀寫,而且能在快取內存及磁盤作并行存取的動作,但只有硬件的磁盤陣列才有此性能表現。
raid 1
raid 1是使用磁盤鏡像的技術。它的方式是在工作磁盤之外再加一額外的備份磁盤,兩個磁盤所儲存的數據完全一樣,數據寫入工作磁盤的同時亦寫入備份磁盤。不同于普通的磁盤鏡像,raid 1無工作磁盤和備份磁盤之分,多個磁盤可同時動作而有重疊讀取的功能,甚至不同的鏡像磁盤可同時作寫入的動作,這是一種最佳化的方式,稱為負載平衡。例如有多個用戶在同一時間要讀取數據,系統能同時驅動互相鏡像的磁盤,同時讀取數據,以減輕系統的負載,增加i/o的性能。
raid 2
raid 2是把數據分散為位元或塊,加入海明碼,在磁盤陣列中作間隔寫入到每個磁盤中,而且地址都一樣,也就是在各個磁盤中,其數據都在相同的磁道及扇區中。raid 2的設計是使用共軸同步的技術,存取數據時,整個磁盤陣列一起動作,在各作磁盤的相同位置作平行存取,所以有最好的存取時間,其總線是特別的設計,以大帶寬并行傳輸所存取的數據,所以有最好的傳輸時間。在大型檔案的存取應用,raid 2有最好的性能,但如果檔案太小,會將其性能拉下來,因為磁盤的存取是以扇區為單位,而raid 2的存取是所有磁盤平行動作,而且是作單位元的存取,故小于一個扇區的數據量會使其性能大打折扣。
raid 3
raid 3的數據儲存及存取方式都和raid 2一樣,但在安全方面以奇偶校驗取代海明碼做錯誤校正及檢測,所以只需要一個額外的校檢磁盤。奇偶校驗值的計算是以各個磁盤的相對應位作xor的邏輯運算,然后將結果寫入奇偶校驗磁盤,任何數據的修改都要做奇偶校驗計算,如某一磁盤故障,換上新的磁盤后,整個磁盤陣列(包括奇偶校驗磁盤)需重新計算一次,將故障磁盤的數據恢復并寫入新磁盤中;如奇偶校驗磁盤故障,則重新計算奇偶校驗值,以達容錯的要求。
raid 4
raid 4是以扇區作數據分段,各磁盤相同位置的分段形成一個校驗磁盤分段,放在校驗磁盤。這種方式可在不同的磁盤平行執行不同的讀取命今,大幅提高磁盤陣列的讀取性能;但寫入數據時,因受限于校驗磁盤,同一時間只能作一次,啟動所有磁盤讀取數據形成同一校驗分段的所有數據分段,與要寫入的數據做好校驗計算再寫入。即使如此,小型檔案的寫入仍然比raid 3要快,因其校驗計算較簡單而非作位(bit level)的計算;但校驗磁盤形成raid 4的瓶頸,降低了性能。
raid 5
raid5避免了raid 4的瓶頸,方法是不用校驗磁盤而將校驗數據以循環的方式放在每一個磁盤中,磁盤陣列的第一個磁盤分段是校驗值,第二個磁盤至后一個磁盤再折回第一個磁盤的分段是數據,然后第二個磁盤的分段是校驗值,從第三個磁盤再折回第二個磁盤的分段是數。據,以此類推,直到放完為止。校驗值是由各磁盤同一位置的分段的數據所計算出來。這種方式能大幅增加小檔案的存取性能,不但可同時讀取,甚至有可能同時執行多個寫入的動作。
將以上幾種策略相比較:raid0的磁盤利用率高、數據的讀寫速度快,但是數據的安全的保障差;raid1的數據的讀寫速度快、數據的安全有很好的保障,缺點就是磁盤的利用率低;raid2到raid5可以說是raid0和raid1的結合,讀寫速度快,數據的安全也有很好的保障,磁盤的利用率比較高,但是raid2和raid3適合于大批量數據的批量讀寫,在數量繁多的小量數據的讀寫性能不是很好;raid4解決了以上的問題,但是校驗盤容易形成通信瓶頸,raid5的出現解決了這一問題。因此,在用戶身份驗證系統和公共資源管理系統中存儲的信息都是數目繁多的小塊數據,并且數據的安全性要求很高,所以不適合采用raid0、raid2和raid3讀取方式,該系統中,特別是公共資源管理系統,有可能存在多個用戶同時對某個學生或者教師的信息的訪問,如果采用raid1讀寫方式,當出現這種情況時可以讓互為鏡像的磁盤同時讀取數據,相對于raid5來說無疑會大大提高系統的性能。所以在磁盤陣列的讀寫策略上采用raid1策略。 (更多技術可參閱http://www.dft.com.cn)
為了保證系統的長時間不間斷工作,采用系統設備的冗余來進行保證。磁盤陣列采用雙控制器,在通常情況下,雙控制器一同工作,提高輸入輸出數據的速度,提高系統的性能,同時能大大減少因控制器故障造成的系統服務的中斷;與此類似,服務器也做成群集服務的方式。
四. 系統配置
該系統的接線圖(圖 a)
各類服務器除了基本的配置外,這里只介紹一下其特殊的硬件配置。數據庫服務器:以太網卡(100m),光纖通道卡(fc卡)。web服務器:以太網卡(100m),光纖通道卡,光纖網卡(如果要做成群集服務的話就需要額外的一塊以太網卡)。以太網交換機和fc交換機(以16口交換機為例)用cisco或者vixel交換機即可。以太網交換機不需要其他特別的配置,如果要用同一臺交換機連接其他的非屬于該系統的網絡,最好把連接到該存儲網絡的服務器連接到交換機的接口單獨劃分為一個vlan,以避免干擾。對于fc交換機,可以用san insite等軟件進行配置,假定連接磁盤陣列控制器的光纖另一段接在fc交換機的1號和2號接口,則連接其他服務器的光纖的接口要設定成只能同1號和2號接口通信而不能進行相互通信,這樣以避免各服務器之間的相互干擾。在配置控制器時,應注意屏蔽掉不必讀取該lun的服務器對該lun的訪問,以提高數據的安全性。
軟件上的配置:服務器統一安裝windows 2000 advance server,裝好操作系統和各硬件的驅動程序后,安裝sanergy,重啟服務器,然后測試服務器對磁盤陣列的讀數據和寫數據的速度,如果為75m左右說明系統運行正常,對于數據庫服務器,安裝sql server,并且導入數據。對于web服務器,安裝iis服務。以太網卡接的是存儲網絡的以太網交換機,光纖網卡接入到所在的局域網或者廣域網中,負責和用戶的通信,所以以太網卡的ip和光纖網卡的ip的設定一定要設定成不在同一網段。對于比如進行公共資源管理的服務器,可以把多臺服務器做成群集服務,以提高性能和穩定性。
五. 系統的特點
磁盤陣列上的磁盤可以劃分成不同的卷,為了保證數據的安全,把用戶統一身份認證系統的數據(用戶名和密碼)放于一個lun上面;而把公共資源管理系統相關的數據放在其他的lun上面,不通的服務器訪問與之相關的lun,這樣就可以通過防止不同的服務器的非法訪問而導致的數據的破壞。因此磁盤陣列至少劃分成兩個lun(lun0和lun1),分別存儲以上兩個子系統的相關的數據,如果空間足夠的比較大的話,劃分其他的lun來存放其他的數據。劃分的這些卷就成為服務器上磁盤,并設為共享,然后其他的web服務器通過把這些磁盤衍射到本地磁盤的方式訪問磁盤陣列上的磁盤,使用方便、直觀。數據的傳輸是通過專門的光纖傳輸,而不是通過以太網(該功能由sanergy來實現,所以數據庫服務器和wed服務器都需要裝sanergy),速度快,并且不會有爭用傳輸通道的情況發生,因此,響應時間短,數據的讀寫速度也穩定。磁盤陣列的磁盤支持熱插拔技術,在磁盤損壞的情況發生時,可以在系統不停機的情況下拔出損壞的磁盤,換上新的磁盤,即可重建損壞的磁盤上面的數據,其他設備,諸如磁盤陣列、服務器等的電源也支持熱插拔技術,能保證在系統運行的時候更換掉損壞的部件,保證了系統工作的持續性和數據的安全性。隨著數據量的不斷增大,當單個的磁盤陣列不能滿足需要的時候可以擴展新的磁盤陣列來加倍增加存儲容量,并且不用增加新的價格昂貴的控制器,這樣就為用戶提供了很大的擴展空間,同時擴展需要的成本也大大減少。
六. 小結
這次畢業設計主要是用實習期間學到的網絡存儲技術,在畢業設計中進行一次實際的應用,是對當時學習的一次考核。在這次設計查詢各方面的過程中使我對網絡存儲技術有了更深刻的了解,掌握了不少的提高數據安全和訪問速度方面的思想。同時通過和小組的其他同學的合作,親自體會到協同合作的主要性。在本文完成之際,衷心感謝指導老師的悉心指導和本組的各位同學對我的大力幫助,此設計能順利完成,成都索貝數碼科技股份有限公司為我提供的實習機會有不可缺少的作用,對此表示衷心感謝。
(圖 a)
中國最大的web開發資源網站及技術社區,