1. 硬件要求
64位雙核都支持amd虛擬化或intel vt架構。
本次測試硬件環境
1臺機器amd 雙核64位 5000+,2G內存,160Gsata硬盤 A機器
1臺機器amd雙核64位 4800+ ,2G內存, 160Gsata硬盤 B機器
百兆網絡
2. 主系統部署
1. 在兩個主機安裝xenserver 5.0 Enterprise 包含linux支持組件
2. 配置兩臺機器網絡a 192.168.1.2 xm12 ,b 192.168.1.3 xm12
3. 在我的工作機(win)192.168.1.4,安裝xencenter分別連接兩個主機
3. 基本操作
1.很簡單通過xencenter的虛擬機模板可以部署一個公司所需要的系統,如redhat5
安裝完畢後,關閉虛擬機。
可以進行guest host的複製,備份,轉爲模板。 一般常用複製和轉爲模板
4. 虛擬機故障修復
1.主系統崩潰,通過光盤12分鐘內將恢復主系統
2.某個子系統崩潰,可以將其關機。把虛擬磁盤卸載再掛載到一個新建的虛擬系統上,進行數據遷移。確認完成遷移後,刪除原始系統和原始盤。
5. linux guest擴容(windows的只需打開磁盤管理器即可管理)
1.首先關閉該虛擬機,xencenter中增大該虛擬機磁盤的容量
2.啓動該guest,進入init2級別,fdisk –l 列出當前分區信息,刪除想要擴容的分區,再新建一次。寫入然後重啓。最後通過resize2fs來完成磁盤的大小更新。
下面以redhat默認安裝的lvm卷和我們自行分區的基本卷爲例分別講述步驟
A. 在xencenter中增加虛擬磁盤的容量,然後開機進入init2
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
刪除第二個分區
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
建立第二個分區
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
修改第二個分區爲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)
寫入分區表
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機器
進入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
重新識別卷大小
7) 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
在線調整文件系統大小
B.傳統分區,我們要增加/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刪除要擴展的分區之前的步驟一致。
這裏刪除/dev/xvda2
再建立改分區,寫入分區表,重啓 進入init 2
umount /dev/xvda2
e2fsck -f /dev/xvda2
resize2fs /dev/xvda2
重啓
該分區完成增大
6. 主系統nfs調整(目前我們的兩臺xenserver之間由於沒磁盤整列或第三方nfs服務器無法實現數據共享,也就不能動態遷移,快速複製)
下面的操作將對其中一臺xenserver進行改造以實現在上面建立NFS共享(本操作具有一定的危險性,請勿在重要生產服務器上使用:如將破壞xenserver的lvm存儲,上面的虛擬機將無法動態增加容量,只能通過掛載新空盤增容)
這次我們只改造一臺,用於臨時測試和快速備份,恢復虛擬機到未改造的xenserver上。
使用xencenter連接xm13,點擊console
輸入xe sr-list type=lvm , 複製並記下sr的對應uuid
輸入xe pbd-list sr-uuid=你的SR UUID 檢測uuid對應的物理存儲塊pbd的uuid,複製並記下pbd對應uuid
xe pbd-unplug uuid你的 PBD UUID 斷開本地存儲的sr
xe sr-destroy uuid=你的SR UUID 移除本地存儲的sr
至此你可以看到xencenter上面的local storage不見了。
再次輸入xe sr-list type=lvm 發現 local storage的確不存在了。
建立ext3文件系統
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 服務器,修改/etc/exports 使其異步存儲,只能xenserver之間互訪
修改 /etc/fstab 自動掛載 /dev/sda3
但重啓後,你會發現分區掛載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.
但你還是會發現可惡的nfs還是不能用。 看看下面的文件內容你就明白了。
cat /etc/sysconfig/network
NETWORKING=yes
#PMAP_ARGS=-l portmap只監聽本地迴環,註釋掉即可
STATD_PORT=600
STATD_OUTGOING_PORT=601
HOSTNAME=xenserver-xm11
GATEWAYDEV=xenbr0
建立spool,使得兩臺機器在一個spool下,再建立共享NFS storage,至此xenserver的NFS雙機共享完成。
7.動態遷移
我們將yum server建立在xenserver 13的NFS上,開機後使用putty連接yum並進行基本操作,在xencenter上選擇migrate xm12。你會驚奇的發現putty的連接沒斷開,還能進行交互操作,貌似沒有中斷。不到兩分鐘yum已經完全跑在xm12上面了。
8.快速複製
Xenserver傳統方式複製虛擬機和以模板建立虛擬機的速度挺慢的,快速方式是基於共享存儲,速度的確讓人驚喜。