|
|
楼主 |
发表于 2019-9-28 15:15:53
|
显示全部楼层
1.创建虚拟机映像
" D! s: w) [3 R; o9 n2 e& x. S. D) O# ~* u, w* U# D- O% m2 R
dd if=/dev/zero of=xen.img bs=1M count=16000
; B/ ^; d& D+ }( S/ m/ d
: @- x' P* x T) \dd if=/dev/zero of=xen2.img bs=1M count=16000
4 j" z' F' B* K* |$ P: C- ]9 E
+ Q: A0 j6 C1 u( f I+ ~2 ?4 `$ pmkfs -t ext3 xen.img
& F2 g5 C0 c1 j& V+ ^. L2 i8 s& T. j/ \: ]' a
mkfs -t ext3 xen2.img
/ v% n0 s3 m- S* `) D7 M
6 g; N) L9 u% e2 q. Z. V' T- |1 w: Jmount -o loop /domU/xen.img /mnt
9 ]# C6 w* k( ?; ~3 x2 ?
1 G, \+ J8 {- r* H/ J' F# U$ \. acp -ax /{bin,dev,etc,lib,lib64,opt,root,sbin,usr,var} /mnt$ I m% d' L7 ~6 f. t' h
" b7 G1 r( G! G5 bmkdir /mnt/{home,proc,selinux,srv,sys,tmp}
" d: s/ u- J' V$ a" {6 y' q5 X/ w3 }/ g" S7 V( t) H! D
创建swap盘
2 p; Q/ {/ t3 `% p, }& E: x7 B6 \; |3 E# z7 r
mkswap /slview/swap1.img
) x7 @9 e, I u+ o, [4 W* \( F1 G6 G2 ~5 u4 ~8 U7 n! W
vi /mnt/etc/fstab* `( S) F! z, \; g
; y; g- g5 a9 @/dev/hda1 / ext3 defaults 1 1
f5 \' T, ~9 v8 G
& @* ?( ~* F; Z6 T7 G1 ]9 x0 n$ D$ ltmpfs /dev/shm tmpfs defaults,size=1024m 0 02 c8 i0 a$ H1 } X' P2 S
5 i6 s+ {5 ^/ N$ V/ Y- ~devpts /dev/pts devpts gid=5,mode=620 0 0
. ^& X1 E. p$ B3 G& i
6 k$ s" H/ t9 Q2 g! k$ K" Nsysfs /sys sysfs defaults 0 0* Q* r h/ B* {0 t$ O% Q7 X: R
, Y5 Y+ | H& |! K+ z% w) `. v
proc /proc proc defaults 0 0
: R' M( t: D0 g1 {) O* c% s! Q+ V0 E& j7 d/ Z
/dev/sdg swap swap defaults 0 0$ X# p9 }6 w8 V0 _' ~; U* g/ z( V" x
* f" @4 K' l! |0 L) @" L
---edit network5 i- ~. }* @# h. u
' a$ I" a& {4 |8 O; V/ A! T# o) l
vi /mnt/etc/sysconfig/network
' e# t4 m) M- Q W1 P! w: P {& I* u& ~, v# o8 G6 L
---edit ifcfg-eth0
, Y' Q9 F) F1 `" p( p( @& C
: J% `' H$ _; H# @0 s* x: Nvi /mnt/etc/sysconfig/network-scripts/ifcfg-eth0& N* {7 g- p% y0 B' O {
( e8 E0 K @! @& {( v9 @* d
DEVICE=eth0
! ~( m/ u+ ~$ q3 m0 H. F0 nBOOTPROTO=static3 U) k& ~/ o/ P
ONBOOT=yes
) X9 I3 ], a9 B% B, i/ `IPADDR=192.168.24.210
0 \/ h+ O: b4 Q }) h( w6 C# w3 ONETMASK=255.255.255.0% c, u" b- c% E# L2 U, G3 W
NETWORK=192.168.24.0
* {3 g5 h4 m8 K7 I* dBROADCAST=192.168.24.2557 U1 r& f( `- M2 Z
/ R( A$ |* f. y4 |4 p
-----gen initrd$ K$ e9 c2 U( F# \$ }
1 J" w$ G* H. q
mkinitrd -v -f --fstab /mnt/etc/fstab --with xenblk \ |+ p0 b; ]1 S2 `6 \
; |" |3 M1 G+ |. ^--with xennet --preload xenblk --preload xennet \5 T: V1 x; w S# B' d' v
* f. T+ Z/ K; Q6 c. c& Rinitrd-2.6.18-194.el5xen.wd.img `uname -r`1 I0 X1 F0 |+ c0 y4 e# e
: j2 p0 }' r4 `* k" i" `0 m
umount /mnt
5 i& X$ Q0 I% I/ I |+ |0 i+ d* ~8 s* u. C4 f: r2 b
---在/etc/inittab
Q( v' }- A7 E$ W+ {
6 J8 v! Q8 F4 B" A* E4 Z" K5 N1 hco:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav" n- C: r) N8 w0 G# V1 h7 w3 I
?4 `$ _( K8 D! b>init q
! T+ [4 g8 S! O( s0 k- r4 X3 x; \, \* _7 W+ G# w u) s( Y- i
>ln -s /dev/console /dev/xvc0
% n& j7 I: O y% H9 @0 M/ M9 T+ W; S: } {
---创建内网网桥. R2 M2 N8 H. t4 J4 Y6 m
* w8 n* h2 r3 Tvi ifcfg-xenbr2
4 S& S/ n5 w* v) d8 wDEVICE=xenbr21 F1 g% B! r. `
BOOTPROTO=static
4 O4 M4 q) b- P1 HONBOOT=yes
% ?: b# g, L5 J: v- A WTYPE=Bridge$ B+ g$ L5 W( @* E! B2 Z1 ?( a* o& p
启动网桥
( i6 z3 s! U q# Yifup xenbr2
% r) S( ~3 s+ ]0 V0 B, q- I* x, r% G& K
----编辑虚拟机配置文件
2 v8 h4 @% p, p
/ i7 W/ C* [8 k. t' `1 l0 \: sname="oradb1"
( o z+ }1 j" L2 r( E7 f# U, dkernel="/boot/vmlinuz-2.6.18-238.el5xen"/ o! U- ?* e3 T: K; e
ramdisk="/boot/initrd-2.6.18-238.el5xen.wd.img"0 Q0 D4 y+ Q* K3 e8 v, }
memory="2048"
0 ]4 o+ I; b8 x) p' T& `- K! H& L zvcpus = 2
, v' `) p( e1 N o1 g3 J8 }; hvif=['mac=00:16:3e:2e:40:cf,bridge=xenbr0','mac=00:16:3e:2e:a9:41,bridge=xenbr1']
; z% j/ l1 Y# q) Q bdisk=['tap:aio:/slview/db1.img,sda1,w','tap:aio:/slview/vot1.img,sdb,w!','tap:aio:/slview/vot2.img,sdc,w!','tap:aio:/slview/ocr1.img& B( u5 I- M# T/ _5 j; t0 P
,sdd,w!','tap:aio:/slview/ocr2.img,sde,w!','tap:aio:/root/data1.img,sdf,w!','tap:aio:/slview/swap1.img,sdg,w','tap:aio:/slview/ocr3.
9 f$ w, _4 q& J+ z8 Ximg,sdh,w!','tap:aio:/slview/flash1.img,sdi,w!','tap:aio:/slview/flash2.img,sdj,w!','tap:aio:/root/data2.img,sdk,w!']
" @, @ {3 f/ _ {: k! U: t* ~# Droot="/dev/sda1 rw"2 F" b8 h* {) f1 [$ B1 t
6 S# U; y) _# a3 ^ i
网桥配置:
! e- ?0 l: ?/ D1 h* B# d9 p8 D
c8 k! D2 X) i# t- F修改 Xend 配置文件 /etc/xen/xend-config.sxp ,取消下面两行的注释:
4 `2 V' Q1 d# v) |8 D7 a* t S2 U
+ \$ b8 x. |* U' {(network-script network-bridge)$ m# L/ |7 P$ P# M0 c
6 y2 w% G/ i3 \% I: b9 g5 W(vif-script vif-bridge): M, n, e/ m4 g9 h, O5 z
& r( m7 m& M* A$ \% C) H
使用brctl show来查看网桥) t) {& g) w; Z @9 A
9 ]* R; E! e+ i3 V: V
DomU的config中设置vif = ['bridge=xenbr0']" h4 ^. ^0 o6 g$ `
+ R9 L# z6 [% ]5 W
存储配置
1 e: O+ C. @. }/ e+ i& ^& e$ ~" H& t# V9 u! d
[root@db6 xen]# cat oralinux) u4 Z N7 Z* J. t' [" i" H+ }( ?
3 ~7 a7 ~5 X9 ~* U( tname = "oravm1"* _; T# a) f% v5 L6 m+ l, p
7 _6 t' c3 A5 u+ bkernel = "/boot/vmlinuz-2.6.18-194.el5xen"
! c8 N" \. b+ y! ^
" P& K" z2 m( D( sramdisk = "/boot/initrd-2.6.18-194.el5xen.wd.img"4 S# `0 E& E3 F) Y( _+ V5 a
, A- B/ b& w( `$ h
memory = "256"
: [. p% }! Z/ A) R- { L5 n# }# t# y( R6 ?( [+ Q$ h% G1 W
vcpus = 2
9 H0 c% _+ ?: }- K
* s A$ _1 W# n! p( ~% ?* E& a- {vif = [ 'ip=192.168.1.140,bridge=xenbr0','ip=192.168.100.140,bridge=xenbr1' ]
+ j# a7 f; J- E" K( @# f$ o
! D1 ?8 l2 x- k9 U" h/ {disk = [ 'file:/domU/xen.img,hda1,w','file:/domU/sdb.img,sdb,w!','file:/domU/sdc.img,sdc,w!','phy:/dev/mapper/oradata1,sdn,w!' ]: E8 ~& K% c, V# ~7 a
' p) R z2 T W3 { U* S zroot = "/dev/hda1 ro "
, P E0 m4 K; g- K* t4 \0 h) C7 f/ E0 Q
------------------------------------------------------虚拟机-----------------
7 k) L, ]" f9 M0 I) q6 |- f2 h7 I2 o3 E [9 }9 r @- v
强制多虚拟机共享存储8 |: f$ G3 c$ j1 D/ D% e# y# R5 j3 S; m
: s# b2 A' n' S% S
phy:/dev/sda,sda,w! 加叹号
7 H, I1 v1 T% D% H) F" b
' z: S4 W7 G; o( D- @2 P9 |需要让xend为两块网卡创建bridge,需要修改/etc/xen/xend-config.sxp,将(network-script 'network-bridge')! `6 R5 C, ~7 |3 d! }
) C) R0 t/ [% `$ x改为:$ n' G* m$ }! _& H2 |
1 I# A. }$ G; M0 C$ J( s3 ](network-script 'my_network_script')
! a {- _( w/ W$ e: R% d. Z
" `- l( L1 R/ Z; h! m: smy_network_script是我们自己的脚本,创建/etc/xen/scripts/my_network_script内容如下:" i6 f9 o ], i7 _8 E2 _# R5 d9 `
4 H# t0 e( z4 u- ?
#!/bin/sh
5 W# Q+ {: ^' p& K2 i: V7 s. x6 t, n0 g5 m
dir=$(dirname "$0")
. n4 X. P! J; E5 j J" b6 P0 z# N% E" p% d" B/ L7 p
"$dir/network-bridge" "$@" vifnum=0 netdev=eth0 bridge=xenbr04 Z# E' t5 ~$ A/ j4 x- {0 O
4 ?" X; n8 N) `$ o2 @7 R+ `
"$dir/network-bridge" "$@" vifnum=1 netdev=eth1 bridge=xenbr1
, `5 l: F" m$ c( y0 f4 ]
) P& W) H: a/ P# l- o' B8 Z将my_network_script加上执行权限:
& I: H: p& W: |7 [, R' z: l7 F5 u2 D8 \% D9 q* t) h
chmod a+x /etc/xen/scripts/my_network_script3 v1 E+ h/ S( A- C' e1 k7 l& G
6 B7 d( ?: |6 C% h- q( H
重启服务器,可以用ifconfig看到xend创建的4个网络接口8 r! N0 |0 {. V& H
$ x. B! o/ r$ e' H! ~/ L' S; K可以看到虚拟交换机上的连接如下:
, \1 h- F n( i[root@rac2 xen]# brctl show
1 R* F9 [- u; bbridge name bridge id STP enabled interfaces
% D9 P9 m S$ D$ T rxenbr0 8000.feffffffffff no vif1.0 dom1的eth0# G9 J3 \1 Y! }
peth0 主机的物理网卡0
k9 a- y7 [2 j( P3 ]$ L vif0.0 Dom0的eth0
/ e c+ g H7 |0 cxenbr1 8000.feffffffffff no vif1.1 Dom1的eth17 |( @( a* y9 P$ y) i
peth1 主机的物理网卡1* |1 ]6 `9 k. |- T5 a
vif0.1 Dom0的eth1
3 ]+ Z6 }5 D1 F4 E9 |- M5 ~
+ {: A3 ~' J0 M& r5 l0 t& K编辑虚拟机配置文件:: N& @; D4 q3 ~" o* E
/ p/ _- z3 X5 H% j3 P' ?7 ~Error: Device 2048 (vbd) could not be connected. Failed to find an unused loop device1 @3 ]0 J2 s$ \, ~0 ?# p& K, Y8 i6 u
; t" n7 Q5 e( P
Error: Device 2064 (vbd) could not be connected. losetup -r /dev/loop8 /domU/sdb.img failed
& `; t/ y+ ?) T- \5 ?; O8 z5 w
$ P2 W0 l3 u5 ]- W>losetup -a 查看loop设备使用情况( |' ]* L- P& C. v' n/ W
5 ^8 l0 S0 a3 v7 O" O3 J% G( k再卸载 loop 模块 rmmod loop2 e, j% l, x/ V; H
2 g6 G* \$ t5 ?, d6 A! P( m
>vi /etc/modprobe.conf
( U9 `8 H8 k3 Z: m& I5 P# f# o, f7 D8 I' z6 I
options loop max_loop=16
+ B* t2 Q2 h5 z7 j; f# n4 k0 b$ ~3 o5 r
再重新加载 loop 模块检查是否生效
' }5 G- ~( K4 Z6 t e4 G) Z* K9 A" ]0 ^; w
modprobe loopdmesg | grep loop # 应当能见到 loop: loaded (max 16 devices)5 a, f+ ^9 {/ e1 C$ E; Y3 s
% R& z$ J9 W4 e/ m. O; ~. z最后建立 loop 设备文件
& x( [! B5 ?' F1 \+ y6 Y/ E9 r" H7 ?8 B2 d$ y
ls -d /dev/loop*/ m$ j( N4 u; Q( N! c
6 o) }+ d8 r1 Q& N$ K( C" n# h+ omknod -m0660 /dev/loop9 b 7 8
3 @# t& Q+ M' i9 ? z( w
/ N; w9 Q* `- a7 Bchown root:disk /dev/loop9
& [7 W: ?# c; S* M
0 e' f5 Z% P0 q) I8 B( tmknod loop8 b 7 8
8 W5 b# f6 Y( S# C+ d* Y6 o, j) A
1 r3 y% p9 g4 Y* {6 V' ^mknod loop9 b 7 9
9 c$ U' {6 i/ I/ t, v8 I/ E/ N$ k& j. i9 x: j
Q: ADDRCONF(NETDEV_UP): vif1.0: link is not ready6 j% b" Q7 c* C
0 j6 z1 H; ~# ^) U
A: 将/dev/sda1改为/dev/hda1' u# H. M4 z0 {+ k5 B
5 h! K- _& c8 O/ @. \Q: 使用vnc报以下错误: G4 u+ y1 W% P6 k+ S, {/ a: z
[root@db1 ~]# su - grid
8 A7 u$ h: e, X7 @-bash-3.2$ xclock2 l* V6 [1 _1 A
Xlib: connection to ":1.0" refused by server
0 I c6 J: _; A% E7 hXlib: No protocol specified0 S: b( Y J6 M z" G7 Y* C
Error: Can't open display: :1.00 l* D7 T. `$ D% u1 k$ F# q( j
" l1 H- v0 g- C0 H5 z
A: 用root帐号执行下列命令既可 \- A% H% M& L/ ~% Z3 z
xhost + localhost
0 M& M W5 h& p% E: Q
/ R" S6 o r3 ]' y& u7 k$ RQ:fdisk分区表无法保存
$ m% L" C8 a2 S, _" J! TA:2 L. F) }2 e# V X7 X- I' c
chmod 755 *.img
" K0 O5 ~/ Z( qfile:/slview/db1.img 改成tape:aio:/slview/db1.img
, V5 K3 _7 o5 U, |% [% s3 B3 z: ]7 s
Q:mkrootdev: expected fs options0 S6 A( P9 T7 z+ `8 c
mount: missing mount point
|% ^) }- q+ N. w2 T9 G9 M S setuproot: moving /dev failed No such file or directory; [& I& c7 r" h( Y Y& q
setuproot: error mounting /proc: No such file or directory! v7 \/ \! t( n, X9 u7 \ T
setuproot: error mounting /sys: No such file or directory0 D* @7 G% M ?/ g; L$ F
switchroot: mount failed: No such file or directory
' `$ y8 G/ w+ h) u q- X9 G! LA:mkinitrd, /fstab内容
6 }$ p0 w5 j4 z6 p' p+ z! h3 Z5 r% w: i( h
Q: /sbin/hwclock: error while loading shared libraries: libaudit.so.0: cannot open shared object file: Permission denied+ @- [, ^* z$ f
4 M1 R- x( b, O% S5 t3 Z" L% i( l! L5 ]A: 关闭selinux |
|