|
|
楼主 |
发表于 2019-9-28 15:15:53
|
显示全部楼层
1.创建虚拟机映像
% K( d U( I& z+ k. u$ ^4 O: S1 f$ {5 m
dd if=/dev/zero of=xen.img bs=1M count=16000
; [) Z* a0 D6 ^: u% Q6 b
, j5 x9 m0 U% ]' g0 `1 jdd if=/dev/zero of=xen2.img bs=1M count=16000- e( u( ]: M0 V* J$ G7 N2 J6 }
* @: o+ \0 O. Qmkfs -t ext3 xen.img- {2 o% }. W0 f3 V
6 x. U1 h9 o7 a \! w
mkfs -t ext3 xen2.img
r% G. `" k& h+ }5 O" Y( ]! q4 ^) k! S6 a! k8 [5 t/ q
mount -o loop /domU/xen.img /mnt" `. `( O5 L3 C5 j5 b
- x0 W! O: Q' z: C
cp -ax /{bin,dev,etc,lib,lib64,opt,root,sbin,usr,var} /mnt- Q7 K+ x# p/ ^ `3 y
& \. q# q E7 A H$ Q
mkdir /mnt/{home,proc,selinux,srv,sys,tmp}- {3 f' D( ^3 ], d+ L/ m+ t
; Z8 w, Q9 a5 M8 q8 {" m8 }# }创建swap盘- K' R4 E9 p. I, u$ J& K; v
$ w, T% ]# U0 U) h/ n ]$ }% vmkswap /slview/swap1.img
# S O) m' K3 D( h( X1 d9 }
/ i0 ?( }" c0 A* zvi /mnt/etc/fstab( ]4 l p, t; d9 k* |
9 |& |! F* J F2 I& z5 o, k/dev/hda1 / ext3 defaults 1 1
# Q( i5 V2 O9 U' L0 v* Z
% G$ }) O' h9 Ctmpfs /dev/shm tmpfs defaults,size=1024m 0 0
( v0 Z' P8 U# {8 f' m& G: |: ~$ v6 U
devpts /dev/pts devpts gid=5,mode=620 0 0
* j U# @9 H6 S0 [6 l1 l+ n; \ {- `4 [7 p+ v/ j6 }! n
sysfs /sys sysfs defaults 0 0) }/ n8 v5 s% P0 S
! N% G% p' I* ~% H- W1 ^7 `3 \ bproc /proc proc defaults 0 0
( L8 i4 R1 w x Z% X( [; ~. ~# E1 C4 z" l1 l1 e# q
/dev/sdg swap swap defaults 0 0! ~- g# {, }5 s: |, |& B
: q" B; P" m& E% ~, M---edit network
m v7 x5 E3 T4 F" K5 A3 h9 t7 o
! g: W, N/ q4 l" K( fvi /mnt/etc/sysconfig/network% P: c0 W' \$ ?: Y" S
: a/ C$ l2 p+ X2 Q2 y) ^---edit ifcfg-eth0
. W! g/ f! b9 U5 u
' v/ j" m( T( e5 L) w, Cvi /mnt/etc/sysconfig/network-scripts/ifcfg-eth0' D$ O7 U& y$ f4 N' J1 Z" s
9 V. N: {7 z5 _2 yDEVICE=eth0
+ n1 q* p% \: V, wBOOTPROTO=static
9 _) L% b$ v1 m: [ lONBOOT=yes) P {) `" t; ~
IPADDR=192.168.24.210
' W( ~* g$ g4 C5 NNETMASK=255.255.255.0, i% M8 ?. Q7 p. u& j
NETWORK=192.168.24.0
6 V# A: V5 C+ V2 [4 @BROADCAST=192.168.24.255% ?- X1 Q. x& z4 e3 ?$ M- {
$ m7 Q0 i5 a. u- H( p-----gen initrd/ e; _4 s: i/ K0 U
) Y1 |' F8 [4 ~+ S9 `1 x0 x) }
mkinitrd -v -f --fstab /mnt/etc/fstab --with xenblk \6 ?( }8 e) S) u0 r3 L
) L) C# M4 `1 ]7 c
--with xennet --preload xenblk --preload xennet \
% I" A7 D* T3 Q3 K1 p' Q1 [) W: I, P. B0 X1 X
initrd-2.6.18-194.el5xen.wd.img `uname -r`
3 ^# z7 y% s! u1 L: |# w" t' P( l c; K$ y, u
umount /mnt4 W6 w" i2 I/ C' O8 R/ J
7 p! i# w0 N( X. ~/ A
---在/etc/inittab+ _3 o! y# J) z1 i$ S( a9 S
$ N d5 I( Y8 L8 J0 ~# U
co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav) ~& ~* u, c* m3 n
' g8 E! a- r4 m4 q; \
>init q
: e7 @8 `- {8 P# {6 u& |% ^
0 c4 n# w5 {4 M6 m' U>ln -s /dev/console /dev/xvc0
% h0 G3 l6 u+ a1 c
$ Y8 \! N* E5 ~3 o---创建内网网桥* `9 H% l$ m0 m0 q9 b7 L
; V6 k2 m+ a# i& p: Zvi ifcfg-xenbr2/ q/ B, s, x4 }: I; s6 }' ~! n
DEVICE=xenbr29 w1 V) O% O* u
BOOTPROTO=static
' |2 v9 u( n+ o: y/ M4 K& ^7 tONBOOT=yes
# k6 d# u' N, O d: Y" ?& |TYPE=Bridge
# }# O, w# g6 W i启动网桥
# v5 C2 m4 l/ g2 N5 tifup xenbr2
, V2 a- j. E9 W% \$ L! _ m- H @1 ]; K, a2 y
----编辑虚拟机配置文件+ W9 W% e4 d+ Q
8 ~8 r- B6 N% X a2 @/ h6 N6 }name="oradb1"3 F2 w, u& k* d9 x- }& @4 t' A
kernel="/boot/vmlinuz-2.6.18-238.el5xen"
5 M! E$ W1 z$ f/ x- h. Wramdisk="/boot/initrd-2.6.18-238.el5xen.wd.img"6 W/ I$ k& j8 |& N& T5 m5 Q
memory="2048"3 N. e% V1 @" i5 ^
vcpus = 2' `7 K2 X* O$ N" @ U0 y
vif=['mac=00:16:3e:2e:40:cf,bridge=xenbr0','mac=00:16:3e:2e:a9:41,bridge=xenbr1']
6 J2 e* v" m2 a4 r! T+ d! ?, `disk=['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
7 j" h; S+ N8 \: y ]( D8 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.% a& p5 y6 D0 _- \
img,sdh,w!','tap:aio:/slview/flash1.img,sdi,w!','tap:aio:/slview/flash2.img,sdj,w!','tap:aio:/root/data2.img,sdk,w!']
* ~, c: E9 i7 mroot="/dev/sda1 rw"2 r3 U* H/ b" d, l$ Q
5 j9 a; T% D( n$ B5 O6 z网桥配置:
* ?8 h* ^/ _) m: @. ], ~' @4 s0 z
修改 Xend 配置文件 /etc/xen/xend-config.sxp ,取消下面两行的注释:
5 s, Q0 ^6 U; f
. u J" _# W1 X. S Z I2 }(network-script network-bridge); U; s n7 t) n) f- p4 e' m; _
% I6 ~: x% Y ]8 q- v(vif-script vif-bridge)
: w9 a4 G, f/ E: s' Z! v7 {3 n7 V! |) c0 B. {
使用brctl show来查看网桥
4 O5 D" W; e3 K# B' k0 l# q( [) v: j8 p! v6 h l0 Z
DomU的config中设置vif = ['bridge=xenbr0']! P. V2 L' l: d3 {
8 I3 H* m6 f6 U. X, D+ x
存储配置
. J) z9 H, O3 X1 H+ W' m% K' K3 n! H, ^5 o2 J: A1 r- O
[root@db6 xen]# cat oralinux
& p Q7 ]9 E% A5 D9 C1 B9 E( C% q) l8 I% H1 N- H
name = "oravm1"4 C4 C( b% [, o) w5 a: p
! U, }1 ?. M, c" @( d( S
kernel = "/boot/vmlinuz-2.6.18-194.el5xen"
; z5 a" ^' _5 l5 U2 B( C, R- ?" q4 ?4 [# B
ramdisk = "/boot/initrd-2.6.18-194.el5xen.wd.img"9 X& J$ F! M1 c9 Z% b5 l
+ L) q1 N4 o) I0 y- M, K
memory = "256"
~; ^9 w8 M, y
) \/ r( ]9 W& Tvcpus = 2* z& m6 x% n. m. C2 N* W2 U% i
& Z2 S h! t$ h9 T. z) c; Gvif = [ 'ip=192.168.1.140,bridge=xenbr0','ip=192.168.100.140,bridge=xenbr1' ]' z$ n4 H8 M8 U; o1 }2 V i
/ v! J, M8 r# D$ f- T( V
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!' ]
' _4 r. \, E- y4 W l
' B- q- A' E" P! B6 @' _2 E$ uroot = "/dev/hda1 ro "+ A0 p# _8 K8 N( q
: K( q8 L1 X; q' D
------------------------------------------------------虚拟机-----------------
1 T, C$ K' i4 X! R! Y# ]: m3 H+ a/ ^# u+ [) |$ `$ w
强制多虚拟机共享存储
9 ?" H) X- j5 ]$ Y: Z; o
3 r6 c0 P" `! p, [; B+ iphy:/dev/sda,sda,w! 加叹号1 x8 Z& R4 c& Z/ J- d" {3 D
5 m: }3 a% O: }# \8 E' e( F) L5 \需要让xend为两块网卡创建bridge,需要修改/etc/xen/xend-config.sxp,将(network-script 'network-bridge')) o5 z$ [8 } x- h3 k; X
, O6 `5 J1 j# i8 F1 X' k
改为:
- L: ]$ e! H, F. E4 G8 Y8 O c! ?2 X% `4 c3 h% V% w
(network-script 'my_network_script')
7 `0 s+ [/ b: \2 Z, W+ k! I. b; e) G/ J# `; y" X- z4 L7 `
my_network_script是我们自己的脚本,创建/etc/xen/scripts/my_network_script内容如下:
9 T- w% N! \! j' i4 d( B) `/ P, d* j _, y
#!/bin/sh" }; F$ T# \1 W z9 Y
' J% F8 m8 B' t
dir=$(dirname "$0")* H5 U) G& [9 c
8 I7 W9 C+ [+ g/ j
"$dir/network-bridge" "$@" vifnum=0 netdev=eth0 bridge=xenbr0! E3 s. J6 |3 b8 F( J
9 n8 A8 S) f' z4 F"$dir/network-bridge" "$@" vifnum=1 netdev=eth1 bridge=xenbr1
5 O4 M, |8 ^9 y) _9 I7 F6 W1 P+ L8 P, U
将my_network_script加上执行权限:" j+ ^! X. Z' e8 ?+ x5 @6 ~
0 q& [6 `! e; F M u1 ychmod a+x /etc/xen/scripts/my_network_script
3 z6 }* Y6 K3 c( b. Z+ Q5 T0 \/ R |$ y: `( _
重启服务器,可以用ifconfig看到xend创建的4个网络接口
4 T9 @1 c' j- l: E; r- s" _" g; b
可以看到虚拟交换机上的连接如下:1 l- X z: \0 l
[root@rac2 xen]# brctl show
5 L, t" p; z- f* k3 ~1 hbridge name bridge id STP enabled interfaces1 c4 ~$ o7 N) k
xenbr0 8000.feffffffffff no vif1.0 dom1的eth0
! ~8 ^: a, g& ]" I5 F1 v peth0 主机的物理网卡0( e s( p5 d+ C- R
vif0.0 Dom0的eth0
5 E ?9 N4 j" p# {/ X; cxenbr1 8000.feffffffffff no vif1.1 Dom1的eth15 P5 a/ C4 v0 {8 J) Y1 d
peth1 主机的物理网卡1# J$ ]0 q$ }6 N6 F
vif0.1 Dom0的eth1
1 h. t1 B! W8 W) F+ B5 |) \: n0 K; i0 T. C
编辑虚拟机配置文件:
% `2 J" N# P! b2 P' t3 W! E {) e5 w$ I0 C$ C
Error: Device 2048 (vbd) could not be connected. Failed to find an unused loop device
5 B8 v3 j5 C& B4 l% f4 O" \$ p4 }
) p6 ]* L% \. t& C7 ]/ `6 o& mError: Device 2064 (vbd) could not be connected. losetup -r /dev/loop8 /domU/sdb.img failed' l% K1 P. R9 g/ R5 u K
- n( @6 \4 c% Q7 D3 a4 i
>losetup -a 查看loop设备使用情况( e: O d8 J3 o: H) E. V
' [5 T- _8 A9 O7 m' s
再卸载 loop 模块 rmmod loop" v8 f* Q) c& z& o( t. \) ]( [/ S. ^) o
. R/ I: V2 X; I" L6 F>vi /etc/modprobe.conf9 Z# }( p; \$ P1 r, K4 ?/ R4 O& Y% E
* f. {4 D; B7 s7 b. P" Y/ ?
options loop max_loop=165 R E2 O7 C4 j5 Q
+ P* W! [% T+ W, x7 R
再重新加载 loop 模块检查是否生效
5 p7 g% \* d% P2 j1 E- i
' O4 b/ K0 L$ g9 a$ s/ Y3 C* \modprobe loopdmesg | grep loop # 应当能见到 loop: loaded (max 16 devices)" w/ ^. `8 J& Y. d
6 V2 ^8 D+ Z+ B. i$ V1 ?4 E
最后建立 loop 设备文件' J8 t9 Z3 x+ f" `" i/ ^8 t9 W
9 U- x4 H; S8 R, R
ls -d /dev/loop*
. f7 h& D+ U' _/ p( U0 L. m6 U% ]9 P" ]$ h4 c) Q/ y2 Y9 `! k
mknod -m0660 /dev/loop9 b 7 8 8 V. a5 S0 ]8 n. P+ R
& \1 W) i- |9 _& [& F
chown root:disk /dev/loop9
+ f) x' l) `- l8 a; U, G& |! j) u5 |5 y% @
mknod loop8 b 7 8, Y) j* a! @: [
. q9 w; Y! p( W: O) xmknod loop9 b 7 9; g5 r# {1 _% L3 M! C
Q! f: P& E* {4 pQ: ADDRCONF(NETDEV_UP): vif1.0: link is not ready/ ?5 ~, u4 Z) @) j
( C5 u4 o3 I, s9 }* gA: 将/dev/sda1改为/dev/hda1
$ O$ Z) n" a( n/ _) e f
. w# C/ d0 r3 u i" m" pQ: 使用vnc报以下错误
# B- D1 f8 W/ F8 I8 z% T) b[root@db1 ~]# su - grid& D0 y7 `% K% Y" f: L8 ]
-bash-3.2$ xclock* O4 v6 s4 ^1 f3 l, g
Xlib: connection to ":1.0" refused by server
) h4 k7 b5 {+ F- P5 cXlib: No protocol specified* K3 n, F3 b4 G- K
Error: Can't open display: :1.0) r# ~6 g9 v4 n# j. A7 Q
( ]7 Q* s; N5 _. D) V( \A: 用root帐号执行下列命令既可
$ C1 r9 S5 Q1 A! l9 c5 P) |4 H$ gxhost + localhost
( n& r) P3 c' A4 c6 k4 V1 i# V; i2 k' k- B
Q:fdisk分区表无法保存( a# ^+ R3 k* [8 `' _& M) U
A:, e0 N: [% |# P7 q R C0 v( h
chmod 755 *.img
# ~: H9 U8 }8 Gfile:/slview/db1.img 改成tape:aio:/slview/db1.img
& U9 n3 v H" a! Q+ K7 X
7 l. R9 N. {0 F L& h) e+ B5 KQ:mkrootdev: expected fs options
1 C+ F; e/ F! Y+ z mount: missing mount point
) J* V% s4 o7 x+ x! @ B) I* E setuproot: moving /dev failed No such file or directory
8 B) p% J; _; s Y+ W3 A- U1 v setuproot: error mounting /proc: No such file or directory
) I. A. _8 l& C setuproot: error mounting /sys: No such file or directory
1 R9 k/ Z3 o; F3 f4 O switchroot: mount failed: No such file or directory
$ n( A- L1 |9 I+ kA:mkinitrd, /fstab内容
. f: i3 i( x2 L
6 N8 Q7 R" P! I# [+ W# tQ: /sbin/hwclock: error while loading shared libraries: libaudit.so.0: cannot open shared object file: Permission denied
, f8 I+ e4 v; `% f% S
6 A0 x+ G' }& XA: 关闭selinux |
|