|
|
系统版本(已经安装完xen的内核)
$ m" l+ s$ `) ]- H/ @# F
' ?- \6 ?- W3 M
- I0 v0 U% ^ r$ t1 ] Y- h" U2 G! C7 D
安装步骤分2部6 t( l$ C- q; x. O
* H0 @5 Z) y1 u$ s V( d
xen安装' o) U1 r/ |) G: K3 }7 W" @
首先看看系统支持不支持xen /proc/cpuinfo3 l% J- T% A# K8 l
如果想让Xen提供全虚拟化,那么你的中央处理器必须符合下列条件。
6 r' @5 K/ R5 _% G1 }Intel 中央处理器提供vmx标签。+ H) @+ j2 I" C
AMD中央处理器提供svm标签。! `8 ?' O0 i& X) F* h
你可以利用直接查看/proc/cpuinfo 的flags参数来判断中央处理器是否拥有上述标签。
_, p. O9 e+ I1 icat /proc/cpuinfo |egrep '(svm|vmx)'
# H& D( j; t" e) }0 c然后安装* Q( G/ d0 ~9 ?9 ~) b, @
1 }9 I2 n2 r+ @8 v, ^5 m/ _7 B
2.虚拟机安装
4 [5 J/ N. b- M通常使用virt-install来安装虚拟机(需要通过libvirt来使用xen)
) ~. y4 ~' g1 O% }( B7 ^/ Y' [% J. k- w$ {: I; r: M
yum install python-virtinst libvirt libvirt-daemo-xen virt-viewer0 h4 K* c) q1 ^7 u
: [. _. K) w9 |# d: _( H, D; wservice libvirtd start0 |, I6 x" w- c& g$ j/ y
" g: ]4 X3 `2 T& i9 Dchkconfig --level 35 libvirtd on' N9 o; Q1 h, j p/ J) `
3 V" I- s; c; i0 E, X
下面开始安装虚拟机% ~ q: W% l6 U( K7 i9 }
5 r1 }0 a8 M% m8 e
(1)设置一个虚拟硬盘(10g的虚拟磁盘)
9 T; O7 K, L: g
2 x! ^1 E: q% s0 C( ^+ L7 jmkdir -p /xen/vhd/* p1 b1 s$ k$ j& a: e0 U
1 {5 P a! C9 }( v2 C) g- edd if=/dev/zero of=/xen/vhd/yao-xen.img bs=1M count=10240 1 Q9 g3 J8 H6 f4 N1 ]
1 u: R. L3 v7 R& ?) ]' g
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.iso2 r9 g. K9 Q$ w2 B! B( r( `8 N
7 |+ Y! f& G# j3 W6 x
就开始安装------图1(安装完毕自动重启)
* a2 \$ k) P* j' |$ J8 k% D
) j$ R/ \' V4 @" a' a- OwKiom1Ui7KLSeI6_AAMMDu6P9SQ340.jpg
" K- `. ?* U% u+ ]' z, }% {4 Q- p9 U! U% _. I+ k7 U1 h5 A
8 d: O8 B& R) q! w0 {: }' q
9 y1 W" P0 R; ~+ r% y8 H# virt-install -?, n2 r! r3 S( x% ]1 P' e
Usage: virt-install --name NAME --ram RAM STORAGE INSTALL [options]. z8 |9 `' M$ e$ u, i; O
9 t/ B5 D. r$ d% Xvirt-install: error: no such option: -?
$ L7 c3 J1 a1 Y" V( p Q3 B4 v[root@yao ~]# virt-install
" ^2 z0 O+ i. B* g9 k( HERROR / e, \& ]8 M& g9 O; c
--name is required
$ F$ a4 B4 F+ \: ^3 ^1 d/ c5 W--ram amount in MB is required: Q7 A; t; W1 E" ]* E( ?& D
--disk storage must be specified (override with --nodisks)
! ?' S% j" y! ^+ T* H# B3 dAn install method must be specified
/ |8 t1 z! a% B. G+ E+ z2 j5 l(--location URL, --cdrom CD/ISO, --pxe, --import, --boot hd|cdrom|...)
+ r. d0 b9 k$ ]; u+ H! d5 R7 f$ x
$ ^1 g4 V3 l& q9 h5 x0 Q' C' j3.网络配置
9 O; e* S' a S6 J, {3 ~2 B
b! G' l! D$ E- U* L# v K- G& m, v连接
+ |" v, u. u% H% Lifconfig (发现多了一个网卡)
9 t' [2 d4 C4 \1 ]6 m& q
( @" d$ v7 M+ @4 v# H* F, ivirbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
5 r$ y a& E3 t9 \ inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
/ T# J4 w! p: d3 Z UP BROADCAST MULTICAST MTU:1500 Metric:19 N4 A6 p6 v% n& s, ]2 B0 a
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
, V4 _/ x( q( K1 u& a4 Z9 l TX packets:0 errors:0 dropped:0 overruns:0 carrier:0' M( g$ K3 b% o- n) A
collisions:0 txqueuelen:0
3 R" b( D) @; Y) F- y6 u RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) k; h' C* V/ X
我们切到虚拟机里面(默认xen为nat)
* p) ^- n, T- [ifconfig /etho 192.168.122.12 netmask 255.255.255.0- {5 d; U' i! L& F B$ Z v2 j
5 w7 Z' G8 Y/ F- O8 @" F, @4 H
ping 192.168.122.1 可以通
9 c4 o% l$ s) o3 X2 j
* E' b; Q3 m) z7 }4 K+ k+ e但是一般情况下我们需要桥接到虚拟机,接下来我们就开始设置桥接网络( p0 y5 z0 g9 P) H7 I! C6 X
$ h( T+ v) z [===================================================================
5 y( K. }8 f0 M. t C% k5 j3 [$ m1 F. f
默认XEN使用NAT模式,当启用一个虚拟机以后。0 W# e2 S/ U2 J z
查看xl list+ |1 `# Q4 A# j% V5 C; }! T
# xl list
6 M9 h- f6 W1 U) D* GName ID Mem VCPUs State Time(s). M& b. O# O6 M! x Z& r! y
Domain-0 0 1024 2 r----- 240.9) ~7 R- H4 Q' \% @: r/ h% I
yao-xen 1 515 1 -b---- 14.6
5 l. X9 z2 U# t/ \' t0 o6 [2 C" H1 h7 B) K- J
得知网卡为vif1
6 V3 N. [) i; F* u5 n' F8 c, S. G2 @ j) i0 C
然后brctl show
! \$ a% W6 K" r% Y2 w# ^' t, p可以看到4 d* y4 ?2 A3 [3 v# K% W' h
# brctl show* H) z/ t0 K I2 b0 c+ t
bridge name bridge id STP enabled interfaces
6 O2 i+ j# V2 Q- w, kvirbr0 8000.000000000000 yes vif1.01 f& L8 m* \3 a( T0 e9 b" d
-------------------------------------------------------------------
1 O6 a2 g+ {- i' ^8 \* c Y; \virbr0为默认到nat地址,这里我们要修改为桥接。分2步1 d$ o- J+ {" J9 f8 Y3 R1 F7 y- U' w4 t
1建立桥接网卡
: ~) L. r& i; R2设在虚拟机yao-xen的虚拟网卡对应到网络
+ U. g v- ]1 O' Q% b(1)以下为本机到网卡配置; `; e5 x+ }# l# `( s- T7 ?8 x
-----ifcfg-eth0---------2 m( u0 q" Q$ _; |; C) F. z
DEVICE=eth0& j: [# q) s0 ~1 ~0 x
TYPE=Ethernet. C8 \, ] F, ]2 z9 a( m& L
ONBOOT=yes: ?3 L( l, ?8 A- I
NM_CONTROLLED=no 这个参数是networdmanager相关的,可以把个关了
+ ] s, q3 d1 {9 [' R" g* ^
% a. V% q' I: W0 h0 w& e HBRIDGE=xenbr0- I6 g8 I' r3 ?3 w7 ]
+ K- K2 M. x. k' W1 Q
1 i" u5 E/ e: e" b
---------ifcfg-xenbr0------
. u8 m$ a" P9 @( ]2 C. t: I/ yDEVICE=xenbr01 l2 J! T* W* r. n% j2 M+ {
BOOTPROTO=static
' b* ?' L. y3 q3 lIPADDR=192.168.31.109
6 l. t3 O& |! x, n$ @% k$ |# cNETMASK=255.255.255.0
/ t9 A( |% D7 Z8 V! qGATEWAY=192.168.31.1
6 t! f4 i! r$ K. ^ONBOOT=yes- C3 E9 B$ A7 J% x' \
TYPE=Bridge
" E( K, A2 Q+ L! y, b
" F/ I1 g! d# U6 X-------------------------------------------# Y, |7 e! L; |- ^$ E; m8 m9 P9 n
(2)重启网络
' S5 h8 r! H5 Q# Q: z( u' G8 sservice network restart
! {& Y1 e2 x1 J4 O7 ?/ M这样配置完 默认eth0就没有ip" A1 Q5 c. f: v
+ F" k' ]4 q" o6 m( \. a
/ _5 H& f% Z! y0 Z* `然后手动修改
* r& S- N3 j! M4 \2 S/etc/xen/scripts/network-bridge
, l! N: \1 f. b* ^, }9 ?0 i (1)关闭xen网络脚本
[( ~; l2 P. [0 l. F
3 ?( K0 ?: |, |6 r2 j/etc/xen/scripts/network-bridge stop
' W, T6 N' v5 |% J1 a. n
7 m0 q* ^4 u, l X+ `% e(2)修改xen配置文件
; o2 C1 |4 e8 b: `. {. A2 P
0 j I, A* ?) v7 Fvi /etc/xen/xend-config
- i6 P+ N$ X. D: C; L$ F7 t! W% e0 [6 _" h5 }$ ~
注释下面两行
* E7 G. w4 H& b1 B5 s. A6 D$ ]0 e1 t* S7 e$ E. g# P* i8 v! c+ [
#network-script network-bridge)/ c' B. G8 z! W6 f, o7 h _
2 X9 r0 R0 F4 t7 \3 c
#(vif-script vif-bridge)
+ O1 \: ]$ a1 G+ V
0 |! s0 z% F2 G8 ?* Z% i. t2 AwKiom1Ui7KSBCKL6AALsTEsaYbQ455.jpg
! _0 y2 e; K; D( W
" {' C$ x6 } O) B(3)重启xend& u$ i( G+ S6 ?( G/ _
service xend restart
# ^0 Q$ p/ b# h$ E------到目前为止网桥已经OK接下来就是将虚拟网卡配置对应到网络
' G: ]+ D; |2 O) h) t, H- f& f2 ^1 ^3 E; |* W5 L
# d, m4 i- ?- M* P8 a8 R( u* @回到xl list! r: w/ n; O# X1 m) i
brctl show
( E5 p) U9 b6 |7 B0 t. s0 k然后我们使用brctl来管理虚拟机到网络; m8 B+ A1 {1 a7 u, ~; P
brctl delif virbr0 vif1.0 (将vif1.0从nat×××)4 g% v* L5 C9 R# d# O# p* T7 ^1 E
brctl addif xenbr0 vif1.0 (将vif1.0配置到桥接网络)
4 `4 N' f4 X4 C
$ M; T1 P% f& x/ g. M v0 Q! h
/ R6 a* y$ m: M; U& N6 L接下来就进虚拟机里面 重现配置下网络4 A1 s. o* T$ C) W, J
ifconfig eth0 192.168.31.154 netmask 255.255.255.0
$ Z; ^" [+ ]4 E% J3 v7 c) i2 bping 192.168.31.1" i0 i- J: w) T* X% b
ping 192.168.31.200: _, y5 e4 E9 t- s( W9 I5 A- V
arp -a
+ `! q& A' s1 t6 f* f[root@localhost ~]# arp -a
9 c8 g- J( B" A/ S' L( YXiaoQiang (192.168.31.1) at 8c:be:be:28:ba:85 [ether] on eth0
6 F, m/ e+ K' W% V& d8 Q5 h$ [android-3cc237f4872e1d13 (192.168.31.200) at ec:89:f5:b4:8e:0e [ether] on eth0) b# @- M. x% F
? (192.168.31.100) at <incomplete> on eth0
& y" T; F) Y! O. _# b? (192.168.31.109) at 8c:89:a5:9b:47:5a [ether] on eth0 n" i' m1 N8 {0 C
( W" x* v O( M4 E$ D, g/ M% H0 A, ]wKioL1Ui7emSL6taAAMXgp9dJ38904.jpg: P: G! u2 O& a) ~7 ?
3 r& P$ ?" T1 a, ^' J* S
=======================OK 桥接网络搞定=====================
0 L" _# }3 C/ V, U9 A! E- g9 n. T0 w
以后我们安装虚拟机到时候只需要在 o3 K5 L$ O( }2 t+ ]: Y4 U
/ q9 @+ A3 H! V* G
virt-install --network bridge=xenbr0的参数就可以(更多参数 请自己查看)
- [" |$ T) {, O1 L+ ]4 \- K# }9 I0 ]' U+ V3 ^
=======================图形化界面===========================% q1 F/ h& A* F6 U7 R9 Y
, _8 ?% K! z) l) | P/ N3 ?& J图形化界面工具我们使用virt-manager,以及libvirt9 C! c7 ?# B9 |% x7 A% s2 A
- ? u7 z' W O9 _" P0 fyum install virt-manager libvirt2 H9 y: [2 ~, ^' T! n; V
* _) }" a W4 e" E. C' [) gPackage virt-manager-0.9.0-28.el6.x86_64 already installed and latest version
( k3 j& b5 w# WPackage libvirt-1.2.10-3.el6.x86_64 already installed and latest version) v( {) R! E! Z/ Y
Nothing to do6 w* N" A i7 s/ ?( G4 a
2 m+ X$ M2 K, y) H& }) c5 ~: A7 O: D3 W9 \/ |
一共会安装下面这些依赖包3 A$ s2 N, C7 T1 @6 i
# rpm -qa|grep -e libvirt -e virt-manager
- _/ M+ u8 G3 b' U$ ulibvirt-python-1.2.10-2.el6.x86_64
# W* I& S7 H3 u& N7 glibvirt-daemon-1.2.10-3.el6.x86_643 e K: h1 [9 i8 [1 u5 ^. M
libvirt-daemon-driver-qemu-1.2.10-3.el6.x86_641 ]! I0 }) D/ X- r6 d
libvirt-daemon-driver-nodedev-1.2.10-3.el6.x86_64: r$ J7 n0 U7 l) H# N1 {
libvirt-1.2.10-3.el6.x86_64
1 b- u' ^: G8 C; E; ?3 zlibvirt-daemon-driver-libxl-1.2.10-3.el6.x86_64
) b/ P) ^% v) V% y' e; Slibvirt-daemon-driver-nwfilter-1.2.10-3.el6.x86_64
: n" ]2 f' N& x" v8 clibvirt-daemon-driver-interface-1.2.10-3.el6.x86_64- G. s+ K3 |1 P) U" {, G
libvirt-daemon-driver-lxc-1.2.10-3.el6.x86_64
$ B1 l) E+ x( D: a- ]! A8 h6 g! P, _. Plibvirt-daemon-driver-storage-1.2.10-3.el6.x86_64. y. \2 |: a% A
virt-manager-0.9.0-28.el6.x86_64
5 p) m# }( ~" P- u9 x+ rlibvirt-daemon-driver-secret-1.2.10-3.el6.x86_645 D* _( l- N! n# `! c
libvirt-daemon-config-network-1.2.10-3.el6.x86_64
4 Y& \/ o+ O V( R+ Alibvirt-daemon-driver-xen-1.2.10-3.el6.x86_642 b$ n8 \& p2 e! x3 _* i1 F
libvirt-daemon-driver-network-1.2.10-3.el6.x86_643 u. Z& Y! t5 O7 E+ Y' H+ x
libvirt-client-1.2.10-3.el6.x86_64
3 U# Q: ~, h( M4 o( Llibvirt-daemon-config-nwfilter-1.2.10-3.el6.x86_64( b! M% e7 S8 l& U# M% S
4 n% _4 [$ O, O. p) k2 f3 r+ ]
/ K1 ~6 G( b' J2 _+ \' |# l
2 c1 v) m+ y" ^& q" K& B+ X
使用virt-manager3 V- O) P' T! d) o5 {
) U4 w& ^4 H, T8 b& Y& x+ ?
打开》应用程序》系统工具》虚拟机管理器》点击localhost
, L$ }$ S8 y# L" |# e0 V/ r; F# [( C5 t$ h) `3 w# g+ |3 J
如果提示错误,错误忘记时什么了。一般是连接不了本地localhost
( p- G: P' v( @/ O3 X$ m' k3 Y# w3 X8 [3 G" @0 X
因为解析不了localhost,所以我们到/etc/hosts下添加一项
& ^6 |' ?3 K \7 P, u
1 j% a4 Y, o% N* S5 ?. Svi /etc/hosts0 ]+ h) t4 X! R
1 o0 m! c0 S5 t# `" a0 W
127.0.0.1 localhost+ k; ]0 {) |% l; P4 }( b1 N
* B6 H# C8 Y6 i W) R3 {
如果还是连接不上,请查看主机名' w* v" ?6 ^$ ?3 _- f5 \0 k
* I9 [5 `) \& ^: w6 N- n, K
修改主机名为, ^! F$ E- R# a5 U I2 @+ [4 y
6 O1 ?- G- Q* D! i& Fhostname localhost
+ D9 n6 D) [6 {( Q3 @
1 Q, Z4 H9 m& a, y( Z+ B然后再打开virt-manager(虚拟机管理器)界面就如下,操作和vmware一样了
& m6 \$ Q3 d% N2 q) j
) b9 y* B1 K+ P' N5 u# M/ C8 o |
|