|
|
系统版本(已经安装完xen的内核)
* Z1 d ~) v+ N* l
$ U: A i( P1 _* Q8 e2 r
6 A1 l4 G; V1 m$ z6 Y# a2 b+ B9 j2 @
安装步骤分2部
w) V5 Q( z4 a. V6 e P& q. W7 R) `7 p- i) _0 J
xen安装. a: M$ D0 R# w& M3 B6 @
首先看看系统支持不支持xen /proc/cpuinfo
L% X! m9 L9 G' _- b如果想让Xen提供全虚拟化,那么你的中央处理器必须符合下列条件。
" d. T& C6 |: d) TIntel 中央处理器提供vmx标签。
: Q2 z" B1 g* {( U. f y; LAMD中央处理器提供svm标签。) L$ @$ \; e- E3 h; w- x4 p
你可以利用直接查看/proc/cpuinfo 的flags参数来判断中央处理器是否拥有上述标签。
# G$ t/ h' N% Jcat /proc/cpuinfo |egrep '(svm|vmx)'
! w6 U' m- |, w4 j% W然后安装
6 v7 e: m) I( s* I* q" f P4 l
+ Y0 A2 q& [) M/ U0 M2.虚拟机安装
- A% g7 g2 V4 Z$ O1 `通常使用virt-install来安装虚拟机(需要通过libvirt来使用xen)/ i: H' E; z) @% _' \
1 v9 ~( Y2 q! w+ r5 ^
yum install python-virtinst libvirt libvirt-daemo-xen virt-viewer) y* N \/ ^9 i7 R, @
) g; ~% Z5 W# x8 n* J/ J
service libvirtd start p" M$ J9 N) A0 `
8 G* q% x/ ?* P+ |! h
chkconfig --level 35 libvirtd on0 _1 j. E; Y3 y/ i& S" b
% S6 n1 @! y, x
下面开始安装虚拟机' J0 ^" L/ E( Z, O4 z) `
7 ^( w6 _/ n |# q; D(1)设置一个虚拟硬盘(10g的虚拟磁盘)
0 _8 A' y9 Q3 D+ c$ r
2 i' }+ W. l- g& Umkdir -p /xen/vhd/5 F9 h& Y0 z3 g0 I5 z4 x
1 u. I7 t) T: o% h
dd if=/dev/zero of=/xen/vhd/yao-xen.img bs=1M count=10240
7 }; H$ q7 y) P* Y+ \/ Y+ p; }# V3 ^ b
$ G d; T5 x" d, f% h. D2 tvirt-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
+ i+ ]+ b: a4 J2 D4 H. d4 U; \5 @: P4 y G" g) S+ {- j! W
就开始安装------图1(安装完毕自动重启)
6 H% S7 z7 C# m
1 Y) M9 N7 b7 S. t; gwKiom1Ui7KLSeI6_AAMMDu6P9SQ340.jpg
$ E' N3 o: l( k* n! V* o) k* v4 ]# X% [: \' a
+ Q# f: B5 W2 p
+ M. ]" `, S( r# virt-install -?' b3 c1 D/ B1 V- ?
Usage: virt-install --name NAME --ram RAM STORAGE INSTALL [options]% q9 @% \: N" d% B) }2 ]7 W% N! p
( L" ^% o! Q# a) F7 `1 Lvirt-install: error: no such option: -?
# q- U" B) `$ c/ C A3 ^- p[root@yao ~]# virt-install
' P4 ?: R) h* t: x0 G* r: v7 e ZERROR + A# I4 E! o }; D
--name is required- k# o) v# }$ L/ i5 b" u
--ram amount in MB is required/ B/ n3 W- L2 S/ I1 F
--disk storage must be specified (override with --nodisks)
! |4 v' Z& _# R% L0 @6 A! TAn install method must be specified
, M! i& j' Y2 H+ G+ R* M2 q) M+ k(--location URL, --cdrom CD/ISO, --pxe, --import, --boot hd|cdrom|...)
" m0 K) T% ]1 t% }( A- M# d6 V$ s+ M- y
3.网络配置2 Z5 x7 k' e# T# W3 a
2 g* T/ ^& v6 \/ T连接* V5 u9 y: A, e" a, O
ifconfig (发现多了一个网卡)% n2 e3 b8 K8 O
# {; f" ?+ `& V& N% E" \
virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 8 v( a1 F$ f3 `
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
1 u6 p1 _& h" D) d UP BROADCAST MULTICAST MTU:1500 Metric:1
( E, K, S" q* a$ v- [ RX packets:0 errors:0 dropped:0 overruns:0 frame:0
* t. \5 g/ N. R l; m7 A' Y3 @ TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
* V o5 c/ o! u collisions:0 txqueuelen:09 _9 ? Y/ u9 M( B/ @
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
( g4 ~( k3 w' L, r4 i' B我们切到虚拟机里面(默认xen为nat)
0 ~2 Z7 U# ?0 X6 h Pifconfig /etho 192.168.122.12 netmask 255.255.255.0
) N: T$ U5 D* U3 a1 W
H' Y/ V# G }1 ]1 Jping 192.168.122.1 可以通
7 O, O3 V' }' @9 |6 g- e, C+ S5 M# ]( L M
但是一般情况下我们需要桥接到虚拟机,接下来我们就开始设置桥接网络! @" q3 X1 K ?" u \3 \, @# ?
' f. N2 U4 j) K; d' k7 Y6 _
===================================================================
! ]) u8 C5 w0 R) x$ Z L" s
% l0 g; {) a5 Z. E默认XEN使用NAT模式,当启用一个虚拟机以后。 H, |" |8 l7 c" n
查看xl list
- W5 F8 @$ q% y T7 L1 e- |: H# xl list9 T' z! U( o+ u9 u) B
Name ID Mem VCPUs State Time(s)
# [6 ^! o2 q1 r2 D- B$ t5 VDomain-0 0 1024 2 r----- 240.9
# N5 ^+ U& I' a) N4 J# t* P2 ~yao-xen 1 515 1 -b---- 14.6
4 t9 \$ R) A1 X1 Q* w4 E2 C3 Q) P4 V& b/ L! E/ E% ?7 I# O
得知网卡为vif1. e2 z& A, m$ L. |% S$ ]! s; o
: G3 C! \; U# R* u! k: `4 R9 ?% i
然后brctl show
+ ~; R, C+ y, Q g: u( `) d& N可以看到
3 ?. h' }& y6 _! J Y" I' Z6 k# brctl show
1 o5 k. A# o8 l Z# k, ~6 r+ \( hbridge name bridge id STP enabled interfaces
4 k9 e" |; {9 _& e: D/ F( Ivirbr0 8000.000000000000 yes vif1.07 \- L( f( ] S$ [7 r, C- g
-------------------------------------------------------------------1 f" X, Q0 s% J; c. b+ V
virbr0为默认到nat地址,这里我们要修改为桥接。分2步
2 ~/ `8 q# n Y! l1建立桥接网卡
& d2 F/ [3 G8 i0 Q2设在虚拟机yao-xen的虚拟网卡对应到网络
' } ?0 V+ q/ ?, X6 s(1)以下为本机到网卡配置' o+ ~) W6 ?& U& W8 c
-----ifcfg-eth0---------
8 v* }% f- N" A9 KDEVICE=eth0
! [0 ?8 b. e' s S4 _& b, R. u- OTYPE=Ethernet' Z9 I6 z' v( ~* e' E
ONBOOT=yes) D. [; v% b9 J+ q" y, M. y% y
NM_CONTROLLED=no 这个参数是networdmanager相关的,可以把个关了
7 l- `& h+ [6 O: x% c/ W) w5 f$ K. m$ W) R
BRIDGE=xenbr0, V+ h, R2 M$ H. T
$ H/ D7 P% E$ r4 Y& p/ H& D( Z
* B4 C8 Y% U7 y9 ~---------ifcfg-xenbr0------
; Z% k9 B' b9 P( R4 N, pDEVICE=xenbr0
9 S* D$ x: J% rBOOTPROTO=static$ H+ X9 D" ^* `8 V- J
IPADDR=192.168.31.109: V; ]9 d# h2 I; m4 K. W7 x' a2 _
NETMASK=255.255.255.0
/ S5 M) d4 L& iGATEWAY=192.168.31.1
" ?% u5 c% I! |# \ONBOOT=yes: t) L6 J6 z2 t- t
TYPE=Bridge
+ X( f1 q4 L* p+ l! J6 W" D+ i3 t' P' U" c
-------------------------------------------. s; H# O/ o- J4 t. ], y( T2 n8 ]7 E
(2)重启网络/ l1 {$ u+ R, o# O0 e
service network restart0 I$ ]4 A% `! `6 K4 Q
这样配置完 默认eth0就没有ip2 J" V8 v0 [" h5 j# _* z9 X
$ H/ }2 R+ R- R) y- G7 f9 `3 Y3 ~2 r3 g0 g- u0 K( i
然后手动修改
: D( |1 ]% r$ G0 K' K5 A/etc/xen/scripts/network-bridge& \+ ~$ _5 t+ D
(1)关闭xen网络脚本
6 A8 X+ W! r4 U# P) _2 {* Z2 g) m% q( D! u( Z2 c; P3 m
/etc/xen/scripts/network-bridge stop7 _1 h3 k0 h7 n6 |# k H" j
7 U; c B S2 ^ i9 q(2)修改xen配置文件4 ^1 F2 V9 G L- X0 ?# a' v$ z
. F8 N$ l- i% d3 C$ M6 vvi /etc/xen/xend-config
( c- T5 X, T3 u" K+ n: D# \6 }) E: ^$ [% q0 g: `4 C- D
注释下面两行
9 Z3 u9 t3 C# X4 R$ G: b9 Y( x( a, Z# F
#network-script network-bridge)
. ~' T# G! f/ n1 r6 t
8 w3 ~( _7 ]+ F' }$ x#(vif-script vif-bridge)
- S( c; R* x" ~
8 Z; i3 Y( J3 zwKiom1Ui7KSBCKL6AALsTEsaYbQ455.jpg7 d K: l$ y6 k- B4 S
4 x) v! L& x5 O0 Y0 b P
(3)重启xend6 j3 m- j. A# J0 Y9 ]. O/ U" V
service xend restart9 R, X' O% ]! O" }: Q& g
------到目前为止网桥已经OK接下来就是将虚拟网卡配置对应到网络# E! \6 q4 y4 ]4 m( E! A
1 D M' }9 b0 u6 {" d& i5 J" L! c0 N( x7 i, f" ?
回到xl list
0 t# w/ B: _& Z. h7 lbrctl show$ x' W8 Z6 k; ?
然后我们使用brctl来管理虚拟机到网络
1 n& N1 B0 {! j. j9 e0 Qbrctl delif virbr0 vif1.0 (将vif1.0从nat×××)" H8 s/ |" \- ]9 K# {5 M1 V
brctl addif xenbr0 vif1.0 (将vif1.0配置到桥接网络)) B! k) U/ g% ^$ f) Q" V6 [/ i/ [
/ _' @. J0 z5 Y, y' d4 u
2 A' K$ t1 G# g* ?( h2 R- F4 I接下来就进虚拟机里面 重现配置下网络
2 z- ]2 a4 X1 c0 D8 difconfig eth0 192.168.31.154 netmask 255.255.255.0! r- C6 ~8 B! ^4 V. v- G( r, s# u
ping 192.168.31.1! P1 f7 }$ R) R; B% f: v
ping 192.168.31.200$ N2 H- c! J7 ~ i6 l
arp -a
5 C' z8 r1 Q8 P6 I[root@localhost ~]# arp -a
2 i) O4 N% o3 TXiaoQiang (192.168.31.1) at 8c:be:be:28:ba:85 [ether] on eth02 ^: p; V Y, v4 I8 C3 F
android-3cc237f4872e1d13 (192.168.31.200) at ec:89:f5:b4:8e:0e [ether] on eth0
4 Z' L1 x* O. o1 }5 a? (192.168.31.100) at <incomplete> on eth0# c; v# v( u4 j4 b% s2 A$ s) _! k
? (192.168.31.109) at 8c:89:a5:9b:47:5a [ether] on eth0
0 E3 O+ ]$ c. o6 z
' D3 j( K8 f: u* jwKioL1Ui7emSL6taAAMXgp9dJ38904.jpg4 u: L, p5 z0 F1 Q8 |0 D
' y* c' h- O3 b# C
=======================OK 桥接网络搞定=====================
" [4 u+ s. G* h- e) G, n- q( \+ O/ S/ G/ G) h/ K3 e
以后我们安装虚拟机到时候只需要在
: E# G5 y5 r/ `- x' f" i+ l, J! ?3 K2 i( w5 P& S5 \+ V- r
virt-install --network bridge=xenbr0的参数就可以(更多参数 请自己查看)- V/ z+ m# J! s/ @ v
4 k+ g& Q! i' I=======================图形化界面===========================
+ w j" J2 k# k# J) o, t9 V. j4 Y0 R1 c+ `0 _7 Z. |
图形化界面工具我们使用virt-manager,以及libvirt8 L& C5 R0 U4 p9 r p! w
5 p p6 }& H& r: Hyum install virt-manager libvirt
( L; B$ `0 s8 Q9 r
) k" o, y: t4 k9 g. p# JPackage virt-manager-0.9.0-28.el6.x86_64 already installed and latest version
6 R' a- X$ w% l- Q8 ?Package libvirt-1.2.10-3.el6.x86_64 already installed and latest version
' x3 f9 ~! }+ E c8 X( s# P8 Q0 jNothing to do
. s& ~/ N& z6 X: ^3 a/ p' o' k5 L5 w! d* ~
" q+ h6 {$ D5 K- @- a! {- Y
一共会安装下面这些依赖包
3 T$ j; o8 |. ^& r) O$ T# rpm -qa|grep -e libvirt -e virt-manager: R# y4 \% I) s+ ?& ?
libvirt-python-1.2.10-2.el6.x86_644 w% `1 f- d, ~$ |, S
libvirt-daemon-1.2.10-3.el6.x86_645 U1 B$ @' W$ L7 X
libvirt-daemon-driver-qemu-1.2.10-3.el6.x86_64 ~2 ^; u a' Q! w6 }. Y
libvirt-daemon-driver-nodedev-1.2.10-3.el6.x86_64* ^( O& j0 k5 M- ^$ B. W' H
libvirt-1.2.10-3.el6.x86_64! `; P$ {, [. E
libvirt-daemon-driver-libxl-1.2.10-3.el6.x86_64
6 ]; k5 Y2 E x# x( a' u( z1 _libvirt-daemon-driver-nwfilter-1.2.10-3.el6.x86_64
" d7 P$ j' H& @libvirt-daemon-driver-interface-1.2.10-3.el6.x86_647 S$ o& p/ _. H+ }3 V% v
libvirt-daemon-driver-lxc-1.2.10-3.el6.x86_64
1 ^- j# h! J9 w) d: r0 W ^ e; qlibvirt-daemon-driver-storage-1.2.10-3.el6.x86_649 D! _. E" [/ K. M, A$ X |0 h3 E
virt-manager-0.9.0-28.el6.x86_64
2 J- V# O3 B# B# W6 D ilibvirt-daemon-driver-secret-1.2.10-3.el6.x86_64. N0 j( |* W! ]. }
libvirt-daemon-config-network-1.2.10-3.el6.x86_64
' D0 c0 @5 x9 jlibvirt-daemon-driver-xen-1.2.10-3.el6.x86_64
" J: w5 o. p, Llibvirt-daemon-driver-network-1.2.10-3.el6.x86_64/ B* {' a( m9 p: W/ ?" Q$ j
libvirt-client-1.2.10-3.el6.x86_64
( e& ^% a0 T$ ~/ i2 o1 Wlibvirt-daemon-config-nwfilter-1.2.10-3.el6.x86_64
% f/ o: F7 F2 V X2 K! R0 a
' Z- H1 a* S9 R/ X
) G3 S# Q& m) K. k. s$ @" ]( J/ S% \
使用virt-manager
& G- }6 ^7 C1 d7 [) `6 g1 |5 J. [2 ]9 t& O' @& S4 [: O
打开》应用程序》系统工具》虚拟机管理器》点击localhost" X; x9 E' v1 y9 F3 u" r( S% R
1 z/ z K6 U5 b/ H
如果提示错误,错误忘记时什么了。一般是连接不了本地localhost
$ X( U7 G8 ]' d, l$ s' h/ T1 i3 p' N7 D
因为解析不了localhost,所以我们到/etc/hosts下添加一项8 c8 P. {$ P$ |" ] Y8 ^
. [, k0 N" L- \6 l5 h; }
vi /etc/hosts
2 o2 M- m) u: O
0 Q% y' m/ X/ k4 `* j! Y127.0.0.1 localhost" |# Q! u2 X- W2 V( T5 X6 C
, p8 W$ s' o* v2 p/ b, \如果还是连接不上,请查看主机名
6 Z4 ~2 y% E/ V0 [- o( E5 w8 q5 Q/ A \9 |; q( F; a3 O
修改主机名为
{5 F2 V! S# r7 `! x1 b5 e; ^
- B, v8 d$ a) D% A+ g9 U% D2 Hhostname localhost( _* a+ u+ U4 L- ]2 F9 C
: W- c2 J6 F' Z$ r( q然后再打开virt-manager(虚拟机管理器)界面就如下,操作和vmware一样了
1 d( l8 M7 q: p
1 Z; u) Y2 q( f4 j \) E% f3 t |
|