XenServer部署系列之04添加共享存儲安全
做業環境服務器
XenServer服務器網絡
OS:XenServer 6.2ide
Hostname:xsr01spa
Eth0 IP:192.168.0.241/24操作系統
Gateway:IP:192.168.0.1/24設計
NFS服務器3d
OS:CentOS 6.4unix
Hostname:nfs01日誌
Eth0 IP:192.168.0.204/24
Gateway:IP:192.168.0.1/24
運行軟件:nfs,rpcbind
1、關於XenServer存儲
XenServer的安裝過程,沒有分區的操做,系統安裝完成後,查看磁盤狀況,會發現,即使是1T的硬盤,也只留了4G的空間,而且XenServer系統文件就已經佔用了其中的1.9G,只剩下2G的小得可憐的空間,連一個CentOS6.5的系統鏡像都放不下。放不了ISO鏡像文件,那怎麼能安裝虛擬機呢?對於初學者而言,這是個頭疼的問題。
那麼,XenServer如何實現存儲擴充呢?在XenServer中的引入存儲倉庫的概念,存儲倉庫(SR - Storage Repositories)是用來存儲ISO或者VDI的。Citrix官方推薦使用共享存儲,這也是XenServer設計的初衷和目標,與VMWare的產品設計很不相同。目前XenServer支持FC SAN、ISCSI SAN和NFS三種存儲類型,根據虛擬化類型不一樣,劃分不一樣的LUN類型來知足使用。此處涉及到存儲服務器,對設備成本是有要求的。
文本主要以NFS爲例,講解如何添加共享存儲。具體的實現,操做起來並不難,由於大部分在操做,都是在XenCenter上圖形界面進行的。
XenServer的安裝相關事宜,在《XenServer部署實錄——系統安裝及許可》一文中已述,這裏不表。
2、搭建NFS服務器
首先簡單瞭解一下什麼叫NFS。
NFS 是Network File System的縮寫,即網絡文件系統。一種使用於分散式文件系統的協定,由Sun公司開發,於1984年向外公佈。功能是經過網絡讓不一樣的機器、不一樣的操做系統可以彼此分享個別的數據,讓應用程序在客戶端經過網絡訪問位於服務器磁盤中的數據,是在類Unix系統間實現磁盤文件共享的一種方法。
NFS 的基本原則是「允許不一樣的客戶端及服務端經過一組RPC分享相同的文件系統」,它是獨立於操做系統,允許不一樣硬件及操做系統的系統共同進行文件的分享。經過使用NFS,用戶和程序能夠像訪問本地文件同樣訪問遠端系統上的文件。
下面開始NFS服務器的搭建,對於熟悉Linux的IT來講,這是件很容易的事情。
本案中,NFS所在的服務器系統信息以下:
OS:CentOS release 6.4 (Final)
IP:192.168.0.204/24
分區:/boot(500M),/(50G),/home(955G),swap(4G)
注,本案中該系統是運行在另外一臺XenServer上的虛擬機,採用XenServer中的CentOS6.4模板進行安裝,採用默認的分區方式。這種作法是最小化安裝,許多軟件包都沒裝,包括nfs,得手動安裝,比較麻煩。
在Red Hat Linux/CentOS 系統中,NFS的安裝很是簡單,只須要兩個軟件包便可,並且在一般狀況下,是做爲系統的默認包安裝的。
nfs-utils-*:包括基本的NFS命令與監控程序
rpcbind:支持安全NFS RPC服務的鏈接(注,這是CentOS6下的軟件包,在CentOS 5 中 爲portmap)
能夠這麼理解RPC和NFS的關係:NFS是一個文件系統,而RPC負責信息的傳輸。
經過如下命令查看系統是否已安裝NFS,
# rpm -qa | grep nfs
# rpm –qa | grep rpcbind
若是當前系統中沒有安裝NFS所需的軟件包,須要手工進行安裝,並設置啓動。
# yum install rpcbind*
# yum install nfs-utils-*
# service rpcbind start
# service nfs start
# chkconfig rpcbind on
# chkconfig nfs on
在/home目錄建立iso,data兩個文件夾,開經過nfs實現共享,分別用做於XenServer的鏡像存儲倉庫和虛擬機存儲倉庫。
# mkdir -p /home/iso
# mkdir -p /home/data
# vi /etc/exports (注,下面兩行爲編輯的內容)
/home/data *(rw,sync,no_root_squash)
/home/iso *(rw,sync,no_root_squash)
# exportfs –a
經過如下命令查看共享狀況,若是有列出共享目錄,則表示共享成功。
# showmount -e 192.168.0.204
Export list for 192.168.0.204:
/home/data *
/home/iso *
共享設置完成後,要以iptables中開放相關端口(這個有些複雜),或直接關閉iptables(這個最簡單),不然對方訪問不過來。
3、添加NFS VHD
在客戶端使用XenCener鏈接遠端xsr01主機。如下的操做在XenCenter上進行。
右擊xsr01主機,在彈出的菜單中選擇「New SR」,將彈出「New Storage Repository」對話框,再在裏面進行相關的設置。以下圖所示。
選擇「NFS VHD」類型。
爲該SR設置一個名字,這裏採用默認命名。
填寫nfs共享目錄的路徑。注意了,中間有個冒號的。
添加成功後,在xsr01下能夠看到添加了一個名爲「NFS virtual disk storage」的項目,而且自動成爲默認的本地存儲。
選中「NFS virtual disk storage」,在界面右則 「General、Storage、Logs」選項卡中,能夠看到其容量、存儲內容、日誌等信息。
若是添加不成功,提示「The SR failed to complete the operation.Check your setting and try again.」請檢查防火牆。
4、添加NFS ISO
操做過程與添加NFS VHD相似,以下圖所示。
在「Storage」選項卡中,能夠看到,此時ISO存儲倉庫裏有兩個ISO鏡像可用。
5、添加CIFS ISO
CIFS,也提一下概念。CIFS(Common Internet File System)是Microsoft推出的一款網絡文件系統。在Win OS 中,CIFS集成在OS 內部,無需額外添加軟件,全部機器都是對等的,扮演雙重角色,能夠做Sever,也能夠是Client。相比之下,NFS要求Client必須安裝專用軟件。
NFS是獨立於傳輸的,可以使用TCP或UDP;CIFS面向網絡鏈接的共享協議,對網絡傳輸的可靠性要求高,常使用TCP/IP。NFS保留了unix的文件格式特性,如全部人、組等等;CIFS則徹底按照Win OS的風格來作。
CIFS在生產環境中使用的很少,但在項目部署的前期及一些臨時操做處理上,仍是會經常使用到的。下面演示如何添加CIFS ISO。
首先,固然要有一臺裝有Win OS的服務器向外進行文件共享。
本案中,CIFS所在的操做系統,是本案XenCenter所在的系統,很普通的一臺PC機,信息以下:
OS:Windows XP SP3
IP:192.168.0.102/24
Gateway:IP:192.168.0.1/24
這裏將E盤下的ISO文件夾設置爲共享。這是IT的基本功,就很少說了。如圖所示。(注,本案中,沒有域控環境。若是該Windows XP加入了域控,這裏還須要設置訪問權限。)
如下的操做在XenCenter上進行。操做過程與添加NFS VHD相似,以下圖所示。
注意,這個路徑的寫法與前面nfs的路徑不一樣。若是該Windows XP加入了域控,這裏須要填寫被容許訪問的用戶名及其密碼,固然,也可使用Windown XP本地管理員賬號及密碼進行驗證。
6、其餘
以上操做順利完成後,在新建虛擬機時,便用能夠選用「CIFS ISO library」或「NFS ISO library」中的ISO鏡像(好比CentOS6.4),做爲安裝源。
虛擬機的虛擬硬盤,默認存儲到「NFS virtual disk storage」存儲倉庫,固然,也能夠選擇本地原有的本地存儲「Local storage on xsr01」。
就單機而言,存儲在哪裏都同樣,但若是是多臺XenServer主機,作了資源池,須要進行XMotion等高可用性操做時,NFS共享存儲的強大優點就體現出來了。
在實際生產場所,因爲使用到存儲設備,更多的是使用ISCSI方式添加存儲,優點更大。
關於虛擬機的創建、導入、導出、克隆等操做,這裏暫且不做表述,留待下一章節。