找回密码
 注册
查看: 9|回复: 0

xen的基本命令

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2024-8-15 17:24:09 | 显示全部楼层 |阅读模式
虚拟机的组成部分
8 {! I/ M) x# L4 q& s1.虚拟机配置文件
% @5 L# z0 m) |& c) ^/ U4 v8 z[root@localhost ~]# ls /etc/xen/
" g! }$ k0 N" pauto               scripts                              xend-pci-quirks.sxp      xmexample.hvm
+ H9 F/ t. t" K4 |7 Pqemu-ifup      xend-config.sxp                xmexample1               xmexample.vti$ u6 q4 {* A# z) @
rhel5u8-1      xend-pci-permissive.sxp      xmexample25 b; R, E( e+ i! W: N# i
2.储存虚拟机的介质
3 P$ L. }. x8 ][root@localhost ~]# ls /var/lib/xen/p_w_picpaths/6 f/ H* l; p; U' {  i) T+ K0 G$ O- c: I
rhel5u8-1.img
% H2 D# q* _. N7 _: z" \1 B6 w' n7 T) u9 d' c# U. G
#虚拟机的基本管理命令:查看、启动、关闭5 R7 G$ @: b5 c$ ]0 L! Q8 b
使用xm查看虚拟机
0 d7 z( r9 Y4 d! A6 ]8 y" V. s$ X( H[root@localhost ~]# xm list
" Z- ]$ f+ l5 x9 UName                                      ID Mem(MiB) VCPUs State   Time(s)
5 @' ?9 c6 a: R! h" U& cDomain-0                                   0     3490     2 r-----    533.8
2 h( [  ~6 W* G- S$ }2 c
- s$ U9 d: \$ jDomain-0 系统必须安装创建、管理、删除虚拟域的工具。它们包括 xm 和 xend 程序和服务。
+ L# s0 A. E5 g2 `3 F6 D9 k0 o尽量减少在 Domain-0 中运行程序和服务,Domain-0 中 CPU 的使用率直接影响其他虚拟域 CPU 资源的分配。! A/ b; a* T9 Q0 g% x
- K! T5 @$ o8 A. g4 u+ m6 S
#使用xm启动虚拟机
& u9 c7 L( s/ x$ }& a2 M, Z[root@localhost ~]# xm create rhel5u8-1
7 ?5 l! ?6 q  R; o. ]5 m6 n  O7 aUsing config file "/etc/xen/rhel5u8-1".
( v! e; x9 h5 G6 |4 }. ^5 D# v8 OStarted domain rhel5u8-1
( a6 ~, m/ l& e" W* n0 V2 d
, Z$ k: L) ~" T" g3 `" p+ p[root@localhost ~]# xm list
" p% h+ H: i4 v, fName                                      ID Mem(MiB) VCPUs State   Time(s)
* Y9 H! a" B8 ?7 EDomain-0                                   0     3490     2 r-----    535.2% V4 x) @- X' t. A
rhel5u8-1                                  2      520     1 r-----      3.7& N$ O8 f8 N8 ^' _5 `

- T) D, V/ m2 R& Z  }, N#使用xm关闭虚拟机
- A8 @3 ^, ?6 p4 ?% B# z- m: e3 z[root@localhost ~]# xm shutdown 2  l6 k8 l+ P1 A8 Q. }% C

4 o+ p7 V, E6 K#使用virsh查看虚拟机
4 p. H4 A- j9 |8 k4 A, u[root@localhost ~]# virsh list3 T$ W1 |; B: t8 t2 J7 f/ K, j7 p* [
Id Name                 State2 E4 ]8 ?2 o, i% u, V1 U  f" [
----------------------------------8 X) p8 \8 Y1 P+ ^5 ~
  0 Domain-0             running
  Y7 t, f" H. W, T6 _' {* R3 T
$ F% n0 m/ ?8 f( ^' w4 ^0 A! K, B% g#使用virsh启动虚拟机" _  H  d7 v+ \
[root@localhost ~]# virsh start rhel5u8-1
8 `/ z3 k8 L/ `% C  D# KDomain rhel5u8-1 started# F) a& e- T7 s8 _3 u& D0 ]- p1 }2 x6 s

7 l! x! P9 V0 t9 X6 n: g5 T[root@localhost ~]# virsh list! z/ w! _, t# o$ r2 r" L! p1 F: t4 @5 w
Id Name                 State
: m, `: J/ \  G) k----------------------------------9 e% H7 o" ^. |0 n/ s7 W
  0 Domain-0             running
: p  B0 P  g$ P7 Y5 E# B% L  3 rhel5u8-1            running3 f+ X* }9 R+ \9 L5 w5 g1 _9 {

; e& I4 f4 \8 `. \& j#使用virsh关闭虚拟机
! J" H3 ?: W' r[root@localhost ~]# virsh shutdown rhel5u8-1
: F: N! w7 j7 O) f! IDomain rhel5u8-1 is being shutdown
; L% p% A7 v; R, G* e* @$ b* g) u( |7 w  k9 `
#制作客户机主要磁盘
5 h( G* o' ^/ [# a0 r2 rmkdir -p /data/vm" w+ W; F1 ~) C5 i# K$ A
dd if=/dev/zero of=/data/vm/CentOS_001.img bs=2k seek=4096k count=16 t6 }3 S# T7 p9 o4 f
1.#制作客户机交换磁盘1 p  w" K1 s: i& D, u: }/ [6 c, E
#dd if=/dev/zero of=/data/vm/swap.img bs=2k seek=512k count=19 H) r  V7 n+ Z+ e

3 w# F: ]/ m. ^4 B: {& c1 v& o5 b从本机切换到虚拟机的命令行(FristXen的地方换成你的虚拟机名字)
& S( w" W' P! `5 d* i' o( n+ w, a0 v" `) h% M) J$ J  X: O2 a/ d
[root@vps ~]# xm console FirstXen4 R' z' {. [7 L- U& W& G
$ A/ C* Q" M8 A* X+ O1 s0 T
2.在物理机里确认已经启动的所有虚拟机和状态
2 Z* S. Q; _! q4 d1 `
+ S: C  ^: F& s3 E[root@vps ~]# xm list% f$ h2 A, I# L) R

* n' S4 i# [  c6 Z, t! e0 g5 h" ^3.启动,关闭,重启虚拟机(FristXen的地方换成你的虚拟机名字)
3 V6 y( P  R8 t+ x' [3 O
( Z  u  Z! p! E6 G[root@vps ~]# xm create/shutdown/reboot FirstXen8 q0 x8 {+ n7 [; G9 ]$ F+ n+ M
. M+ g3 Y  a( p% q
更多操作请执行xm help或者man xm1 p1 P; p8 O3 K! x# K
4.用virt-clone复制一个虚拟机,被复制的对象首先要处于关闭状态。% k0 X5 x$ |( I
我从FirstXen复制一个新的虚拟机命名为SqlNode1,img文件保存为/vps-hdc/vps1/SqlNode1.img/ O- k% o" M0 S) |- G
. S0 k+ j8 k& V# G

8 r/ h( k& d, S; P" @* z( f[root@vps ~]# xm shutdown FirstXen5 N/ T9 T, T# W4 C
[root@vps ~]# virt-clone --original FirstXen --name SqlNode1 --file /vps-hdc/vps1/SqlNode1.img
, G" \7 u* ~  hCloning/vps-hdc/vps1/FirstXen.img                       |  15 GB     02:56$ j9 {* [: z9 n  ~
Clone'SqlNode1'created successfully.3 i* e1 m; E' r1 x* A( \# R8 m3 ?( d
$ j% Q- ]5 c% s/ e) `
xm list               #查看各个域状态
9 `% D6 P5 W0 t: z* L% uxm shutdown web_001   #关闭web_001这个虚拟机
8 O  L+ y( W& z0 _; j; R1 Yctrl + ] 键切换到物理机% p. g' _& u6 n% I
XM命令:
# e: s. o( L; ?' _    xm create vm1 #其中vm1 为虚拟机的配置文件,位于/etc/xen/vm/vm1
' d5 d/ n: |& Q& Z1 W    xm create -c vm1 #如果需要启动控制台,则可以运行命令
. G  _% Y3 d! X% J    xm list #可以列出所有的虚拟机  H: D: d0 \: ^) e% g
    xm console <domid> #可以显示某虚拟机的控制台( N$ @/ Z  b6 }) n+ u6 p
    xm reboot|shutdown <domid> #可以重起和关闭id 为domid 的虚拟机
. B) ?9 q" k, L$ q/ S+ y- q9 @1 j    xm destroy <domid> #可以销毁id 为domid 的虚拟机& U/ ^) q6 s" `
    xm console fc5 #从终端或控制台登录正在运行的虚拟操作系统
8 W: C5 [- f4 g9 n  i8 K+ h/ Z    xm save <DomId> <File> # 存储正在运行的虚拟操作系统的状态; j) h+ W7 N3 ~* ]' G; B& A. y
    xm restore <File> # 唤醒虚拟操作系统
5 R0 q. x( D" |3 t) I! ^5 b( C7 r- |    xm pause <DomId> #停止正在运行的虚拟操作系统5 c  D+ {! `/ Y/ _0 [9 d! |
    xm unpause <DomId> #激活停止的虚拟操作系统& Z% n0 e9 q: @$ y5 K* x; ^- I
    xm mem-set <DomId> <Mem> #调整虚拟平台/虚拟操作系统的占用内存5 G$ r  M, d3 |7 l8 u2 K& o. B& k
    xm shutdown 虚拟操作系统的Name或DomID #关闭被虚拟的系统
7 y! X; O1 L- j& |$ ~    xm destroy <DomId> #立即停止虚拟的系统 (重要);
/ f6 j. f6 c7 m  R% J- B    xm vcpu-set <DomId> <VCPUs> #调整虚拟平台及虚拟操作系统的虚拟CPU个数
8 o: y. S! Z. A1 |$ U( U1 L    xm top 或 xentop # 查看虚拟系统运行的状态. i3 M' x0 S$ ~% |. g2 l9 Z: P
    xm save VM1 VM1.chk # stop the domain and save its current state into a file called VM1.chk
3 a% d/ m5 i5 B: x( H$ v) @% ]2 o    xm restore VM1.chk #resume execution of this domain/ z9 g0 ^( o, `4 F
#如果觉得手动安装虚拟机比较麻烦,可以手动到 http://stacklet.com/去下载已经装好的镜像文件
; s4 y/ p8 R% v& l#===============================  XEN虚拟机复制  ============
- K2 Q/ O" E( O( v4 l  T#关闭运行中的虚拟机
, C2 Z( T/ \, ]* ~1 w" Cxm shutdown web_001
( A, b, b$ ^$ G- [4 |3 u#复制虚拟机的镜像文件和配置文件
$ m# e3 x& |% P  {, [cp /data/vm/web_001.img /data/vm/web_002.img) r6 O8 R# _* m+ s% c
cp /etc/xen/web_001 /etc/xen/web_002" i7 o+ \% H( T
#修改新复制虚拟机的配置文件( A( f' a% Y! {1 f
vi /etc/xen/web_002# p" K; ^1 {+ M: H
一般的情况下,xend服务器启动了,xenweb_0s也会自动启动。
0 d* Y- m/ _" l: P7 z: \$ l# /etc/init.d/xend start 启动xend0 H; q2 t/ T/ F0 L& V$ X4 Q; \: n8 e
# /etc/init.d/xend stop 停止xend
( h% \* Z+ D" E4 C- r) E3 [# /etc/init.d/xend restart 重启xend
& m, ]: E* V8 p: ^4 F# y# /etc/init.d/xend status 查看xend状态
3 w3 U6 j& u7 s4 X, u; v8 M# /etc/init.d/xendomains start 启动xenweb_0s7 C! _5 x( L7 A7 a/ k! U, Y& @
# /etc/init.d/xendomains stop 停止xenweb_0s- {1 z4 _9 C" X5 L/ d' c+ s
# /etc/init.d/xendomains restart 重启xenweb_0s# M8 x( g& b* P, ~. r1 P* t/ a
# /etc/init.d/xendomains status 查看xenweb_0s状态
. D# F/ ^1 ]. D; cXEN控制虚拟主机的常用命令:
& C. A/ t/ ~* c) b虚拟主机列表
- H/ Y$ @' |7 c- y# R: o# xm list
: z; A1 M/ H3 n6 z关闭虚拟主机,web_001为虚拟主机名,也可用id代替, h  ^6 s- B- [4 o# |. t# M
# xm shutdown web_001& e/ q2 g5 h# q7 N) }: Y5 |
启动一个虚拟主机,web_001为虚拟主机名) p9 A, @6 P) s1 n+ \* ]
# xm create web_001
& \* [; x1 G0 Z* f通过-c 参数调用 console 启动并跟踪虚拟主机状态
$ E: P. B% I. m# xm create web_001 -c! o. [: q* e  l0 t, P; f: G
显示虚拟机的控制台6 M; y+ c9 E9 t( U! O5 r
# xm console web_001
% o) Q$ b6 }9 c  \重起虚拟机
$ R. i) ~5 y3 H* y9 v. i3 m1 n# xm reboot web_001
0 [( H% E% S6 S; b销毁并立即停止虚拟机,类似关掉电源一样关机) g. `+ n; g. \# U+ G6 `
# xm destroy web_001' N! A5 l, L: [& ~5 q! L) G
存储正在运行的虚拟作系统的状态8 Y, G" K: d) m& }  K
# xm save web_001 <File>/ x0 p8 b& A; p! z5 {9 z1 h
唤醒虚拟操作系统
9 P# M% W" N0 S2 G# xm restore <File>
' t% Z' R' H2 H* F" b. a% \暂停正在运行的虚拟操作系统+ J. F( P+ I9 z, T: K4 _
# xm pause web_0018 e6 ?# j" I, M5 M# P; k8 N
激活停止的虚拟操作系统
* P0 Y; m5 C( y# Z9 n# xm unpause web_001  t+ e2 p+ @0 Q
调整虚拟平台/虚拟操作系统的占用内存; y- I" O" G$ d1 C6 f% _( n
# xm mem-set web_001  128$ M) l' \/ e6 R# A% s5 D3 L
调整虚拟平台及虚拟操作系统的虚拟CPU个数! Z& T, ~% f, E2 p- D- ^
# xm vcpu-set web_001 2
& P8 n0 q( F, m查看虚拟系统运行的状态6 F" q& h: {: A
# xm top* J+ B! @2 x( r8 [9 I- i2 S5 h, a

4 K+ w7 G" _- K, A; K# xentop" q" P+ s3 z$ `- J; X7 w
使用virt-install 创建Xen虚拟机/ d* Y/ G% `1 i3 c' ^; n* j
使用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
8 S, r& Z) x% A; l-------------------------
% U6 R, B/ F$ ]virt-install 参数解析:
: x  {" d; @# |+ o! F3 Y9 o-n  vm01-CentOS-5.5                          # 虚拟机的名称,这里我们的名称是  vm01-CentOS-5.5- n7 w. @9 m% @; Z# ~
-r 1024                                              # 虚拟机的最大内存,单位 MB 。这里我们的内存是 1G- ~" C5 S8 t' b' I
--vcpus=4                                          # 虚拟机的 CPU 数量,这里我们的数量是 2 个
9 D6 i4 j6 O0 X" g! O-f  vm01-CentOS-5.5.img                   # 虚拟机虚拟硬盘的名称,我们这里用 vm01-CentOS-5.5.img
  T! k1 K6 a* d  b* e4 ]--nographic                                        # 不安装图形界面。
1 V( Q& z9 Z; v  ]. W) A-l   nfs:10.10.113.14:/opt/CentOS/mirrors/5.5        # 系统的镜像路径。 Xen 只支持 FTP/HTTP/NFS
& _: w3 [. U& k6 r. u7 H-------------------------; w6 \4 m: w, M# {/ J- s/ |& |
8 r, g/ T2 Y3 |8 L) H: \7 Y5 F
创建完毕,在当前目录下,生成镜像文件 vm01-CentOS-5.5.img;" S* X( A- q6 T4 j" Q/ N2 K

7 t& g0 y( c  v* P9 k( U1 ^在 /etc/xen 目录下,生成虚拟机配置文件 vm01-CentOS-5.5;! G9 B+ I* t' I8 \4 Q
安装xen0 N/ O7 H1 Y: m7 {! s! ~4 b2 }
Yum install xen*, |0 v) I. I7 k
Xm list 查看xen
  b  f8 k% Q4 t# B/ N0 c% G安装httpd服务 yum install httpd
, u0 x$ @7 {$ ^/ ~- d挂载光盘在xen上面装系统 mount  /dev/cdrom /var/www/html/iso
" \) R# b7 k; ?; W1 ~* d看看能不能访问镜像  http://ip/iso
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 00:19 , Processed in 0.016420 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表