|
|
系统版本(已经安装完xen的内核)* b$ U% L- W/ C, B7 n% ?
1 i- f8 N/ ^8 Z5 ^
# |& r+ P5 d J, j8 C2 l( l5 K" l/ [# |5 J2 U4 B6 @3 R T
安装步骤分2部
& v* z+ f: k* f% l( |
9 U4 e! a" I: b" O: Ixen安装
) {; l) q4 h) }6 I$ _9 ~% s X首先看看系统支持不支持xen /proc/cpuinfo0 H- |% s' P& C7 ]: _
如果想让Xen提供全虚拟化,那么你的中央处理器必须符合下列条件。) P- Z0 S- B: ]
Intel 中央处理器提供vmx标签。
! S0 S- t, z# ^8 |9 xAMD中央处理器提供svm标签。# A6 M3 [2 S2 R5 l) S7 z
你可以利用直接查看/proc/cpuinfo 的flags参数来判断中央处理器是否拥有上述标签。
: Z, |. [2 J1 V }3 H Icat /proc/cpuinfo |egrep '(svm|vmx)'
8 ^' _. o1 T5 X* Z; `5 T# _然后安装
4 l/ v$ k, }. {5 \# B: _. O5 r- e1 K4 f% A
2.虚拟机安装
( h* F1 `- Z7 o6 G! E/ d通常使用virt-install来安装虚拟机(需要通过libvirt来使用xen): u/ p T& J* S3 ~6 N$ _
% ~. {1 k( ?8 C u( Kyum install python-virtinst libvirt libvirt-daemo-xen virt-viewer
3 _0 L4 o: `' G6 ~- o6 k, \& D" ^) i. q0 u
service libvirtd start
! Q; }6 M0 g9 w% ^ r4 T# N
3 n9 n+ Y: Q4 ~" X, Jchkconfig --level 35 libvirtd on
. Q4 @1 a: d& n, P0 O- I Q# v0 P6 [8 b/ p; ?
下面开始安装虚拟机7 o- I9 T$ E5 E* [9 @& b
# r$ y; T) n- x0 a( f$ s8 x. l
(1)设置一个虚拟硬盘(10g的虚拟磁盘)
7 S" j) i$ j q% S) ?2 z
6 n) e2 O& L- y4 ~: imkdir -p /xen/vhd/2 f: z* _3 v3 r; {
" y1 v, X* h2 \9 [- Z: \& \dd if=/dev/zero of=/xen/vhd/yao-xen.img bs=1M count=10240 5 m- P Z3 r; ^2 f J" C; Q
/ L1 f1 M2 d% y0 i
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
* _/ R/ ?, ]# j
% Y& v" p0 V! H, k% O就开始安装------图1(安装完毕自动重启)
9 R$ E* d6 P# V/ e, A, ~
" s) G; m: s/ _5 _, o: Q: A! q- K0 ewKiom1Ui7KLSeI6_AAMMDu6P9SQ340.jpg
# a6 W3 x4 S2 C' m% c/ c) `
$ C" @9 g |# r" X. p2 j! l2 `$ E' _2 p; y" D% m8 `
7 l5 n. F1 q% B2 _. L0 P; Z# L1 U
# virt-install -?
; a( r* J2 M) }: L7 U( ~Usage: virt-install --name NAME --ram RAM STORAGE INSTALL [options]
9 T1 M+ x {- R! H7 S0 k4 B
# t7 q. L+ w* a- \7 x3 E/ _ J. r* wvirt-install: error: no such option: -?
/ o: M& y! T8 Y6 |6 |# m[root@yao ~]# virt-install
$ x: K8 H! F- }8 |, F1 I1 oERROR
3 G* M8 c9 R4 g+ G--name is required
3 f9 y+ [& I' `4 U* {--ram amount in MB is required; N8 a8 W! b6 a7 M, u
--disk storage must be specified (override with --nodisks); [2 g' L8 m' `
An install method must be specified
! z) W d/ x7 D(--location URL, --cdrom CD/ISO, --pxe, --import, --boot hd|cdrom|...)
" K. E) n" ?; B4 s2 Q0 l' u( E
8 [! O( L& Q* t6 b( ~1 [. Z8 j# L) h3.网络配置2 c. J7 o/ @1 p% V! y' P
3 v$ e) m" J8 R( w; M* c w
连接
! z* P9 M: c0 {ifconfig (发现多了一个网卡)
0 \" t. s5 U5 q& W: A3 A
w$ j* v0 y) B8 ?/ ]$ J2 \virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 ( Y" d% ~& `' |* ]
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
. ^2 P8 j6 L6 Q1 M8 E( V y UP BROADCAST MULTICAST MTU:1500 Metric:1
8 d: y2 v' N# J0 {8 x6 r- T RX packets:0 errors:0 dropped:0 overruns:0 frame:01 P& h4 F& r* I8 N+ L1 T- e
TX packets:0 errors:0 dropped:0 overruns:0 carrier:07 Q9 p# p1 |; c$ I+ e3 H) g
collisions:0 txqueuelen:0
- E2 {0 r3 [ t# V% J( ?! _0 O RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
0 C b% v/ }8 C( O2 `: F: }我们切到虚拟机里面(默认xen为nat)
5 o7 ^& x. Y$ v$ x/ y8 @ lifconfig /etho 192.168.122.12 netmask 255.255.255.0
) i/ u9 ]' |0 U1 y- Q( T; o
+ P5 c8 k2 B4 Z! e1 A' Iping 192.168.122.1 可以通
3 E# |( }. r( ^2 {9 b9 C3 N1 G* i
9 [# L# G$ G) b- R' \ s- H但是一般情况下我们需要桥接到虚拟机,接下来我们就开始设置桥接网络# {1 E8 I: }2 Z8 J
7 k- N3 Z) \# q( X% c P
===================================================================
" w$ S2 n5 F( o2 G) M! N' e1 c) Z/ h9 ]+ a$ J) u5 u. s
默认XEN使用NAT模式,当启用一个虚拟机以后。8 Z2 G+ ^- E- j/ x
查看xl list
7 R8 s5 S( z, q6 {' J7 b# xl list6 f- m& D' y" Z5 ?. x
Name ID Mem VCPUs State Time(s) `6 N3 D. K& ?, v% |8 C
Domain-0 0 1024 2 r----- 240.9
; S" }# o7 z' H7 x% B/ ?yao-xen 1 515 1 -b---- 14.6; {2 K ]. S9 o4 b7 R
+ |; \& j, s' l$ K- s
得知网卡为vif1
- e' p9 A4 K# o
n- O- N( E; j然后brctl show$ U' H) |" g- R9 @2 \+ `; f) U
可以看到; m3 x: ]# g9 i- U
# brctl show
- p( Y. V; O; z3 z* Rbridge name bridge id STP enabled interfaces* T0 }' U5 r8 O% c
virbr0 8000.000000000000 yes vif1.0
# k: i- h4 r6 n9 {: `; t-------------------------------------------------------------------
4 p9 y% f. P* `+ O" T5 P8 n5 s) Lvirbr0为默认到nat地址,这里我们要修改为桥接。分2步9 g- N6 p: Q* C- `# ?2 u
1建立桥接网卡
$ H( B8 j2 s9 G. d1 q8 j6 J2设在虚拟机yao-xen的虚拟网卡对应到网络 9 E/ D6 v9 U# _. y' Q
(1)以下为本机到网卡配置
0 m; O L" y0 b* O-----ifcfg-eth0---------
5 R* x/ \ w: j& Q3 EDEVICE=eth0
4 R; n" {) {( z/ i6 ~TYPE=Ethernet* d! O; L! l: k
ONBOOT=yes0 r1 h2 j s3 V6 x" z( m
NM_CONTROLLED=no 这个参数是networdmanager相关的,可以把个关了9 \ D5 L1 W- ~1 O! o9 K
: q, a1 Y) f- Y$ v; F$ ~
BRIDGE=xenbr0
" ~2 o" S2 R) O! i: b3 |/ C+ X4 a0 E+ `6 Y8 z- A
- ]: X& v9 U7 H, C/ N---------ifcfg-xenbr0------* ^7 u1 f% S1 \& D8 b. Z6 J
DEVICE=xenbr01 b0 x$ Z( l+ E' |4 P& s
BOOTPROTO=static
. \+ Q; }9 X5 U9 Y6 rIPADDR=192.168.31.109
6 @4 {: k4 j8 E# s! i( ZNETMASK=255.255.255.0+ E7 o4 ^ v5 b e4 B8 H& _3 W
GATEWAY=192.168.31.1
" k6 l; o/ P* K# I: m" s8 DONBOOT=yes. T: {. m4 t9 M$ N' d* ]7 ?
TYPE=Bridge6 l$ t7 O0 B1 n2 _
2 I' @& Q) T/ d. A9 Q! Y-------------------------------------------, C3 ` Q. v; J& a( f
(2)重启网络
8 k1 u) b) M. t# Z' eservice network restart. [+ ]/ @' i" G# U; R2 j5 e
这样配置完 默认eth0就没有ip4 T) S/ S2 Z- `2 H5 H3 S. V+ L1 f
6 H- j2 P8 u4 t/ e4 O
1 M6 [5 N9 t1 s3 e0 a7 Y8 l然后手动修改9 E5 Y( {' C6 c4 H P( r
/etc/xen/scripts/network-bridge
" \$ d# @5 x2 W9 | (1)关闭xen网络脚本
5 T z3 r" U) t: L' P" _% \0 D( A
1 i8 S# {+ z+ ~: o( y6 m4 G/etc/xen/scripts/network-bridge stop
0 \/ A- C/ @: x+ L) ~) {
% ^- |5 n3 Z8 L: W7 A) v(2)修改xen配置文件
/ ]$ ~9 p; z5 g D4 H/ u2 s. Y) t
vi /etc/xen/xend-config7 k. J- ^9 k A7 E9 J
8 f/ B+ O8 C0 g4 {: t$ q+ l
注释下面两行
5 }/ ?$ p, ]- I" F; e) P( m- ?3 y- V. U( d2 X/ y( q. n
#network-script network-bridge)
; l, A# J2 H' X/ T
0 g1 P% j0 a3 M" ?3 F9 y#(vif-script vif-bridge)
1 ^1 r! Y/ P9 K# q+ I' w
* T5 M4 f0 I5 W$ a; Y1 ~wKiom1Ui7KSBCKL6AALsTEsaYbQ455.jpg
( W& h8 W6 n7 ? M
3 `2 E' u( p$ ] s! [(3)重启xend
9 C7 u) `- ]1 s2 sservice xend restart
1 K) H1 ~$ d6 ^% E3 k( h------到目前为止网桥已经OK接下来就是将虚拟网卡配置对应到网络" e$ f: C. k# K
9 X' O3 v2 J6 M- b8 s
) a6 ~) v1 {4 y" V0 |回到xl list
+ {" Y+ v* c' C/ D! |& wbrctl show" Q! o: z, ?- B
然后我们使用brctl来管理虚拟机到网络. b: e& K7 I7 F0 h0 s! x+ Z
brctl delif virbr0 vif1.0 (将vif1.0从nat×××)
8 @* ~$ B# Y! E" _+ Cbrctl addif xenbr0 vif1.0 (将vif1.0配置到桥接网络)
0 r; p) z- y5 P5 f
' b O3 Q0 P! `0 F+ M/ F9 N$ M# U( D, L* g% S5 a# C1 ^7 E
接下来就进虚拟机里面 重现配置下网络. C4 Z/ B1 p2 p n
ifconfig eth0 192.168.31.154 netmask 255.255.255.0
+ _$ X. R/ V0 i+ pping 192.168.31.1
+ N$ O& }- J3 ~5 e! f0 R. e0 ]ping 192.168.31.200
% n7 D0 C2 @8 t" Garp -a
3 [( S' L! S' _: X) G[root@localhost ~]# arp -a
: S8 [' X0 e; Y. d4 p' T% x @XiaoQiang (192.168.31.1) at 8c:be:be:28:ba:85 [ether] on eth0
0 s: O) i' k0 zandroid-3cc237f4872e1d13 (192.168.31.200) at ec:89:f5:b4:8e:0e [ether] on eth0( L o- U# d, e5 R
? (192.168.31.100) at <incomplete> on eth0
/ H- ^; {/ o4 M: U8 x? (192.168.31.109) at 8c:89:a5:9b:47:5a [ether] on eth0
: a" f# P. @/ b2 s$ h9 J/ u$ y' V" y: r2 z7 _& g* F
wKioL1Ui7emSL6taAAMXgp9dJ38904.jpg/ y7 F% ~4 z& w- M8 _. Z7 i) l
; l" O; e" q" s! u( m( i1 w=======================OK 桥接网络搞定=====================
5 Z" m) s/ L( e$ S+ p" L! q& U, ^% \
以后我们安装虚拟机到时候只需要在
' d& C& k1 o" s; R
6 y2 F$ F/ F9 q6 W: E8 o5 bvirt-install --network bridge=xenbr0的参数就可以(更多参数 请自己查看)
+ k q; j- Z5 i, C0 u+ a1 o$ p& g8 f1 H4 j5 l, t' c( `
=======================图形化界面===========================7 q3 z/ ]0 O# {& a% o/ t' z/ I$ e
/ `0 D7 B: ]" i# a' Y7 ]# M
图形化界面工具我们使用virt-manager,以及libvirt/ o, `1 \- o3 j3 t
) ]$ r( `- b2 m' v0 t$ s
yum install virt-manager libvirt Y* @1 b$ }" p
, \2 z( D/ o6 E m- k: JPackage virt-manager-0.9.0-28.el6.x86_64 already installed and latest version
4 Q) T7 F% ^7 R. NPackage libvirt-1.2.10-3.el6.x86_64 already installed and latest version7 H, T2 ?6 q7 X, D5 ^+ j0 w
Nothing to do
+ J3 k( S" Q* m& A+ G0 E, L! V; h! A4 H
) w( F6 p. O6 k
一共会安装下面这些依赖包
* a5 W4 p6 E9 F' w# rpm -qa|grep -e libvirt -e virt-manager2 c" o# I$ e2 i2 ^- ]; C( Y' I+ M. E
libvirt-python-1.2.10-2.el6.x86_64: \! f3 p$ F' R# V' ]
libvirt-daemon-1.2.10-3.el6.x86_64" e6 H0 {+ L0 L4 e- p
libvirt-daemon-driver-qemu-1.2.10-3.el6.x86_64
) d' w+ K/ _! {. e* X' alibvirt-daemon-driver-nodedev-1.2.10-3.el6.x86_642 K- s* _' h" L2 S# H" I5 _
libvirt-1.2.10-3.el6.x86_64
4 X* j2 p1 v' Q( N9 |libvirt-daemon-driver-libxl-1.2.10-3.el6.x86_64
9 u7 x, P6 g# }4 A9 j4 d; `libvirt-daemon-driver-nwfilter-1.2.10-3.el6.x86_64
% @1 {( q$ N* d# H) c9 klibvirt-daemon-driver-interface-1.2.10-3.el6.x86_64
7 H4 F& F; n2 }" q% plibvirt-daemon-driver-lxc-1.2.10-3.el6.x86_64* R$ a8 A7 G9 k' _# A5 C
libvirt-daemon-driver-storage-1.2.10-3.el6.x86_64- _. a b4 e- T
virt-manager-0.9.0-28.el6.x86_64& U2 L! w( |4 o+ b5 P" s& @
libvirt-daemon-driver-secret-1.2.10-3.el6.x86_643 c: Q. E( _2 F( J. n# q7 f% N2 ~
libvirt-daemon-config-network-1.2.10-3.el6.x86_64
3 |8 O0 E4 l5 J' {libvirt-daemon-driver-xen-1.2.10-3.el6.x86_64
- B1 L8 n, ?( V7 \3 H% flibvirt-daemon-driver-network-1.2.10-3.el6.x86_64
9 }8 S3 f* j0 j: Klibvirt-client-1.2.10-3.el6.x86_649 n5 t- V% n5 q" V$ C
libvirt-daemon-config-nwfilter-1.2.10-3.el6.x86_64
9 I% w4 \2 G# C' r) q7 M/ ^0 i' H0 ^7 {# {
) I: o- \8 a3 W8 D3 d/ W$ T* Y9 m
% ]$ R; q! H' [( N9 |4 T2 j. e使用virt-manager
7 p5 i* v" [! q6 d$ V6 @
' C* [0 N! L$ |& l' W打开》应用程序》系统工具》虚拟机管理器》点击localhost
: }# M7 Z, L; n7 d& y3 K* e8 Z! d% X+ Y; ~* `2 @& n, L( Y
如果提示错误,错误忘记时什么了。一般是连接不了本地localhost
6 v: W J" q) A8 w6 o; v# g* I4 f
4 D# F2 o! W( R+ J% N因为解析不了localhost,所以我们到/etc/hosts下添加一项
% ^2 C- v3 S. h+ M5 K% V) p8 D6 A& y
vi /etc/hosts0 h/ w, Y4 @. ]" M
& ~9 `# A% m" x5 I
127.0.0.1 localhost0 N- ~4 G8 e: p% g* Z
5 Q. `/ Z. s6 H& i如果还是连接不上,请查看主机名
( i6 J: m" h2 Y/ I3 I' y% O$ J# M) G8 N: u
修改主机名为
c6 a2 }- D. R
# {* O0 L$ c+ s% q$ }hostname localhost
3 d5 P# w/ t, d; P1 v3 T+ U0 A, k( \2 b8 i5 o# N
然后再打开virt-manager(虚拟机管理器)界面就如下,操作和vmware一样了
. T8 ~& n: R w' i- Y1 @! p1 a" \2 {2 e, c- K. ^+ Q# H
|
|