根據需求在一臺物理機上安裝在3臺虛擬機,虛擬機磁盤爲lvm卷 python
查看 CPU 是否支持硬件虛擬化(VT 技術) linux
root@debian:~# cat /proc/cpuinfo | grep vmx flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm dtherm tpr_shadow vnmi flexpriority flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm dtherm tpr_shadow vnmi flexpriority
若是沒有打印出任何東西,表示 CPU 不支持硬件虛擬化。可是仍須要肯定在 BIOS 中是否啓用了該虛擬化技術。若是返回 SVM 旗幟標誌,則表示您的處理器支持 AMD-V。而返回 VMX 旗幟標誌,則表示您的處理器支持 INTEL-VT。另外BISO也要打開虛擬化支持。 es6
安裝xen的hypervisor,會自動安裝相關依賴包 shell
root@debian:~# apt-get install -d xen-linux-system-2.6-xen-amd64使debian6支持xen的HVM Xen Qemu Device Model virtual machine hardware emulator
root@debian:~# apt-get install xen-qemu-dm-4.0
root@debian:~# dpkg -l | grep xen ii libxenstore3.0 4.0.1-2 Xenstore communications library for Xen ii linux-headers-2.6.32-5-common-xen 2.6.32-35 Common header files for Linux 2.6.32-5-xen ii linux-headers-2.6.32-5-xen-amd64 2.6.32-35 Header files for Linux 2.6.32-5-xen-amd64 ii linux-image-2.6.32-5-xen-amd64 2.6.32-35 Linux 2.6.32 for 64-bit PCs, Xen dom0 support ii xen-hypervisor-4.0-amd64 4.0.1-2 The Xen Hypervisor on AMD64 ii xen-linux-system-2.6-xen-amd64 2.6.32+29 Xen system with Linux 2.6 for 64-bit PCs (meta-package) ii xen-linux-system-2.6.32-5-xen-amd64 2.6.32-35 Xen system with Linux 2.6.32 on 64-bit PCs (meta-package) ii xen-qemu-dm-4.0 4.0.1-2 Xen Qemu Device Model virtual machine hardware emulator ii xen-utils-4.0 4.0.1-2 XEN administrative tools ii xen-utils-common 4.0.0-1 XEN administrative tools - common files ii xenstore-utils 4.0.1-2 Xenstore utilities for Xen
因爲debian6使用的grub2,裝完xen會在/etc/grub.d下生成08_linux_xen,該文件會導入/boot/grub/grub.cfg vim
查看/boot/grub/grub.cfg 默認啓動內核項目 set default="0" 開是否啓動Linux 2.6.32-5-xen-amd64 and XEN 4.0-amd64內核 api
若是須要修改default,要更改/etc/default/grub裏GRUB_DEFAULT=0 值,務必修改完執行update-grub生效 服務器
重啓服務器 網絡
確認已經啓用了xend服務 dom
root@debian:~# ps -ef | grep xen root 24 2 0 02:54 ? 00:00:01 [xenwatch] root 25 2 0 02:54 ? 00:00:00 [xenbus] root 1164 1 0 02:54 ? 00:00:03 /usr/lib/xen-4.0/bin/xenstored --pid-file=/var/run/xenstore.pid root 1211 1 0 02:54 ? 00:00:00 /usr/lib/xen-4.0/bin/xenconsoled --pid-file=/var/run/xenconsoled.pid root 2472 1 0 02:59 ? 00:00:00 /usr/bin/python2.5 /usr/lib/xen-4.0/bin/xend start root 2473 2472 0 02:59 ? 00:00:13 /usr/bin/python2.5 /usr/lib/xen-4.0/bin/xend start
更改xen配置文件 flex
root@debian:~# vim /etc/xen/xend-config.sxp (vif-script vif-bridge) (network-script 'network-bridge netdev=eth0') (vnc-listen '0.0.0.0')
(vif-script vif-bridge)表示執行經過腳本/etc/xen/scripts/vif-bridge來增長vif網絡介質.
(network-script 'network-bridge netdev=eth0')表示用network-bridge腳原本控制XEN虛擬機系統網絡的啓動和關閉,這個腳本創建一個網橋就是eth0.
(vnc-listen '0.0.0.0')表示設定經過vnc遠程控制訪問本地的監聽地址,這裏配置爲0.0.0.0,也就是eth0
配置lvm卷
root@debian:~# atp-get install lvm2
root@debian:~# pvcreate /dev/sda5 root@debian:~# vgcreate ndb /dev/sda5 root@debian:~# lvcreate -L 100G -n cluster1 ndb root@debian:~# lvcreate -L 100G -n cluster2 ndb root@debian:~# lvcreate -L 100G -n cluster3 ndb root@debian:~# pvs PV VG Fmt Attr PSize PFree /dev/sda5 ndb lvm2 a- 781.35g 481.35g root@debian:~# vgs VG #PV #LV #SN Attr VSize VFree ndb 1 3 0 wz--n- 781.35g 481.35g root@debian:~# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert cluster1 ndb -wi-ao 100.00g cluster2 ndb -wi-ao 100.00g cluster3 ndb -wi-ao 100.00g
建立hvm虛擬機配置文件
root@debian:/etc/xen# cat cluster_196 kernel='hvmloader' #設定該HVM虛擬機的內核鏡像文件,默認是採用宿主機上/usr/lib/xen/boot/hvmloader這個來引導的。由於建立domain的工做是通知xend來完成的。xm cr的時候經過xml-rpc通知xend。xend調用hvmloader啓動guest domain的. builder='hvm' #設定虛擬域的創建方式,一個虛擬域對應了一個虛擬機,宿主機經過根域0來管理。若是是HVM虛擬機的話,這項要設定爲hvm. PVM(Para-virtualized Virtual Machine,也稱泛虛擬,半虛擬)HVM(HardwareVirtual Machine,也稱徹底虛擬、硬虛擬) memory=3072 #設定虛擬機的佔用的內存 name='cluster_196' #這裏的name是指啓動domain後的名字.建議配置文件名與name值一致. vif=['mac=00:30:48:31:96:e8,bridge=eth0'] #設定MAC地址,通常狀況下虛擬機的MAC地址若是不特別指定的話,它是自動隨機的。但這裏的虛擬機都是複製的,因此要顯示的指定MAC地址.指定網橋爲eth1網卡,若是設定不正確,則沒法出公網. disk=['phy:/dev/ndb/cluster1,hda,w', 'file:/root/debian-501-amd64-CD-1.iso,hdc:cdrom,r'] #設定虛擬機使用的"磁盤"以及"光驅"設備,經過制定宿主機系統裏的某個路徑和文件來實現(file),也能夠指向宿主機上的真實設備(phy),另外須要指定這些"設備"的一些屬性. device_model='qemu-dm' #虛擬機的設備模版。宿主機上的XEN-VNC控制就是由qemu-dm提供的 boot='cd' #設定虛擬機的啓動順序,"a"表示軟盤,"c"表示硬盤,"d"表示CDROM。從左到右依次表示順序。 sdl=0 #設定SDL庫支持圖像 vnc=1 #設定使用VNC來支持圖像,默認值1表示支持 vncunused=1 #設定VNC服務器使用一個未佔用的端口來提供VNC鏈接服務。默認值1表示打開 vncdisplay='1' #設定VNC的顯示號,這裏設定2, 打開的端口就是5902,vncviewer鏈接就是eth0:2 nographic=0 #設定無圖形支持,使用串行端口。默認值0表示默認支持圖形界面。 localtime=1 #設定本地時間同步,默認值爲1 stdvga=0 #設定啓用標準VGA。默認值爲0 vcpus=2 #設定虛擬機的虛擬CPU數量。默認是1 apic=0 acpi=1
啓動xen-hvm虛擬機
root@debian:/etc/xen# xm create cluster_196這時能夠用vnc連進去看到安裝畫面安裝操做系統。
查看當前啓動的虛擬機
root@debian:/etc/xen# xm list Name ID Mem VCPUs State Time(s) Domain-0 0 7316 4 r----- 409.3 cluster_196 1 3075 2 -b---- 31.6 cluster_197 2 3075 2 -b---- 30.1 cluster_198 6 3072 2 -b---- 30.1