|
|
系统版本(已经安装完xen的内核)+ [5 K, f8 \/ m
" B; b N6 S; J9 {; m" _3 f
& t1 q7 ^" ?6 Z" F$ X# k/ E) p& o! J* P: r" q, p6 E
安装步骤分2部
0 J1 o9 o" J" u7 l: `+ v
5 i7 r6 o+ i1 `6 q" U- d) Rxen安装+ g" T% G. S1 Z( w
首先看看系统支持不支持xen /proc/cpuinfo1 O+ L4 ^7 S3 p) C6 L
如果想让Xen提供全虚拟化,那么你的中央处理器必须符合下列条件。7 W' @# g9 ]2 \! r0 |( b
Intel 中央处理器提供vmx标签。
, g1 R1 W' z( n' f: H& hAMD中央处理器提供svm标签。$ d8 N! B1 s# _! q
你可以利用直接查看/proc/cpuinfo 的flags参数来判断中央处理器是否拥有上述标签。2 i4 t3 N5 s% n2 `, ], F; I
cat /proc/cpuinfo |egrep '(svm|vmx)'
3 p& @0 e1 i9 r然后安装6 e. a o ^- j5 A- }
, P* u; o+ ]$ l% g& u/ E
2.虚拟机安装; P6 [6 r l0 n9 w
通常使用virt-install来安装虚拟机(需要通过libvirt来使用xen)9 v# l4 I( l2 Z1 T( `5 z' S* l
# j. `2 [& N7 n K! j
yum install python-virtinst libvirt libvirt-daemo-xen virt-viewer. j9 B9 _$ k4 m* O
* m+ z7 g, l" R$ e8 c
service libvirtd start
# `" A. l5 Q# o8 S
i3 M8 N" l& n# ]; G7 Z/ lchkconfig --level 35 libvirtd on
" G; [ U* |# {* O8 j' T1 B0 {2 ?2 b' I: X( ?* B) D* e; m8 w8 N
下面开始安装虚拟机
, ^- H; B6 N$ H4 H+ Z1 d( p4 ^" I' c1 h1 [4 F8 Q. ^
(1)设置一个虚拟硬盘(10g的虚拟磁盘)
+ v$ a- F9 c" c2 J" z- x7 f) d7 W$ T$ I# X0 }0 S: d) D" }1 H0 U
mkdir -p /xen/vhd/
; {; J o5 U/ }6 l" G3 l3 _
6 o U1 ~$ W9 e F6 [/ A Sdd if=/dev/zero of=/xen/vhd/yao-xen.img bs=1M count=10240 - i2 E4 I: f7 @6 o4 \9 ^* s
: [. L" v6 w: K3 `% z& h' a
virt-install --name yao-xen111 --ram 512 --vcpus=1 --disk /xen/vdisk/yao-xen.img --cdrom /home/yao/iso/CentOS-6.5-x86_64-minimal.iso
$ v8 K6 B) p4 ?8 q
/ l# o C# X8 o( l3 o就开始安装------图1(安装完毕自动重启)
! u4 o+ k) q( X4 h; F
0 W& X3 N- n- E1 a/ LwKiom1Ui7KLSeI6_AAMMDu6P9SQ340.jpg% }. O7 g2 U# H( r: y. }% R, c/ b
, J! P) O6 f; \
% l0 F' f0 k- W( n4 B, Q
0 o1 k* E& `* z5 ]( M% Q# virt-install -?0 U' e# c! [: S, ~
Usage: virt-install --name NAME --ram RAM STORAGE INSTALL [options]
, t8 V$ a/ s5 T: E) }3 Q; W1 t3 x# G6 x, p0 p& d0 F
virt-install: error: no such option: -?% z/ f; T2 z R6 u# t* G) x. ]4 h
[root@yao ~]# virt-install
: n+ l3 G3 x7 yERROR ) W7 O D A8 V; s0 q" Y
--name is required- i5 I: D, v5 W- N5 Z
--ram amount in MB is required. I2 W) N: X5 x9 L8 I4 t3 I1 Z3 Q; Q7 E
--disk storage must be specified (override with --nodisks)
8 Q$ l1 h9 d6 K) P6 uAn install method must be specified, M S# \0 a0 n; j8 P2 Q
(--location URL, --cdrom CD/ISO, --pxe, --import, --boot hd|cdrom|...); h9 `) y* C' N* P+ p" @
4 @. i% B- i q. z% j( C" E
3.网络配置/ { N1 l! U N' f& V9 b# D; ^
& M: c! p$ z; A. ?+ C$ S
连接4 V5 N8 I! b6 \2 S' w0 V
ifconfig (发现多了一个网卡)
) a2 j$ z6 k" V/ V9 n) p9 f. X
! f' I$ G! v% g& U9 Q# ^- J1 ]; r% r' Rvirbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
& A1 C# `& v& h# c \) V inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
! C/ B) ?, C8 y- \5 D X- g UP BROADCAST MULTICAST MTU:1500 Metric:18 a, k' v5 d/ A+ [, A
RX packets:0 errors:0 dropped:0 overruns:0 frame:03 q B R# V" b: \8 L6 t
TX packets:0 errors:0 dropped:0 overruns:0 carrier:09 [4 a4 c: z J: t) `9 n2 a Q
collisions:0 txqueuelen:0
# g& `# e, V! ^# y! ` RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)7 K' h4 a) A0 R% n0 A5 X
我们切到虚拟机里面(默认xen为nat)9 ^4 a5 B* k1 M
ifconfig /etho 192.168.122.12 netmask 255.255.255.0; m% ~& X, t! E1 w% a7 }/ P1 [
5 H9 _& g, R/ q1 p
ping 192.168.122.1 可以通0 {' f* k' j8 ]& Z
+ Y2 B X6 O2 g6 `! u8 O3 h
但是一般情况下我们需要桥接到虚拟机,接下来我们就开始设置桥接网络9 U7 X# n6 ^5 f' U6 p) R* P
+ \9 n. b! m# ]4 k- w===================================================================
$ _: B, j7 W; G3 ^4 |, ~3 f' U' G! r( ^+ k* P
默认XEN使用NAT模式,当启用一个虚拟机以后。" S( j( z1 F# }) J2 q- m
查看xl list+ v+ `3 \8 K Q. T/ Y5 R. z
# xl list' H7 e3 F Z4 ~( B
Name ID Mem VCPUs State Time(s)
8 k6 O0 p4 h( c2 ?' EDomain-0 0 1024 2 r----- 240.9& ~9 O6 w' E: Z- v- f5 m' B
yao-xen 1 515 1 -b---- 14.6 P9 h1 `! [' s$ f# f3 F
; P; l0 L7 D$ c+ W得知网卡为vif1
; m/ I' [6 Y2 T# g; ~: Q5 Y. u$ X1 H$ a! B I7 k( z5 ]
然后brctl show
+ E/ K7 G2 Z6 Z/ S可以看到5 t$ O. w" G1 k. w2 R m. ]6 r
# brctl show
3 H3 U. h* A( \+ qbridge name bridge id STP enabled interfaces0 R! N, G4 _' ^' N, c+ T- A
virbr0 8000.000000000000 yes vif1.04 k' t2 }2 k/ t8 ?# q0 j" o+ m7 y
-------------------------------------------------------------------
) J B8 X( g* }1 o2 @virbr0为默认到nat地址,这里我们要修改为桥接。分2步
- q; Z* u3 f1 `9 l. H; h1建立桥接网卡
3 Y5 {: U( b0 H2设在虚拟机yao-xen的虚拟网卡对应到网络 % g+ L: W# w" V" o. M9 f
(1)以下为本机到网卡配置) A j% F! ^ y9 z) F5 Z
-----ifcfg-eth0---------
t: K: [& G- W4 i a* e, ~: [DEVICE=eth08 U" g9 p1 h9 V: q: p; x2 B0 t1 n
TYPE=Ethernet
/ O! m k* A) g- [. H8 sONBOOT=yes
, ~9 O- S. k; a) R" ] ~NM_CONTROLLED=no 这个参数是networdmanager相关的,可以把个关了
& I" b; j5 K: C7 h8 j2 e4 t; ?# o$ ]' q" ^
BRIDGE=xenbr0 G# ^# S" k6 e8 [% [
% @$ G5 s' f' |* f' h( S( r* m3 t* ^$ R+ Y! G
---------ifcfg-xenbr0------
' A' l; x8 j0 ^( [DEVICE=xenbr0
5 C# ^, D7 U3 p- R. }BOOTPROTO=static
& |) ?* i! f/ D2 HIPADDR=192.168.31.109
3 k8 P- t! ]) _NETMASK=255.255.255.05 x: D7 ~, s9 U: P% V0 M0 e4 Q
GATEWAY=192.168.31.1
3 ]5 @/ X0 b- \( {' ]ONBOOT=yes h9 p; A7 W$ p: g( K9 \4 V, X0 m
TYPE=Bridge
$ K& \) t& n6 X; u5 j& R1 P7 `1 |$ M6 M0 f! K z
-------------------------------------------
1 Y6 x/ f ]& O(2)重启网络
/ Z# o: `( ? M. z0 O5 lservice network restart, J8 ?2 D" `$ U* I% [
这样配置完 默认eth0就没有ip& n& q& C7 V9 H& |
$ c0 x8 k! {" c' E2 {4 m! |6 A* D* T
然后手动修改
" `# G# [: V. V3 j0 G/etc/xen/scripts/network-bridge
. [: C) |* P( X- }) S' G) e: q (1)关闭xen网络脚本; P: y2 y, b" `
, `, Z0 C& @6 |6 z+ D R; T1 a/etc/xen/scripts/network-bridge stop3 ^1 x9 b9 v" a. r
$ A2 Q% @4 p' ?7 A0 ^) e" a
(2)修改xen配置文件( r v R4 ?% L- T. m8 o8 `
& ]4 `. A- B" l. qvi /etc/xen/xend-config9 t* w8 ]7 F! ^: Y$ @6 Q
" t! v: [& e+ h7 h
注释下面两行
Q- X C' |5 m8 ?/ Z3 t; v
7 j! Q! s& G5 K- F! e#network-script network-bridge)% z# ?8 w8 z# \( z$ C8 D
6 I9 @' W4 P5 j4 t2 {+ Z I- G
#(vif-script vif-bridge)
. q) P' Q" x$ n! _' H% \
' ^) c" I2 O* t6 E8 n2 U swKiom1Ui7KSBCKL6AALsTEsaYbQ455.jpg) Y3 n4 E3 H. l
$ |* q. ]3 A a9 P(3)重启xend3 w3 i4 R! ~8 {/ V5 Y- k
service xend restart
, h! S9 D9 x4 w, {8 _! k------到目前为止网桥已经OK接下来就是将虚拟网卡配置对应到网络
5 i2 l% ?2 T3 r# W
$ z. o: B9 x$ l2 | b4 ~4 E& P% \
0 a4 D% Y3 Y# L; b! f回到xl list
2 j+ M. b* l) e$ W/ Vbrctl show
$ o, P3 P# c4 ^6 w' @然后我们使用brctl来管理虚拟机到网络
/ U; y% T- B. N8 D8 X2 vbrctl delif virbr0 vif1.0 (将vif1.0从nat×××)
; t2 N! H; G5 m- f# D; M' sbrctl addif xenbr0 vif1.0 (将vif1.0配置到桥接网络)
# z2 ]* ~! Q4 B4 y7 O9 ~, t6 J) v, r
; J; I3 ?* Q3 H/ G) |6 h
接下来就进虚拟机里面 重现配置下网络- t2 a* S1 J* O E) j$ G6 D
ifconfig eth0 192.168.31.154 netmask 255.255.255.0
* ?4 j$ n/ _! t, k4 F$ i9 vping 192.168.31.1
: a" } J I6 k% xping 192.168.31.200* |9 l8 s4 L7 V& x
arp -a
5 p5 `5 W' V) N0 B2 c: [[root@localhost ~]# arp -a u7 X2 g% _3 R( |; N+ n) H
XiaoQiang (192.168.31.1) at 8c:be:be:28:ba:85 [ether] on eth0
. u% x4 u# ^/ W$ j8 H! k" }android-3cc237f4872e1d13 (192.168.31.200) at ec:89:f5:b4:8e:0e [ether] on eth0- e; c: B4 |- x+ o8 ~ U2 t3 h
? (192.168.31.100) at <incomplete> on eth0
& n+ m; n" z' B/ ?$ u6 E: a? (192.168.31.109) at 8c:89:a5:9b:47:5a [ether] on eth0
) {8 g, s- z0 s2 I; P5 p
0 o! f3 R9 s5 @( i# CwKioL1Ui7emSL6taAAMXgp9dJ38904.jpg
. G' L& D4 v! e H# I$ D
5 ]: I3 D/ [# h, ~- ]=======================OK 桥接网络搞定=====================
/ K4 z+ N2 |' @# ~1 i1 b* e# W4 `$ c! y5 x ?
以后我们安装虚拟机到时候只需要在
: V: d6 N3 R0 x5 l0 w6 }/ t5 t/ {. ^8 ^
virt-install --network bridge=xenbr0的参数就可以(更多参数 请自己查看): M2 j# y' _/ I! f& I9 U7 a9 K1 c
0 F( \, _/ {: q2 O( ?
=======================图形化界面===========================! D( M: T- a* H- q# N
4 b; q ^+ @4 _; h2 J5 O图形化界面工具我们使用virt-manager,以及libvirt
2 a" i( L Y$ ]: J L* {. h8 k7 X" |+ J
yum install virt-manager libvirt
3 B' b6 r- v. O' V8 F: P( X% p0 h# t {1 N: x; ^# ]7 X( F$ z
Package virt-manager-0.9.0-28.el6.x86_64 already installed and latest version" @1 r. |8 `+ C/ \8 N9 U2 h
Package libvirt-1.2.10-3.el6.x86_64 already installed and latest version! Z' g- u# F# f. G" u
Nothing to do! |2 F3 @! V3 i
" G/ Q8 o7 q& v. e/ o% Y
" Z( V. ? z1 g4 c8 z$ }' n) j
一共会安装下面这些依赖包2 I9 U% p5 _# R1 D
# rpm -qa|grep -e libvirt -e virt-manager
, |9 _9 U5 z Clibvirt-python-1.2.10-2.el6.x86_64
+ H" n9 E$ X; Q, p8 k5 U/ `libvirt-daemon-1.2.10-3.el6.x86_64
9 a! j7 u6 X: b" Glibvirt-daemon-driver-qemu-1.2.10-3.el6.x86_64% ]4 x" N4 w1 {. F; R
libvirt-daemon-driver-nodedev-1.2.10-3.el6.x86_64
. f$ g4 M# E7 w, p( flibvirt-1.2.10-3.el6.x86_64
8 u7 K9 J8 N; s" ~libvirt-daemon-driver-libxl-1.2.10-3.el6.x86_64
/ H: ?$ v! ]4 x7 j" Ulibvirt-daemon-driver-nwfilter-1.2.10-3.el6.x86_64
$ Z. A" I4 g E% v. Elibvirt-daemon-driver-interface-1.2.10-3.el6.x86_64% C4 F ~# n. ~' J. z0 D6 \
libvirt-daemon-driver-lxc-1.2.10-3.el6.x86_64
" N% R' |. h% h# alibvirt-daemon-driver-storage-1.2.10-3.el6.x86_64. Q; a8 n5 I& `/ B, I) h
virt-manager-0.9.0-28.el6.x86_64- D2 [, j- Q' ]. Q7 a8 w
libvirt-daemon-driver-secret-1.2.10-3.el6.x86_64
1 a. A& v% Y' Ylibvirt-daemon-config-network-1.2.10-3.el6.x86_643 t7 A% f. G0 t. e
libvirt-daemon-driver-xen-1.2.10-3.el6.x86_642 g; T5 ~ ]' _3 ]: ^# X4 [
libvirt-daemon-driver-network-1.2.10-3.el6.x86_64
) f5 o1 F" P8 T4 {4 ]& ?& x) y/ h; qlibvirt-client-1.2.10-3.el6.x86_64
, T' y/ |; k% E8 ~- ^! k; g s) N: |libvirt-daemon-config-nwfilter-1.2.10-3.el6.x86_64+ D& |, I" D$ T3 Z7 Z
2 l( Y, Q8 H# M. @2 n0 j
7 O: F' `5 i2 s) S! W! ?) w. P; @3 T8 I) Q* R' y: ~' s
使用virt-manager
: T% W0 G d4 A4 s) y
: |/ z3 N( o; B, q2 y) R& k/ @2 P打开》应用程序》系统工具》虚拟机管理器》点击localhost
$ C" R8 F! B3 S, @1 a" n) q% t0 d3 b; m! W0 g; K
如果提示错误,错误忘记时什么了。一般是连接不了本地localhost
1 X" n4 C0 {# _0 Q: C0 H# h. d8 D1 x/ R
因为解析不了localhost,所以我们到/etc/hosts下添加一项4 P/ p7 r' P, L1 q4 q4 ^
; R$ M H0 ^0 I u
vi /etc/hosts
( b0 R$ d/ B; n. O2 X1 U
# m7 \" J& l+ `3 i* \127.0.0.1 localhost. K. b' i- H2 z0 A! _
+ y3 X5 U3 \; E: i如果还是连接不上,请查看主机名
7 D5 H& z, d8 }: x7 c5 }$ R* U
修改主机名为
8 N3 ^- \5 q! C& l" l
3 t# Y" K' {" E( N4 j' d! `hostname localhost
% Q& ^9 w1 r9 z) a. v0 D3 G5 y: ?4 J8 z" b7 z& ^
然后再打开virt-manager(虚拟机管理器)界面就如下,操作和vmware一样了" P; @& V, G9 R$ k2 v2 ~" w
N. Q: w, c j) D |
|