本發(fā)明涉及虛擬化存儲技術(shù)領(lǐng)域,特別涉及一種適應(yīng)于多用戶場景的存儲系統(tǒng)。
背景技術(shù):
當(dāng)前,隨著信息時代的快速發(fā)展,人們在日常的工作和生活中,需要對越來越多的數(shù)據(jù)進行存儲。為了降低存儲成本,現(xiàn)在許多用戶逐漸開始使用云平臺上的存儲資源來對數(shù)據(jù)進行存儲。對于云端存儲資源供應(yīng)商來說,如何為互聯(lián)網(wǎng)上的大量用戶提供存儲服務(wù)是目前還有待解決的問題。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種適應(yīng)于多用戶場景的存儲系統(tǒng),能夠為互聯(lián)網(wǎng)上的大量用戶提供存儲服務(wù)。其具體方案如下:
一種適應(yīng)于多用戶場景的存儲系統(tǒng),所述存儲系統(tǒng)為基于CIFS協(xié)議搭建的系統(tǒng),包括存儲子系統(tǒng)、AD域和ZFS文件系統(tǒng);其中,
所述AD域,用于為發(fā)起存儲資源請求的用戶創(chuàng)建與該用戶唯一對應(yīng)的AD域賬號,以便該用戶根據(jù)該AD域賬號使用位于所述存儲子系統(tǒng)中的相應(yīng)的存儲資源;
所述ZFS文件系統(tǒng),用于對所述存儲子系統(tǒng)中的LUN進行統(tǒng)一管理,并利用Quota命令為所述AD域創(chuàng)建的每一AD域賬號配置相應(yīng)的存儲資源使用容量。
可選的,所述存儲子系統(tǒng)為IP SAN或FC SAN。
可選的,所述AD域為Windows Server R2或Windows 2012提供的AD域。
可選的,所述存儲系統(tǒng),還包括:
ACL權(quán)限控制模塊,用于控制每個共享文件的讀寫權(quán)限。
可選的,所述存儲系統(tǒng),還包括:
空間隔離模塊,用于利用所述CIFS協(xié)議中的Home Directory特性為每個AD域賬戶定制相應(yīng)的存儲資源使用空間。
可選的,所述ZFS文件系統(tǒng),還用于為所述存儲系統(tǒng)中存儲的數(shù)據(jù)進行備份處理。
可選的,所述ZFS文件系統(tǒng),還用于對所述存儲子系統(tǒng)中的存儲空間進行在線擴容處理。
本發(fā)明中,存儲系統(tǒng)為基于CIFS協(xié)議搭建的系統(tǒng),包括存儲子系統(tǒng)、ZFS文件系統(tǒng)和AD域;其中,AD域,用于為發(fā)起存儲資源請求的用戶創(chuàng)建與該用戶唯一對應(yīng)的AD域賬號,以便該用戶根據(jù)該AD域賬號使用位于存儲子系統(tǒng)中的相應(yīng)的存儲資源;ZFS文件系統(tǒng),用于對存儲子系統(tǒng)中的LUN進行統(tǒng)一管理,并利用Quota命令為AD域創(chuàng)建的每一AD域賬號配置相應(yīng)的存儲資源使用容量??梢?,本發(fā)明基于CIFS協(xié)議、ZFS文件系統(tǒng)以及AD域,可實現(xiàn)為互聯(lián)網(wǎng)上的大量用戶提供存儲服務(wù)的目的。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例公開的一種適應(yīng)于多用戶場景的存儲系統(tǒng)結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例公開的一種具體的存儲系統(tǒng)結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例公開了一種適應(yīng)于多用戶場景的存儲系統(tǒng),存儲系統(tǒng)為基于CIFS協(xié)議搭建的系統(tǒng),參見圖1所示,該系統(tǒng)包括存儲子系統(tǒng)11、AD域12(AD,即Active Directory)和ZFS文件系統(tǒng)13(ZFS,即Zettabyte File System);其中,
AD域12,用于為發(fā)起存儲資源請求的用戶創(chuàng)建與該用戶唯一對應(yīng)的AD域賬號,以便該用戶根據(jù)該AD域賬號使用位于存儲子系統(tǒng)11中的相應(yīng)的存儲資源;
ZFS文件系統(tǒng)13,用于對存儲子系統(tǒng)11中的LUN進行統(tǒng)一管理,并利用Quota命令為AD域12創(chuàng)建的每一AD域賬號配置相應(yīng)的存儲資源使用容量。
具體的,本實施例中,上述存儲子系統(tǒng)可以為IP SAN或FC SAN(SAN,即Storage Area Network,存儲區(qū)域網(wǎng)絡(luò))。
優(yōu)選的,本實施例中的AD域可以為Windows Server R2或Windows 2012提供的AD域。
進一步的,本實施例中的存儲系統(tǒng),還可以包括:
ACL權(quán)限控制模塊,用于控制每個共享文件的讀寫權(quán)限。
進一步的,本實施例中的存儲系統(tǒng),還可以包括:
空間隔離模塊,用于利用CIFS協(xié)議中的Home Directory特性為每個AD域賬戶定制相應(yīng)的存儲資源使用空間。
另外,本實施例中的ZFS文件系統(tǒng),還可以用于為存儲系統(tǒng)中存儲的數(shù)據(jù)進行備份處理,以及,對存儲子系統(tǒng)中的存儲空間進行在線擴容處理。
進一步的,本發(fā)明實施例還相應(yīng)公開了一種存儲系統(tǒng)中各個組件的主要搭建過程,具體包括:
本實施例中,由于存儲子系統(tǒng)對應(yīng)的文件系統(tǒng)為ZFS文件系統(tǒng),它支持不同的存儲后端類型,如服務(wù)器本地盤、IP-SAN或FC-SAN提供的LUN。其中IP-SAN和FC-SAN兩者之間的主要差別就是選用不同的網(wǎng)絡(luò)設(shè)備及傳輸介質(zhì)來提供存儲空間。若需要節(jié)省成本且對性能無特別高的需求推薦選用IP SAN,反之若對性能要求較高,則推薦選用FC SAN。同時,為了保障環(huán)境的可靠性需要安裝多路徑服務(wù)。
進一步的,根據(jù)不同的存儲環(huán)境,在存儲后端創(chuàng)建LUN并將其映射給主機。在主機端根據(jù)不同的組網(wǎng)環(huán)境采用iSCSI或FC掃描LUN。ZFS文件系統(tǒng)的創(chuàng)建是依賴于開源的OpenZFS。OpenZFS分為存儲池和文件系統(tǒng)兩個層次來管理存儲資源。在安裝完ZFS并啟動相關(guān)服務(wù)后,將掃描到LUN,并使用zpool命令創(chuàng)建存儲池。該存儲池支持在線添加、移除、遷移等功能,同時根據(jù)需求啟動相應(yīng)的備份、冗余策略,保證數(shù)據(jù)的可靠性。利用zfs命令在已經(jīng)創(chuàng)建完成的存儲池上創(chuàng)建相應(yīng)的ZFS文件系統(tǒng),同時可以利用Quota及Reservation特性限制文件系統(tǒng)可以使用的磁盤空間。文件系統(tǒng)創(chuàng)建完成后,使用zfs set share smb將對應(yīng)文件系統(tǒng)的smb共享開關(guān)打開。完成后,將ZFS文件系統(tǒng)掛載到本地的/mnt/zfs路徑下。
本實施例中,為了保證AD域服務(wù)的正常運行,一般是搭建主/備兩個DNS服務(wù)器,當(dāng)其中一個失效后可以自動切換到備用服務(wù)器。AD域控的選擇可以是Windows Server R2或Windows 2012版本,創(chuàng)建過程中將DNS與AD域聯(lián)合起來。AD域作為用戶管理的中間件對接上層應(yīng)用注冊的多用戶。每次創(chuàng)建一個用戶都會在AD域上創(chuàng)建一個AD域用戶與之對應(yīng)。
本實施例中,還具體公開了CIFS環(huán)境配置與服務(wù)啟動過程,包括:首先,CIFS環(huán)境配置需要先修改/etc/samba/smb.conf文件,將global標(biāo)簽中的workgroup、netbios name修改為對應(yīng)AD域的名字,并將max protocol修改為SMB2,支持SMB1和SMB2協(xié)議,將template homedir設(shè)置為ZFS掛載的本地目錄路徑,即將ZFS文件系統(tǒng)共享出去;將Domain Members對應(yīng)的security修改為ads;另外需要將homes標(biāo)簽中的Home Directory特性打開,更改valid users為對應(yīng)的AD域名稱。其次,修改AD域/etc/krb5.conf文件將default_realm修改為AD域名稱,同時將dns_lookup_realm和dns_lookup_kdc置為true,并將realms和domain_realm標(biāo)簽根據(jù)AD域的相關(guān)信息進行配置;由于采用的是winbind認(rèn)證,修改/etc/nsswitch文件中的passwd、shadow、group及hosts為winbind;最后,由于使用net ads join命令將samba加入到AD域中。由于selinux對smb服務(wù)添加了安全機制,需要使用setsebool命令將samba_domain_controller、samba_enable_home_dirs的開關(guān)打開,重啟smb及winbind服務(wù)。
在上一步將ZFS文件系統(tǒng)掛載到本地目錄,并在smb.conf文件中將其共享出去。為了管理方便一般是使用一個LUN路徑做文件系統(tǒng),修改/etc/fstab文件對該LUN添加用戶usrquota和用戶組grpquota配額管理。使用edquota–u或edquota–g命令對不同的域用戶或域用戶組添加soft和hard兩種模式的配額。每次申請的多用戶都會調(diào)用配額命令設(shè)置相應(yīng)的用戶配額。
由于在多用戶場景下,多用戶之間需要共享一些文件或目錄。為了保證這些共享文件或目錄的安全性可以使用ACL權(quán)限管理指定特定的域用戶或域用戶組管理。在linux系統(tǒng)中使用setfacl工具可以對共享目錄的權(quán)限進行細(xì)分。首先,在mount掛載文件系統(tǒng)時添加acl權(quán)限控制。其次由于系統(tǒng)已經(jīng)加入到AD域,可以使用setfacl–m添加對應(yīng)的AD域用戶或用戶組添加讀寫權(quán)限。另外,ACL權(quán)限也可以禁止某些用戶訪問。
本實施例中,經(jīng)過上述搭建過程后,可創(chuàng)建如圖2所示的存儲系統(tǒng)。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對本發(fā)明所提供的一種適應(yīng)于多用戶場景的存儲系統(tǒng)進行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。