|
|
虚拟机的组成部分
! |6 F' r8 Q5 M- T* N9 G1.虚拟机配置文件
- y1 v! B+ b4 e' R2 k[root@localhost ~]# ls /etc/xen/
' V$ K. W& t8 u, H0 K6 x' j7 bauto scripts xend-pci-quirks.sxp xmexample.hvm
5 t# Q% s2 A5 g0 W$ s; b* r5 Cqemu-ifup xend-config.sxp xmexample1 xmexample.vti, ]0 _. h \5 E
rhel5u8-1 xend-pci-permissive.sxp xmexample2, a; v* N* g2 Q
2.储存虚拟机的介质$ t3 H2 R* ~, w
[root@localhost ~]# ls /var/lib/xen/p_w_picpaths/" P. ]" S& e: Z$ T4 a3 ]) c$ `
rhel5u8-1.img4 ?4 N" k5 I& t) U: m: M
$ F! ?6 h% S# `4 ?3 L7 q, e#虚拟机的基本管理命令:查看、启动、关闭
! |/ C, V& U, Z* }3 ^2 t使用xm查看虚拟机 J% V) d5 L# L- x: Z1 Y- J x Y
[root@localhost ~]# xm list
# O! u3 t4 d+ \9 n+ K5 s: R) bName ID Mem(MiB) VCPUs State Time(s)9 G. A: { v; d5 m+ e4 U: n" d
Domain-0 0 3490 2 r----- 533.8$ k3 R) [$ @( {; |! T8 V }
- u( e4 S; B4 _$ w7 M2 p5 C
Domain-0 系统必须安装创建、管理、删除虚拟域的工具。它们包括 xm 和 xend 程序和服务。/ R4 U* o1 E6 u* p
尽量减少在 Domain-0 中运行程序和服务,Domain-0 中 CPU 的使用率直接影响其他虚拟域 CPU 资源的分配。
8 \' s$ n% q7 y( @. p L9 G6 ^1 e0 F; N+ x* g0 }6 _
#使用xm启动虚拟机
$ t6 ]; |# Y9 z! A) T[root@localhost ~]# xm create rhel5u8-1: g" l7 t. O# q$ T
Using config file "/etc/xen/rhel5u8-1".$ G+ m% D( M: T, W
Started domain rhel5u8-1
! d% e- Q2 l! c5 S( ~# e8 T$ q$ m& A5 }. `7 }
[root@localhost ~]# xm list
6 W* y# \, _7 H4 a8 fName ID Mem(MiB) VCPUs State Time(s)
2 c( G1 N8 ~: D$ j; \$ ^Domain-0 0 3490 2 r----- 535.2+ [/ H5 t g& ~
rhel5u8-1 2 520 1 r----- 3.77 X5 C; F$ @) h! h7 R
: W. T# u0 ]$ S
#使用xm关闭虚拟机
# C& j9 S8 Z( U: J7 N[root@localhost ~]# xm shutdown 2# ~/ U# g+ M+ c
% g9 _1 G& a! E9 e
#使用virsh查看虚拟机
& N* M$ y: b- a; |! P[root@localhost ~]# virsh list& C# U9 x. ^; q6 d+ q+ z* F! ^
Id Name State7 p0 ?. p4 Z% ]0 f. Z% O4 K
----------------------------------
; A+ \9 U% y( {& }: F, L" e 0 Domain-0 running
! ]! ~! c6 q- c0 | E% Q/ c) A W/ u a6 B9 T) K" F7 f& {7 y
#使用virsh启动虚拟机* \. s" Z# W; t; I4 t
[root@localhost ~]# virsh start rhel5u8-1% a0 J9 v9 S8 b" U1 n+ z) [9 J3 i
Domain rhel5u8-1 started% `9 z1 x. q% T$ M5 o8 ^
8 i# h& b- D& G
[root@localhost ~]# virsh list
$ I/ T( f0 P! g9 q Id Name State
. o0 N- y- O. b- ^) {----------------------------------
3 y H* S3 U) V. W 0 Domain-0 running8 U$ |) N6 `3 U9 g& O; E0 H
3 rhel5u8-1 running
2 ~; e( t1 ]9 o" Z# @8 y7 n
) V0 ^3 H: u. ^7 a7 q! X' a#使用virsh关闭虚拟机
! M/ _- s* D- a/ l[root@localhost ~]# virsh shutdown rhel5u8-1' r3 s! ~$ H9 C7 [
Domain rhel5u8-1 is being shutdown
& \+ d: Z4 W E9 l# K) S' a* X* y' m8 V' F' |; l5 ~
#制作客户机主要磁盘) C7 z1 d) |& M
mkdir -p /data/vm
8 J2 q2 J$ D2 R- ~, H$ |dd if=/dev/zero of=/data/vm/CentOS_001.img bs=2k seek=4096k count=1
x0 [, e% P& R# l8 q4 l$ u1.#制作客户机交换磁盘
|% x8 D5 @' R' J+ ]4 u! Q' \1 d2 \3 ]#dd if=/dev/zero of=/data/vm/swap.img bs=2k seek=512k count=1
5 [0 G, B9 g( c$ Z% K9 J! h8 d1 L
从本机切换到虚拟机的命令行(FristXen的地方换成你的虚拟机名字)8 J2 A9 s3 c" U; Z
- T% T/ }% G' U1 l% `
[root@vps ~]# xm console FirstXen
8 W. f4 ^. {$ P! ]' ^3 }3 c- B4 | Q2 i/ u% q3 f6 Z
2.在物理机里确认已经启动的所有虚拟机和状态
+ z' R# }; i% N
' B% \( {$ s G[root@vps ~]# xm list
9 l+ T1 c& H8 R! X7 J& Y& t3 E( S9 H+ q& q/ Z+ \2 v0 s1 K
3.启动,关闭,重启虚拟机(FristXen的地方换成你的虚拟机名字). N/ K5 ]" ]- I; Y0 p
2 q3 S* U* p* m, o[root@vps ~]# xm create/shutdown/reboot FirstXen. {2 L+ Z( h5 Q6 t3 f+ e
E+ M# z* Y- S. B6 }+ g( _
更多操作请执行xm help或者man xm4 p, E' c3 w O
4.用virt-clone复制一个虚拟机,被复制的对象首先要处于关闭状态。
- Z, w" O5 i7 z$ {我从FirstXen复制一个新的虚拟机命名为SqlNode1,img文件保存为/vps-hdc/vps1/SqlNode1.img
6 L% [' C4 W- G0 ^7 x3 d7 z* g9 ]1 I6 |) U, r) ^
5 F3 O; j6 b2 t
[root@vps ~]# xm shutdown FirstXen% O) w/ n. f1 G& i2 [
[root@vps ~]# virt-clone --original FirstXen --name SqlNode1 --file /vps-hdc/vps1/SqlNode1.img% N5 c- l. }- I# z& d' v- @! {5 G
Cloning/vps-hdc/vps1/FirstXen.img | 15 GB 02:56+ l0 L( Q5 ?* W- W! M7 T: R
Clone'SqlNode1'created successfully." A5 \* O! J, a/ o% H% n% H
$ Z( E, k8 f: X9 l& O
xm list #查看各个域状态
# B7 r5 v" s3 |7 d& I+ t4 x' p0 Dxm shutdown web_001 #关闭web_001这个虚拟机8 V# i# N) [$ L9 `3 x
ctrl + ] 键切换到物理机
+ _$ t# e2 i- F8 _9 O* v4 E8 \" _XM命令:
& O: b6 e0 }' u5 c xm create vm1 #其中vm1 为虚拟机的配置文件,位于/etc/xen/vm/vm1' g5 D0 \- v% l0 s
xm create -c vm1 #如果需要启动控制台,则可以运行命令
) J; Q. C7 ^7 S: [; x: T6 B0 ` xm list #可以列出所有的虚拟机
0 g; O8 J, W9 R8 X3 B xm console <domid> #可以显示某虚拟机的控制台
* |! j+ g- A0 `! R xm reboot|shutdown <domid> #可以重起和关闭id 为domid 的虚拟机
2 Y5 l0 L' ?3 ~% u- G, O" H/ t xm destroy <domid> #可以销毁id 为domid 的虚拟机7 c4 D8 K& C6 b) I1 Z4 \9 ~! B
xm console fc5 #从终端或控制台登录正在运行的虚拟操作系统2 K4 ]" `. T' \: K& j# j( H
xm save <DomId> <File> # 存储正在运行的虚拟操作系统的状态9 c( |0 ~) ]* g. d) f
xm restore <File> # 唤醒虚拟操作系统
, ~+ g$ Z0 M9 k5 y1 s1 j1 H xm pause <DomId> #停止正在运行的虚拟操作系统$ `3 s3 r( f0 Q/ Z7 I) V
xm unpause <DomId> #激活停止的虚拟操作系统
$ Y# U: \4 L2 C. h7 W xm mem-set <DomId> <Mem> #调整虚拟平台/虚拟操作系统的占用内存3 Z$ L# W' _* c
xm shutdown 虚拟操作系统的Name或DomID #关闭被虚拟的系统
- ^3 M/ S3 @; @6 Q5 }& r8 s8 T xm destroy <DomId> #立即停止虚拟的系统 (重要);/ ?; w5 X& d; B5 p# w' M, G
xm vcpu-set <DomId> <VCPUs> #调整虚拟平台及虚拟操作系统的虚拟CPU个数
7 p/ k" y7 o! y4 ]# L& a xm top 或 xentop # 查看虚拟系统运行的状态
1 T+ Q ^& f# x) y xm save VM1 VM1.chk # stop the domain and save its current state into a file called VM1.chk9 S( {/ B4 H2 W, D2 |. k) Z% p
xm restore VM1.chk #resume execution of this domain6 z4 @, q& G/ w4 A! o
#如果觉得手动安装虚拟机比较麻烦,可以手动到 http://stacklet.com/去下载已经装好的镜像文件7 e: L0 C: n! v, t1 ^# L% c* d
#=============================== XEN虚拟机复制 ============
8 h8 L; z* m6 a r! p" ~& n& X C, S#关闭运行中的虚拟机
) r. y5 u3 Q9 C1 e4 Gxm shutdown web_001) K- `- G, \4 s; H5 M* \! D9 k
#复制虚拟机的镜像文件和配置文件
' M& Q# P V* W* z4 J" \cp /data/vm/web_001.img /data/vm/web_002.img3 Z# v3 S' t6 w; c3 G9 Z' V5 Q
cp /etc/xen/web_001 /etc/xen/web_002
; {" _) m" R6 @1 v3 s1 V) g#修改新复制虚拟机的配置文件( ^5 x/ y5 J' V- V: X" ~
vi /etc/xen/web_002
; ~2 B- v# e/ i. O一般的情况下,xend服务器启动了,xenweb_0s也会自动启动。6 D; s5 Q* d( A4 U6 Q1 H6 a
# /etc/init.d/xend start 启动xend: a7 ^& W8 y9 _( b8 u1 e
# /etc/init.d/xend stop 停止xend
" V' }% `9 s' `+ {' s3 g# /etc/init.d/xend restart 重启xend' W( m! T- q9 u( v( S
# /etc/init.d/xend status 查看xend状态
6 d' G( ?0 n5 S8 ?' Y) B* W# /etc/init.d/xendomains start 启动xenweb_0s f; `& u. T% f% n- X2 W
# /etc/init.d/xendomains stop 停止xenweb_0s$ ~' ^7 ?6 d; D3 i
# /etc/init.d/xendomains restart 重启xenweb_0s1 v0 {1 e2 J) k* F" p
# /etc/init.d/xendomains status 查看xenweb_0s状态
" L ` Y+ u$ e7 @& T' K# `8 dXEN控制虚拟主机的常用命令:9 u+ V1 W0 y: I _' ?' {
虚拟主机列表! j# K- q8 l& Z" u# @
# xm list
/ N% f9 L$ f! I! B+ ?" |关闭虚拟主机,web_001为虚拟主机名,也可用id代替- q" g+ T6 m" C8 A# O* Z0 r* [
# xm shutdown web_001! y$ Y: t5 [) o; x) E' F3 @
启动一个虚拟主机,web_001为虚拟主机名5 [, i% R, b0 I, [
# xm create web_001
8 r% Y, `( u0 ^9 g0 a通过-c 参数调用 console 启动并跟踪虚拟主机状态
# A) M+ d; }, O2 x$ l7 V% c+ `" P1 Y# xm create web_001 -c. ^* D+ M( t: k" B, q+ [
显示虚拟机的控制台) W# z6 ~ j. ~# [2 z$ \
# xm console web_001
' R; x4 r2 r" x, h重起虚拟机$ c* s* d3 j! i- o" A2 w
# xm reboot web_0012 v/ Y, p7 S# @) ~
销毁并立即停止虚拟机,类似关掉电源一样关机) e# I1 a+ W+ C- i- K& U8 B$ ^# S
# xm destroy web_0018 O9 Q* h( L. f, F- U
存储正在运行的虚拟作系统的状态
" j7 G c1 v* j$ d# xm save web_001 <File>
+ @1 b$ u# O. r' K |, O; w唤醒虚拟操作系统
3 b) K( j& t4 [2 r# xm restore <File>7 r7 P3 }3 h2 L8 j$ E% Y9 b
暂停正在运行的虚拟操作系统
; A& Z8 y9 ], H# xm pause web_001( B6 w! ]* M1 u9 B1 c% a, W( _
激活停止的虚拟操作系统
& s3 D, [3 {* w# xm unpause web_001
8 \, i: o0 N& t: z- W" f# |6 T; m调整虚拟平台/虚拟操作系统的占用内存: n4 T3 q5 j- m2 ] u
# xm mem-set web_001 128
. W3 U) W! B: x, o调整虚拟平台及虚拟操作系统的虚拟CPU个数( j. E* Q/ j3 u& u2 }% A
# xm vcpu-set web_001 2
0 _8 f, D+ a: a& }4 k+ C查看虚拟系统运行的状态
% [0 W1 R* q" j- R( X' ^# xm top1 V( k% f9 l% B3 `0 b, p# i
或
4 v' W. {+ l; U! G6 }: g# xentop
/ c8 s& d$ X7 H' s% k* K使用virt-install 创建Xen虚拟机& |. o! g2 d; I, U
使用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
* f( V( @6 C2 g% q2 ` [-------------------------5 E. J0 H6 S6 y5 W
virt-install 参数解析:6 I3 |, U! ~4 r- t9 v7 Q1 ]
-n vm01-CentOS-5.5 # 虚拟机的名称,这里我们的名称是 vm01-CentOS-5.5% p: J: P# }3 ~( t2 f
-r 1024 # 虚拟机的最大内存,单位 MB 。这里我们的内存是 1G
1 ]8 Q9 u% s3 |7 b--vcpus=4 # 虚拟机的 CPU 数量,这里我们的数量是 2 个1 {; G8 q8 v2 b4 ]. ~; P7 f
-f vm01-CentOS-5.5.img # 虚拟机虚拟硬盘的名称,我们这里用 vm01-CentOS-5.5.img3 o( M- n, z" Q/ J0 g& e
--nographic # 不安装图形界面。# _% A6 W2 l3 U9 E8 m( _
-l nfs:10.10.113.14:/opt/CentOS/mirrors/5.5 # 系统的镜像路径。 Xen 只支持 FTP/HTTP/NFS# T3 h- t" F6 W/ f, B3 Q
-------------------------% t5 f9 o: X, z7 f* G8 p. ^
) c* H- X0 _ F) Y8 k6 B创建完毕,在当前目录下,生成镜像文件 vm01-CentOS-5.5.img;
5 S" w+ m9 J# Q' G1 l" v- g% \3 O! @5 t* {3 i! _
在 /etc/xen 目录下,生成虚拟机配置文件 vm01-CentOS-5.5;- Y+ r. g4 M; \- ~
安装xen
5 b+ b- R5 [" t9 Y0 E. KYum install xen*# X9 ?- Q7 }) K3 c0 v8 y$ a5 i
Xm list 查看xen. Q( L1 e/ F3 l& m
安装httpd服务 yum install httpd- D9 e0 h( e6 v0 R' p/ q
挂载光盘在xen上面装系统 mount /dev/cdrom /var/www/html/iso
# P: v& n; h& {* `/ z看看能不能访问镜像 http://ip/iso |
|