Citrix虛擬化實(shí)戰(zhàn):Xenserver共享NFS
操作流程:部署要求,主系統(tǒng)部署,基本操作,虛擬機(jī)故障修復(fù),兩種擴(kuò)展linuxguest虛擬磁盤的方式,動態(tài)遷移,主系統(tǒng)nfs調(diào)整,快速復(fù)制。
1. 硬件要求 64位雙核都支持amd虛擬化或intel vt架構(gòu)。
本次測試硬件環(huán)境 1臺機(jī)器amd 雙核64位 5000+,2G內(nèi)存,160Gsata硬盤 A機(jī)器 1臺機(jī)器amd雙核64位 4800+ ,2G內(nèi)存, 160Gsata硬盤 B機(jī)器 百兆網(wǎng)絡(luò)
2. 主系統(tǒng)部署
1. 在兩個主機(jī)安裝xenserver 5.0 Enterprise 包含linux支持組件
2. 配置兩臺機(jī)器網(wǎng)絡(luò)a 192.168.1.2 xm12 ,b 192.168.1.3 xm12
3. 在我的工作機(jī)(win)192.168.1.4,安裝xencenter分別連接兩個主機(jī)
3. 基本操作
1.很簡單通過xencenter的虛擬機(jī)模板可以部署一個公司所需要的系統(tǒng),如redhat5 安裝完畢后,關(guān)閉虛擬機(jī)。 可以進(jìn)行g(shù)uest host的復(fù)制,備份,轉(zhuǎn)為模板。 一般常用復(fù)制和轉(zhuǎn)為模板
4. 虛擬機(jī)故障修復(fù)
1.主系統(tǒng)崩潰,通過光盤12分鐘內(nèi)將恢復(fù)主系統(tǒng)
2.某個子系統(tǒng)崩潰,可以將其關(guān)機(jī)。把虛擬磁盤卸載再掛載到一個新建的虛擬系統(tǒng)上,進(jìn)行數(shù)據(jù)遷移。確認(rèn)完成遷移后,刪除原始系統(tǒng)和原始盤。
5. linux guest擴(kuò)容(windows的只需打開磁盤管理器即可管理)
1.首先關(guān)閉該虛擬機(jī),xencenter中增大該虛擬機(jī)磁盤的容量
2.啟動該guest,進(jìn)入init2級別,fdisk –l 列出當(dāng)前分區(qū)信息,刪除想要擴(kuò)容的分區(qū),再新建一次。寫入然后重啟。最后通過resize2fs來完成磁盤的大小更新。
下面以redhat默認(rèn)安裝的lvm卷和我們自行分區(qū)的基本卷為例分別講述步驟
A. 在xencenter中增加虛擬磁盤的容量,然后開機(jī)進(jìn)入init2 ,進(jìn)行fdisk
Device Boot Start End Blocks Id System /dev/xvda1 * 1 13 104391 83 Linux
/dev/xvda2 14 1044 8281507+ 8e Linux LVM fdisk /dev/xvda
Command (m for help): d 刪除第二個分區(qū) Partition number (1-4): 2
Command (m for help): p Disk /dev/xvda: 5767 MB, 5767168000 bytes 255 heads, 63 sectors/track, 701 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/xvda1 * 1 13 104391 83 Linux 建立第二個分區(qū)
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (14-701, default 14): Using default value 14 Last cylinder or +size or +sizeM or +sizeK (14-701, default 701): Using default value 701
修改第二個分區(qū)為lvm卷 Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): 8e Changed system type of partition 2 to 8e (Linux LVM)
寫入分區(qū)表 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks.
重啟guest機(jī)器 進(jìn)入init 2
pvresize -v /dev/xvda2 Using physical volume(s) on command line Archiving volume group “VolGroup00″ metadata (seqno 5). Resizing physical volume /dev/xvda2 from 115 to 168 extents. Resizing volume “/dev/xvda2″ to 11052336 sectors. Updating physical volume “/dev/xvda2″ Creating volume group backup “/etc/lvm/backup/VolGroup00″ (seqno 6). Physical volume “/dev/xvda2″ changed 1 physical volume(s) resized / 0 physical volume(s) not resized 重新識別卷大小
lvextend -l +100%FREE /dev/VolGroup00/LogVol00 Extending logical volume LogVol00 to 5.25 GB Logical volume LogVol00 successfully resized resize2fs /dev/VolGroup00/LogVol00 resize2fs 1.39 (29-May-2006) Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required Performing an on-line resize of /dev/VolGroup00/LogVol00 to 1376256 (4k) blocks. The filesystem on /dev/VolGroup00/LogVol00 is now 1376256 blocks long. 拓展卷利用所有空余空間
resize2fs /dev/mapper/VolGroup00-LogVol00 在線調(diào)整文件系統(tǒng)大小
B.傳統(tǒng)分區(qū),我們要增加/home 大小
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 15G 322M 14G 3% /
/dev/xvda2 173G 188M 164G 1% /home
/dev/xvda3 19G 1.8G 17G 10% /usr
/dev/xvda4 19G 237M 18G 2% /var
tmpfs 252M 0 252M 0%
/dev/shm 和A中的fdisk刪除要擴(kuò)展的分區(qū)之前的步驟一致。 這里刪除/dev/xvda2 再建立改分區(qū),寫入分區(qū)表,重啟 進(jìn)入init 2
umount /dev/xvda2
e2fsck -f /dev/xvda2
resize2fs /dev/xvda2 重啟 該分區(qū)完成增大
6. 主系統(tǒng)nfs調(diào)整(目前我們的兩臺xenserver之間由于沒磁盤整列或第三方nfs服務(wù)器無法實(shí)現(xiàn)數(shù)據(jù)共享,也就不能動態(tài)遷移,快速復(fù)制) 下面的操作將對其中一臺xenserver進(jìn)行改造以實(shí)現(xiàn)在上面建立NFS共享(本操作具有一定的危險(xiǎn)性,請勿在重要生產(chǎn)服務(wù)器上使用:如將破壞xenserver的lvm存儲,上面的虛擬機(jī)將無法動態(tài)增加容量,只能通過掛載新空盤增容) 這次我們只改造一臺,用于臨時測試和快速備份,恢復(fù)虛擬機(jī)到未改造的xenserver上。
使用xencenter連接xm13,點(diǎn)擊console 輸入xe sr-list type=lvm , 復(fù)制并記下sr的對應(yīng)uuid 輸入xe pbd-list sr-uuid=你的SR UUID 檢測uuid對應(yīng)的物理存儲塊pbd的uuid,復(fù)制并記下pbd對應(yīng)uuid xe pbd-unplug uuid你的 PBD UUID 斷開本地存儲的sr xe sr-destroy uuid=你的SR UUID 移除本地存儲的sr 至此你可以看到xencenter上面的local storage不見了。 再次輸入xe sr-list type=lvm 發(fā)現(xiàn) local storage的確不存在了。 建立ext3文件系統(tǒng) Fdisk –l Device Boot Start End Blocks Id System /dev/sda1 * 1 499 4008186 83 Linux /dev/sda2 500 998 4008217+ 83 Linux /dev/sda3 999 19457 148271917+ 83 Linu Mkfs –t ext3 /dev/sda3 建立nfs 服務(wù)器,修改/etc/exports 使其異步存儲,只能xenserver之間互訪 修改 /etc/fstab 自動掛載 /dev/sda3 但重啟后,你會發(fā)現(xiàn)分區(qū)掛載ok,nfs只能使用127.0.0.1連接。 停止防火墻或 修改/etc/sysconfig/iptables開放 111和 2049端口 xenserver mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive xenserver nfs System Error: Connection refused. 但你還是會發(fā)現(xiàn)可惡的nfs還是不能用。 看看下面的文件內(nèi)容你就明白了。 cat /etc/sysconfig/network NETWORKING=yes #PMAP_ARGS=-l portmap只監(jiān)聽本地回環(huán),注釋掉即可 STATD_PORT=600 STATD_OUTGOING_PORT=601 HOSTNAME=xenserver-xm11 GATEWAYDEV=xenbr0 建立spool,使得兩臺機(jī)器在一個spool下,再建立共享NFS storage,至此xenserver的NFS雙機(jī)共享完成。
7.動態(tài)遷移 我們將yum server建立在xenserver 13的NFS上,開機(jī)后使用putty連接yum并進(jìn)行基本操作,在xencenter上選擇migrate xm12。你會驚奇的發(fā)現(xiàn)putty的連接沒斷開,還能進(jìn)行交互操作,貌似沒有中斷。不到兩分鐘yum已經(jīng)完全跑在xm12上面了。
8.快速復(fù)制 Xenserver傳統(tǒng)方式復(fù)制虛擬機(jī)和以模板建立虛擬機(jī)的速度挺慢的,快速方式是基于共享存儲,速度的確讓人驚喜。
【編輯推薦】