|
|
虚拟机的组成部分' z% n- b" K* \! ?) L
1.虚拟机配置文件- Q3 V F0 S; r. n) R% z4 p
[root@localhost ~]# ls /etc/xen/$ v7 t4 q) W% C+ M O
auto scripts xend-pci-quirks.sxp xmexample.hvm2 u5 I) p8 }% s( Q* Q
qemu-ifup xend-config.sxp xmexample1 xmexample.vti0 f1 U8 I1 L3 Z3 s7 ]: l
rhel5u8-1 xend-pci-permissive.sxp xmexample2
0 \4 W6 @5 r' f- |: k6 _4 P1 R' s2.储存虚拟机的介质
2 D0 G; j1 R! M[root@localhost ~]# ls /var/lib/xen/p_w_picpaths/) v V' ?& L6 m6 o
rhel5u8-1.img
, I3 V0 V* p. C: W. T, D2 E
! `( K) C7 v: p$ V5 F$ q#虚拟机的基本管理命令:查看、启动、关闭
+ U& i0 x3 S0 V使用xm查看虚拟机
5 g) Z) l* v9 f/ l4 O[root@localhost ~]# xm list
9 _; A& i+ I4 o2 r5 CName ID Mem(MiB) VCPUs State Time(s)4 f( Y1 N7 w8 a, w
Domain-0 0 3490 2 r----- 533.8
1 | h4 V4 G" [) T/ }
( K+ J% h# M- i& x9 J u% W! _Domain-0 系统必须安装创建、管理、删除虚拟域的工具。它们包括 xm 和 xend 程序和服务。: g, ?7 G, j0 m0 l& V5 Z$ f
尽量减少在 Domain-0 中运行程序和服务,Domain-0 中 CPU 的使用率直接影响其他虚拟域 CPU 资源的分配。
2 E' J \, N* ]1 w: G4 c2 R* d) y" U9 y; G; m, v" A. O+ u
#使用xm启动虚拟机
% e% }! J( D+ I% g8 p[root@localhost ~]# xm create rhel5u8-1, C4 ^) t% O! P& P$ ^& m \4 c
Using config file "/etc/xen/rhel5u8-1".% V- U. d! ?0 B. h D& p" d
Started domain rhel5u8-1" f$ ?; c6 _- J7 b3 b
3 I$ ?0 Z7 V3 b% X& Z- @& a6 p[root@localhost ~]# xm list
0 a- u9 F0 C7 h7 I# nName ID Mem(MiB) VCPUs State Time(s)" i: F( n1 H4 J
Domain-0 0 3490 2 r----- 535.2
2 b( J; [0 D/ H! l3 l. m ~rhel5u8-1 2 520 1 r----- 3.78 |! Y# r! [5 E. d, {4 Z
6 X$ a8 S3 h- g/ }$ J E! Z#使用xm关闭虚拟机
8 U |9 ^4 h. O# d[root@localhost ~]# xm shutdown 2& D+ v* `$ ^; u9 O* R: W
6 q4 i, \! M5 ?4 d0 x# f
#使用virsh查看虚拟机. a* j7 {3 h. z) H' X
[root@localhost ~]# virsh list+ @) J* J; M" X: l
Id Name State9 q% A6 U3 U% ]
----------------------------------0 a! w, ~3 M3 B
0 Domain-0 running
9 }/ t2 e8 V! Q% a8 ~5 s. ]+ b0 w
' o a. v, c' ^#使用virsh启动虚拟机
5 H4 F: w) v& a- }9 d[root@localhost ~]# virsh start rhel5u8-1
; z3 `- ^* z$ \% K A; n6 BDomain rhel5u8-1 started/ o+ S8 l X- Y) s) k
, ]( j7 h5 f2 T+ Y* y[root@localhost ~]# virsh list
/ R& m. I" W0 X Id Name State' K6 C5 ]% ]' M* ?+ B. j
----------------------------------
1 o* k9 ]6 t1 j0 Y 0 Domain-0 running7 P5 Q2 |1 R+ M2 H
3 rhel5u8-1 running
' C2 @& G4 N1 A4 B1 E% w
4 m. [9 ~1 Y& d, I9 p+ z#使用virsh关闭虚拟机
G; S0 @, H4 W5 H7 U[root@localhost ~]# virsh shutdown rhel5u8-1
$ Z5 D3 U* f* `5 EDomain rhel5u8-1 is being shutdown
9 ^3 b8 m2 B3 Y
9 V8 W; o8 { k9 c#制作客户机主要磁盘0 S4 Z+ E# I* I) X' Z |* T
mkdir -p /data/vm1 i2 a, v7 k1 [9 i) r1 J( K
dd if=/dev/zero of=/data/vm/CentOS_001.img bs=2k seek=4096k count=1
' n/ T$ P, x- Q3 [) o' h, z1.#制作客户机交换磁盘
1 O0 l9 S2 h+ c3 O. q4 X( k7 R# M#dd if=/dev/zero of=/data/vm/swap.img bs=2k seek=512k count=16 ]9 ~( ?( v) [7 S- J
9 U) ^7 ?$ b$ b从本机切换到虚拟机的命令行(FristXen的地方换成你的虚拟机名字)! M. c& p r! b
2 V& N% X$ }7 c( M
[root@vps ~]# xm console FirstXen% ]+ h) n+ A; a. @) Q B
' {$ H4 r) r% H- _ Y; V# R2.在物理机里确认已经启动的所有虚拟机和状态
1 W% l9 y4 j1 c' w$ Q9 b" ~. T( E/ p% U. S" K" p" G
[root@vps ~]# xm list: X; Y. A4 a. \' j9 J2 M: @; G
! s+ N `: B2 Z3 |3.启动,关闭,重启虚拟机(FristXen的地方换成你的虚拟机名字)3 H5 u U! _, P& ?8 G9 n( v0 g
# ]6 c4 p2 K( X7 \: j- E
[root@vps ~]# xm create/shutdown/reboot FirstXen8 m! O- Z* A7 l( c: ~
5 T- _0 q' ]6 N. d. P2 _" S
更多操作请执行xm help或者man xm
, U/ b. @ k7 Z3 k0 n9 o% M3 v" h4.用virt-clone复制一个虚拟机,被复制的对象首先要处于关闭状态。5 F: P9 Z! e* s' m
我从FirstXen复制一个新的虚拟机命名为SqlNode1,img文件保存为/vps-hdc/vps1/SqlNode1.img: `4 p0 a h% k- w7 `
* c6 e" m$ o$ p
1 u4 W Z$ L$ k- w# t2 E/ B
[root@vps ~]# xm shutdown FirstXen
- L: K% i2 i/ ^- {! V[root@vps ~]# virt-clone --original FirstXen --name SqlNode1 --file /vps-hdc/vps1/SqlNode1.img8 M* T2 o9 T0 L9 U5 Y3 u' E- W
Cloning/vps-hdc/vps1/FirstXen.img | 15 GB 02:56
& d. E! A* V" V& o6 Y6 uClone'SqlNode1'created successfully.! ]% W3 ?3 N W* |
) O: H6 }: }' D) r
xm list #查看各个域状态
& y. F* H% f. H0 \ r3 wxm shutdown web_001 #关闭web_001这个虚拟机
2 m1 }( K0 g3 T! q9 V& @ Zctrl + ] 键切换到物理机
1 T% ^4 L) P& s. n/ }" q3 |XM命令:# _ _6 V* @6 s& |9 b/ p! g
xm create vm1 #其中vm1 为虚拟机的配置文件,位于/etc/xen/vm/vm1
- E7 Q% Y) h5 F9 N" H6 n. p7 f xm create -c vm1 #如果需要启动控制台,则可以运行命令
5 ?. r. F, g$ a& N+ | xm list #可以列出所有的虚拟机
0 B: v+ C0 v# x- r. F' y xm console <domid> #可以显示某虚拟机的控制台9 K+ F0 T$ Y# `. B# V7 `) u
xm reboot|shutdown <domid> #可以重起和关闭id 为domid 的虚拟机
% N, P0 J8 t% e1 E xm destroy <domid> #可以销毁id 为domid 的虚拟机$ }5 V& E8 E) n$ o* N
xm console fc5 #从终端或控制台登录正在运行的虚拟操作系统; `6 N6 k; Y e
xm save <DomId> <File> # 存储正在运行的虚拟操作系统的状态
# B0 |; u- U# _3 w W' F xm restore <File> # 唤醒虚拟操作系统: X' N: v, Q) w' j/ t! T
xm pause <DomId> #停止正在运行的虚拟操作系统
! Q7 D# ?" w/ U+ j' s3 H" r' w: _1 u xm unpause <DomId> #激活停止的虚拟操作系统
8 j' F$ P2 s" f) y. [' T xm mem-set <DomId> <Mem> #调整虚拟平台/虚拟操作系统的占用内存1 g3 R$ Z* [( y: s' m
xm shutdown 虚拟操作系统的Name或DomID #关闭被虚拟的系统
g# l! j4 {6 x2 u" \" } xm destroy <DomId> #立即停止虚拟的系统 (重要);/ E% H* D3 \3 B6 W, h2 o
xm vcpu-set <DomId> <VCPUs> #调整虚拟平台及虚拟操作系统的虚拟CPU个数
' H, o" f% z$ n4 n8 w: r: O" M xm top 或 xentop # 查看虚拟系统运行的状态
7 u7 Q; p8 B, Y xm save VM1 VM1.chk # stop the domain and save its current state into a file called VM1.chk0 x1 A2 m) ^' Y" F
xm restore VM1.chk #resume execution of this domain# ~/ q6 Y! L: W; x/ l9 E) w
#如果觉得手动安装虚拟机比较麻烦,可以手动到 http://stacklet.com/去下载已经装好的镜像文件
$ O! A0 n$ @: A5 t1 @" T6 r#=============================== XEN虚拟机复制 ============
+ x- l# o* e: ~+ t" t, I#关闭运行中的虚拟机9 _2 V# A; y" D3 r$ G! G) C# h3 g( p
xm shutdown web_0010 _7 D% k* k* s# ~
#复制虚拟机的镜像文件和配置文件- _6 F4 |# y3 Y0 X7 g; _/ O/ w
cp /data/vm/web_001.img /data/vm/web_002.img
; Q' c) S6 N7 g Ocp /etc/xen/web_001 /etc/xen/web_0024 e- t6 a V @+ T3 {: J* J0 b0 n
#修改新复制虚拟机的配置文件" o( y/ ]4 a1 t H: ~. Z
vi /etc/xen/web_002( Q/ {0 ?0 ?5 b, n* Y
一般的情况下,xend服务器启动了,xenweb_0s也会自动启动。
9 z3 d& M+ c' B7 a! W# /etc/init.d/xend start 启动xend+ M0 x! O+ m! O8 _1 p" r5 T0 D
# /etc/init.d/xend stop 停止xend
# o4 ^6 V2 b% ~- S h# /etc/init.d/xend restart 重启xend% h$ V+ p$ I5 f4 ~1 X
# /etc/init.d/xend status 查看xend状态
2 C# z3 b6 Q% j% Q' `" l( q4 l- e# /etc/init.d/xendomains start 启动xenweb_0s5 K; i0 c% M, P% y3 h0 m( a7 \
# /etc/init.d/xendomains stop 停止xenweb_0s
3 e) ?. _# ^8 Y% Z2 y# /etc/init.d/xendomains restart 重启xenweb_0s- C# |7 I4 o6 ~" L- x, `7 x7 D# o) e# \
# /etc/init.d/xendomains status 查看xenweb_0s状态+ X' P6 l1 W2 y h
XEN控制虚拟主机的常用命令:6 h" V% w& t* H! |6 j1 L3 x
虚拟主机列表/ I0 v5 `' Y7 K" p& W
# xm list' T8 g# Z, p) r
关闭虚拟主机,web_001为虚拟主机名,也可用id代替
7 P8 p) t, C- Y8 j) a( {+ o# xm shutdown web_001
5 C6 M* e1 ^- J [+ g d启动一个虚拟主机,web_001为虚拟主机名
& b$ E: K& v4 s$ d% e# xm create web_001( X. t1 _9 A3 B# ^* n' x$ P
通过-c 参数调用 console 启动并跟踪虚拟主机状态* w: ~/ B" e. D n2 U6 N' m, W
# xm create web_001 -c
5 n+ [6 @9 z+ J显示虚拟机的控制台: g0 V; _0 |6 H; H- C% h
# xm console web_001
4 p7 q7 v6 ~4 }$ N重起虚拟机% G; ]7 b( i/ W7 ], ^ _, S
# xm reboot web_001# y1 m# l8 [ P- o2 A
销毁并立即停止虚拟机,类似关掉电源一样关机
7 |# |4 u: G( A/ T' d H" R1 y8 ~# xm destroy web_001
8 x2 X4 X. W* L存储正在运行的虚拟作系统的状态
* m6 }1 X& ]9 V0 x! J* S: v" O# xm save web_001 <File>
/ E* B, y; U M# u1 ^; K) L$ C/ ]3 ~唤醒虚拟操作系统9 w: c7 A- `% q1 P1 Z3 p* i4 K2 `
# xm restore <File>
" Z8 }- n. D* U* ^' L/ ^6 I暂停正在运行的虚拟操作系统7 `7 \0 L t/ I I1 b
# xm pause web_001
: F- e2 b' L- S" @7 c7 E激活停止的虚拟操作系统- Y) }9 c, e0 |$ a3 `" S
# xm unpause web_001
) w4 C7 W: L& c) M* \7 I( }2 i调整虚拟平台/虚拟操作系统的占用内存- g9 {. J& @2 Y
# xm mem-set web_001 128+ u/ o. D0 O" h1 ^5 U7 F, n2 j
调整虚拟平台及虚拟操作系统的虚拟CPU个数! v7 p. W, \4 Y7 E0 B' J; F5 {- |5 U
# xm vcpu-set web_001 2& x; }0 W; b) x) ~1 _
查看虚拟系统运行的状态' q" i) X T. K) y. a
# xm top0 q$ s$ s. u2 g
或' s/ B, {2 \- ?* E
# xentop
9 w. ?" y) q3 ~' ^. v% a$ N使用virt-install 创建Xen虚拟机
/ J) R( t- D( b2 }. N使用virt-install 创建Xen虚拟机 [root@gmnode14 vm01-CentOS-5.5]# virt-install -n vm01-CentOS-5.5 -r 1024 --vcpus=4 -f vm01-CentOS-5.5.img -s 20 --nographic -l nfs:10.10.113.14:/opt/CentOS/mirrors/5.5
+ p3 V2 k$ |, j8 \-------------------------% @0 j p3 Z+ L$ g
virt-install 参数解析: w3 |8 }1 V5 s
-n vm01-CentOS-5.5 # 虚拟机的名称,这里我们的名称是 vm01-CentOS-5.5# A! W) y+ ]& ]5 \$ v8 o$ G
-r 1024 # 虚拟机的最大内存,单位 MB 。这里我们的内存是 1G6 E- j7 e0 i; K' L+ k Y
--vcpus=4 # 虚拟机的 CPU 数量,这里我们的数量是 2 个3 f$ o- H$ u2 F9 ?; A$ K- d
-f vm01-CentOS-5.5.img # 虚拟机虚拟硬盘的名称,我们这里用 vm01-CentOS-5.5.img0 }- d# u# j! u1 B; O
--nographic # 不安装图形界面。4 Q8 b/ Q: r' ]9 I9 A3 B, G
-l nfs:10.10.113.14:/opt/CentOS/mirrors/5.5 # 系统的镜像路径。 Xen 只支持 FTP/HTTP/NFS$ A% M* l4 S% S0 D) v( \, M5 [
-------------------------
( y4 m; ~. z. o* ?
4 o. J1 W; w8 C5 S5 l创建完毕,在当前目录下,生成镜像文件 vm01-CentOS-5.5.img; d8 e( ?$ |, {, Y* c) J
) _# N$ J$ m; g0 @9 _1 S
在 /etc/xen 目录下,生成虚拟机配置文件 vm01-CentOS-5.5;0 z! a+ u& I; @9 {4 T4 F
安装xen/ |$ F0 {) V* S j; W
Yum install xen*% \$ K; z0 a8 G; A1 H2 q# ~' `
Xm list 查看xen% `: v; Y# _* I5 x8 ?/ p. i
安装httpd服务 yum install httpd1 B" O7 m: Z9 w. }0 d4 U: X
挂载光盘在xen上面装系统 mount /dev/cdrom /var/www/html/iso
; U) B9 j2 O# Y3 u看看能不能访问镜像 http://ip/iso |
|