XenServer部署系列之04添加共享存儲
作業環境
XenServer服務器
OS:XenServer 6.2
Hostname:xsr01
Eth0 IP:192.168.0.241/24
Gateway:IP:192.168.0.1/24
NFS服務器
OS:CentOS 6.4
Hostname:nfs01
Eth0 IP:192.168.0.204/24
Gateway:IP:192.168.0.1/24
運行軟件:nfs,rpcbind
一、關於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部署實錄——系統安裝及許可》一文中已述,這裏不表。
二、搭建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(這個最簡單),否則對方訪問不過來。
三、添加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.”請檢查防火牆。
四、添加NFS ISO
操作過程與添加NFS VHD類似,如下圖所示。
在“Storage”選項卡中,可以看到,此時ISO存儲倉庫裏有兩個ISO鏡像可用。
五、添加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本地管理員帳號及密碼進行驗證。
六、其他
以上操作順利完成後,在新建虛擬機時,便用可以選用“CIFS ISO library”或“NFS ISO library”中的ISO鏡像(比如CentOS6.4),作爲安裝源。
虛擬機的虛擬硬盤,默認存儲到“NFS virtual disk storage”存儲倉庫,當然,也可以選擇本地原有的本地存儲“Local storage on xsr01”。
就單機而言,存儲在哪裏都一樣,但如果是多臺XenServer主機,做了資源池,需要進行XMotion等高可用性操作時,NFS共享存儲的強大優勢就體現出來了。
在實際生產場所,由於使用到存儲設備,更多的是使用ISCSI方式添加存儲,優勢更大。
關於虛擬機的建立、導入、導出、克隆等操作,這裏暫且不作表述,留待下一章節。