存儲(chǔ)系統(tǒng)必須在能力和性能上直線升級(jí);將問(wèn)題推給硬件系統(tǒng)并不是解決辦法。存儲(chǔ)虛擬化需要全新的軟件方式來(lái)平衡擴(kuò)容體系架構(gòu)來(lái)實(shí)現(xiàn)數(shù)以千兆的數(shù)據(jù)傳輸和存儲(chǔ)。
商用硬件時(shí)代已經(jīng)來(lái)臨
商用存儲(chǔ)硬件正在快速向企業(yè)級(jí)能力靠近,SCSI硬盤(pán)的優(yōu)點(diǎn)以低售價(jià),大容量的SATA硬盤(pán)形式供用戶(hù)使用。RAID控制器可以支持每秒6GB的SAS連通能力和自動(dòng)分級(jí)。網(wǎng)絡(luò)方面,萬(wàn)兆以太網(wǎng)網(wǎng)可以將存儲(chǔ)和計(jì)算輸入/輸出連接為一體(消除了昂貴而復(fù)雜的光纖通道網(wǎng)絡(luò)對(duì)于IT企業(yè)絕對(duì)是個(gè)福音)。
你可以用10個(gè)存儲(chǔ)節(jié)點(diǎn),SATA硬盤(pán)和萬(wàn)兆以太網(wǎng)來(lái)構(gòu)建500兆兆位字節(jié)的超級(jí)存儲(chǔ)配置。
存儲(chǔ)是個(gè)軟件問(wèn)題
如今的文件系統(tǒng)處理的不僅是數(shù)據(jù)塊。一套完整的存儲(chǔ)操作系統(tǒng)軟件必須能處理容量管理,軟件RAID,網(wǎng)絡(luò)協(xié)議和一系列其他的功能。與計(jì)算虛擬化類(lèi)似,用戶(hù)可以實(shí)現(xiàn)虛擬化領(lǐng)域的大部分功能。
FUSE界面能允許文件系統(tǒng)和虛擬數(shù)據(jù)塊設(shè)備來(lái)實(shí)現(xiàn)這個(gè)目標(biāo)。當(dāng)下的多核處理器優(yōu)化的性能可以在用戶(hù)設(shè)備上同步運(yùn)行多個(gè)操作系統(tǒng),那些有關(guān)單片電路核心的爭(zhēng)論早已經(jīng)過(guò)時(shí)。集群文件系統(tǒng)采用這種方式在商用硬件頂端構(gòu)建了一個(gè)強(qiáng)大的存儲(chǔ)虛擬化軟件層。
Linux與存儲(chǔ)系統(tǒng)直接關(guān)聯(lián)
缺省Linux根文件系統(tǒng)Ext3正在逐漸成為過(guò)去,而Ext4還存在一些局限。
名為”Btrfs”的最新文件系統(tǒng)正處在積極的研發(fā)階段,將成為Solaris ZFS的Linux解決方案。它可以支持很多強(qiáng)大的功能,比如快照,容量管理,軟件RAID,在線壓縮等。
諸如Btrfs和ZFS等早期磁盤(pán)文件系統(tǒng)的不足之處是他們無(wú)法超出單個(gè)服務(wù)器的范圍。
Linux NAS
使用OpenFiler構(gòu)建的單機(jī)版Linux ISCSI或者NFS服務(wù)器能通過(guò)NFS,CIFS,FTP和ISCSI協(xié)議來(lái)提供單機(jī)版NAS/SAN,供多個(gè)計(jì)算節(jié)點(diǎn)內(nèi)的存儲(chǔ)資源共享。
不過(guò)單機(jī)版存儲(chǔ)是一種單點(diǎn)故障。
DRBD(分布式復(fù)制模塊設(shè)備)能為使用激活-被動(dòng)HA配置的雙存儲(chǔ)服務(wù)器提供網(wǎng)絡(luò)RAID-1。
Linux向外擴(kuò)展NAS
上一代的向外擴(kuò)展系統(tǒng)(比如甲骨文的Lustre,紅帽的GFS,甲骨文的OCFS2和SGI的CXFS)采用的是以核心為基礎(chǔ)的方式。他們?cè)谂渲煤凸芾砩隙急容^復(fù)雜,而且無(wú)法從高性能計(jì)算深入滲透到企業(yè)級(jí)原始存儲(chǔ)中去。而新一代的擴(kuò)容文件系統(tǒng)采用的是用戶(hù)區(qū)方式。其中的產(chǎn)品代表為可擴(kuò)容NFS/CIFS,Ceph和GlusterFS。
向外擴(kuò)展NFS:NFS v4.1 (pNFS)在2010年1月被正式分配RFC數(shù)字。但不幸的是,由于Linux pNFS采用的是集中式元數(shù)據(jù)和核心方式,它被歸類(lèi)為第一代產(chǎn)品。pNFS被企業(yè)用戶(hù)所接受的速度可能會(huì)比較緩慢。由于NFSv3 TCP是使用最廣泛的NAS協(xié)議,因此最好采用循環(huán)DNS或者虛擬IP為基礎(chǔ)的擴(kuò)容NAS存儲(chǔ)。RHEV, VMware和Xen都可以支持NFSv3。虛擬化和云用戶(hù)都開(kāi)始從所有權(quán)存儲(chǔ)區(qū)域網(wǎng)絡(luò)為基礎(chǔ)的存儲(chǔ)解決方案向可擴(kuò)容NAS的方向轉(zhuǎn)移。
向外擴(kuò)展CIFS:Samba針對(duì)SMB1和SMB2協(xié)議的Linux采用的是CIFS。SMB2解決了SMB1中的性能問(wèn)題,但是要到明年才能真正出爐。即使是微軟也不推薦在Hyper-V管理程序中使用CIFS。
Ceph:Ceph目前處在積極的研發(fā)階段,看起來(lái)頗有前景。與Linux (從v2.6.34和服務(wù)器領(lǐng)域開(kāi)始)一起推出的核心空間客戶(hù)端會(huì)在用戶(hù)區(qū)使用。Ceph使用的分布式元數(shù)據(jù)體系架構(gòu)增加了多重服務(wù)器內(nèi)部管理分布式復(fù)制元數(shù)據(jù)的復(fù)雜性。隨著時(shí)間的推移和來(lái)自大型社區(qū)的支持,他們應(yīng)該能應(yīng)對(duì)這個(gè)挑戰(zhàn)。Ceph依靠Btrfs來(lái)作為后端存儲(chǔ),直到可以支持NFS才能解決這個(gè)問(wèn)題,在服務(wù)器虛擬化廠商能夠在管理程序中支持本地客戶(hù)端之前還需要等待一段時(shí)間。
GlusterFS:GlusterFS是用戶(hù)區(qū)內(nèi)部署的完整的存儲(chǔ)操作系統(tǒng)軟件。諸如容量管理器,復(fù)制,排序,網(wǎng)絡(luò)協(xié)議,輸入/輸出調(diào)度程序,線程和性能模塊等功能都可以作為軟件模塊來(lái)執(zhí)行。集群消除了使用彈性散列運(yùn)算法則的元數(shù)據(jù)服務(wù)器需求。還能支持在線自我恢復(fù)。與Linux NFS類(lèi)似,文件和文件夾都是存儲(chǔ)在使用標(biāo)準(zhǔn)磁盤(pán)文件系統(tǒng)的后端硬盤(pán)上。集群可以支持諸如NFSv3, CIFS, WebDAV, FTP和本地集群(通過(guò)FUSE)等多個(gè)NAS協(xié)議。集群還可以廣泛的配置在從亞馬遜彈性計(jì)算云環(huán)境到VMware等一系列應(yīng)用軟件環(huán)境中。
非-POSIX存儲(chǔ)
全新系列的存儲(chǔ)解決方案在以POSIX為基礎(chǔ)的NAS和SQL數(shù)據(jù)庫(kù)之間涌現(xiàn)出來(lái)。這主要指的是”NoSQL,”,他們形成了包括分布式目標(biāo)存儲(chǔ),文件存儲(chǔ),關(guān)鍵值配對(duì)和向外擴(kuò)展目標(biāo)數(shù)據(jù)庫(kù)在內(nèi)的一整套解決方案。這些解決方案需要針對(duì)應(yīng)用軟件源碼進(jìn)行修改。由于這些軟件是為特定目的而設(shè)計(jì)的,他們?cè)诟髯缘膽?yīng)用軟件領(lǐng)域有著各自的優(yōu)勢(shì)。
舉例來(lái)說(shuō),Hadoop是針對(duì)大規(guī)模搜索分析或者數(shù)據(jù)采集應(yīng)用軟件而設(shè)計(jì)的。Cassandra和MongoDB類(lèi)似于亞馬遜的Dynamo或者谷歌的BigTable。Redis, Memcached和Memcachedb能提供分布式關(guān)鍵值數(shù)據(jù)存儲(chǔ)。
結(jié)論
存儲(chǔ)和計(jì)算領(lǐng)域的Linux虛擬化的未來(lái)看起來(lái)一片光明。免費(fèi)軟件和開(kāi)源的發(fā)展也呈多樣性態(tài)勢(shì)。當(dāng)一切塵埃落定,一些創(chuàng)新型解決方案將涌現(xiàn)出來(lái)。
我們希望能追蹤到Linux服務(wù)器虛擬化的下一個(gè)發(fā)展階段,希望隨著服務(wù)器虛擬化和存儲(chǔ)虛擬化之間的差距逐漸縮小,企業(yè)用戶(hù)能逐漸意識(shí)到存儲(chǔ)虛擬化的價(jià)值所在。