|
|
楼主 |
发表于 2019-9-28 15:15:53
|
显示全部楼层
1.创建虚拟机映像+ a% @. N7 F# L0 s# z' I1 p
- i/ D3 @6 |* D! F0 O
dd if=/dev/zero of=xen.img bs=1M count=16000
$ O! n9 G* g$ M* ?" Q8 \0 t" K$ c
dd if=/dev/zero of=xen2.img bs=1M count=160004 e4 C) ?" n6 Y) t
r( d" B8 T8 j' l
mkfs -t ext3 xen.img9 v: \; z" @, C" `
B/ U1 X0 `! K) R! H) q2 f! C
mkfs -t ext3 xen2.img6 n5 k7 U0 v) N6 [/ d! m/ M. V6 N9 o
G. |: _7 }( I; g
mount -o loop /domU/xen.img /mnt
* I! \0 l5 L9 j1 G' N
/ M( ? x& r- [# ?/ s& E9 V/ Mcp -ax /{bin,dev,etc,lib,lib64,opt,root,sbin,usr,var} /mnt+ O& r- Y* j$ V0 \' p; s- W
0 a- U5 s7 r J2 i/ K$ ?mkdir /mnt/{home,proc,selinux,srv,sys,tmp}
- \' w$ m: q+ V+ ?7 P$ E! H9 u! K$ w
创建swap盘9 I+ X6 j) Q. |
' `; o2 i+ n0 [9 o1 A2 F3 V, kmkswap /slview/swap1.img
! [# u; ^' a, C! {: a5 V$ {: l; \5 |( ~$ A5 }# [! f
vi /mnt/etc/fstab5 D% X2 b7 C5 ~* f
2 Z. t0 F! q5 X+ K, d/dev/hda1 / ext3 defaults 1 1% {) o* f: i$ Q
5 ~% f: q+ f8 q# |, c9 D4 etmpfs /dev/shm tmpfs defaults,size=1024m 0 02 F: k# v! _* l2 n k
h1 @! e8 l" k& ~0 k5 [6 p7 Adevpts /dev/pts devpts gid=5,mode=620 0 0% S& f; ^! _& E, ~1 C8 x
. P1 P. t, @- h9 m& }* p
sysfs /sys sysfs defaults 0 0
- q4 i& X4 _9 N# @5 K: F2 p. D7 T0 D5 | o8 C( s
proc /proc proc defaults 0 0
4 n5 P' n* V' o7 h, z8 E; S# Y6 B8 J' { E; g
/dev/sdg swap swap defaults 0 0+ ]8 s5 L8 |0 Z" {) w
3 `. E7 N+ J7 R2 `- J
---edit network; K# \# Y8 F5 \7 Z& D/ w+ ?% \! w& Z
) s' |/ `5 G8 ?& Y$ R; Dvi /mnt/etc/sysconfig/network+ k9 U3 o1 ~5 U/ X
' j- O; q7 w' S" B1 Y% D---edit ifcfg-eth0
3 b1 M; ]0 D. y7 {& r% A* G$ R, b% w( W2 N2 [; b+ B
vi /mnt/etc/sysconfig/network-scripts/ifcfg-eth0
/ I: C! y$ m8 l9 m2 E$ ^ `; m- u1 e7 A- p3 l( u2 v X
DEVICE=eth0
2 \0 v& L8 f. L9 }0 E# @BOOTPROTO=static5 k' V u* u/ r. ^# e
ONBOOT=yes- K* G& k( G( N& T% J! \8 e* }
IPADDR=192.168.24.2109 u& E# G7 K- N3 Q
NETMASK=255.255.255.01 _; }, f2 {( o7 f4 p# e( X
NETWORK=192.168.24.0
# _" d$ S5 g0 Y8 OBROADCAST=192.168.24.255
* j W# I8 o/ {- i" X
3 D8 l8 \2 Y" [! x2 l( o-----gen initrd
6 J2 G& l% N. q. c3 Y# j& h% R# X- R. ^4 B) G# T
mkinitrd -v -f --fstab /mnt/etc/fstab --with xenblk \
, w' H4 B$ t7 p7 G8 _
: L3 i6 c( s4 f4 V- V' Y--with xennet --preload xenblk --preload xennet \& w4 N; m$ W+ t; Z1 z! f# V
( q& I5 H/ R4 |
initrd-2.6.18-194.el5xen.wd.img `uname -r`
, H' o4 ?. [6 i. R
, K; D8 Q4 ~% Rumount /mnt" w/ p) ?8 q/ F; ^
4 K! V6 K1 o7 h. V! c- G4 J; s" w---在/etc/inittab
( O/ V* X# C2 D, b7 B2 T) c
$ _4 T$ h- t6 s7 B# e% Nco:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
% ^0 x/ W! N, _* d% W- w" C, A* ?1 N7 s0 |' c
>init q
6 i) f1 ^' l$ ^( P5 d3 P- N, H$ ]3 m8 W% v3 B' P
>ln -s /dev/console /dev/xvc0/ @7 _% J2 J+ r0 v
$ r& s4 E/ C' [0 A8 S---创建内网网桥
; z' }! w# P/ x. f B& y1 Y& t; a% v _
vi ifcfg-xenbr2: U0 G4 B+ J8 P M. m! d6 f
DEVICE=xenbr2
- C9 d7 U' k+ _* Q3 YBOOTPROTO=static2 p1 q+ R' ~ Z0 v" ]7 f8 `" a# d. n
ONBOOT=yes
6 B$ l: U# V5 b1 K& m% h/ @* g( GTYPE=Bridge1 Q6 ]" k) a# ]/ F( ]: u( K
启动网桥
9 t! p3 ^3 Q% H: |5 o, V( ]ifup xenbr2; F; I. S2 D6 @
! E$ z' c, R9 `! i----编辑虚拟机配置文件
, T. {3 n' A1 c t. I2 _4 \0 u5 f+ ]( U7 C
name="oradb1"7 G( ]$ d7 D2 a5 M
kernel="/boot/vmlinuz-2.6.18-238.el5xen"7 T0 ^8 C. }+ p+ ], R0 ~. D
ramdisk="/boot/initrd-2.6.18-238.el5xen.wd.img"6 A0 { Y$ D, W1 n' ^( S: P T
memory="2048"
# g; m" q$ i1 ~/ v- Jvcpus = 2( r4 a2 B' w- j$ l& ?2 E' X
vif=['mac=00:16:3e:2e:40:cf,bridge=xenbr0','mac=00:16:3e:2e:a9:41,bridge=xenbr1']
+ l$ C0 a0 z+ b/ @# r* [8 D3 Qdisk=['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 i& p, T9 L$ m' t: J3 d) f7 ?; Y
,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 W0 A9 [% v( z& i9 a V% ]& v
img,sdh,w!','tap:aio:/slview/flash1.img,sdi,w!','tap:aio:/slview/flash2.img,sdj,w!','tap:aio:/root/data2.img,sdk,w!']0 I% D% r' K ? @% L
root="/dev/sda1 rw") v. a* d; N! H0 ?, o1 }+ a: b
) H! y' ^, i; T5 y网桥配置:8 z0 L$ M8 z: \
7 q# y' s2 Y7 F6 z0 L9 i
修改 Xend 配置文件 /etc/xen/xend-config.sxp ,取消下面两行的注释:0 ^, ]7 P9 s) t/ K
: Z( ~ M( e3 c) h4 U0 n" K
(network-script network-bridge)5 i9 h1 J' s* D9 A N+ i
& G! [3 @, _& w ^2 y
(vif-script vif-bridge)0 K9 l6 w9 |# u; t
2 N$ O, C( x2 y, y8 Y" ] g% A! D
使用brctl show来查看网桥; K% `) @. @2 B4 F9 [8 A4 m$ z
, f3 P' Q% l6 f0 V- M; S% R( `0 t$ p
DomU的config中设置vif = ['bridge=xenbr0']6 u4 e6 \- k* T5 L/ T# S; L
' [1 k: p- o6 h6 I3 H* I存储配置! h+ p2 E- W" `' X6 S! [" l) U1 K
+ P: Y+ n6 X0 P- D$ _, _8 ][root@db6 xen]# cat oralinux
. s* t+ I! |, `( N- e. R }2 x9 c* m% k+ O0 K8 J& w
name = "oravm1"
$ ]- {9 x# ^6 e$ s3 R6 e, F/ s d, r+ {$ X" ]% }. I1 R8 y
kernel = "/boot/vmlinuz-2.6.18-194.el5xen"
/ c. j9 {* p# y4 L1 E! e0 k* Z6 p, p, x+ h$ V
ramdisk = "/boot/initrd-2.6.18-194.el5xen.wd.img"$ ^5 d* z. I' ]- f3 G0 G) o
" A0 D1 d2 E8 m6 M% S" E: \memory = "256"3 M- s$ B& y2 `, A# L4 S
5 m& n0 q8 m, [, s0 C( x) S
vcpus = 26 u8 K# _; X2 h K, a
) j% F0 i6 g7 ~$ c' {( {9 |' l( g* v* Fvif = [ 'ip=192.168.1.140,bridge=xenbr0','ip=192.168.100.140,bridge=xenbr1' ]1 {8 S4 J+ r" g( }
5 m( m3 P( G X( z, Y, l8 ~6 S
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!' ]
& f& C! e3 f* F( y3 Y# A% \, T3 v2 V5 P! \1 g
root = "/dev/hda1 ro "
* R% d& D$ E" c9 k* h4 Y `7 n7 T# D& o8 b, C
------------------------------------------------------虚拟机-----------------
9 l5 l" g* b- ~
& Q% Q8 x4 ?1 j2 z6 a+ S( U强制多虚拟机共享存储
! V; S! L7 f+ d$ @4 a, A. h* ]: w7 o( c# }6 B
phy:/dev/sda,sda,w! 加叹号
+ B0 ]- j9 I: B& Q! r7 k2 K0 \( _: d& d
需要让xend为两块网卡创建bridge,需要修改/etc/xen/xend-config.sxp,将(network-script 'network-bridge')- o! \) J, w% G# _$ L: W8 b5 U
8 A0 `4 w0 c% B6 t
改为:" y5 @$ ~0 p2 D/ |- O6 t+ k! G' X- Q
8 B6 `4 e4 p/ f1 E( i(network-script 'my_network_script')8 e ?1 R5 V p; u9 _( Y
! B: E+ U/ ~3 O! @3 a, R
my_network_script是我们自己的脚本,创建/etc/xen/scripts/my_network_script内容如下:; e7 [% G6 q7 E4 U/ T
* v- ^: b- o5 u#!/bin/sh
2 p- |+ f7 U2 L6 r: W; k$ \9 [0 q5 V8 V8 }
dir=$(dirname "$0")& W k% y# W0 M- G/ G
% g; c6 V/ g n6 p7 F. n4 V" r
"$dir/network-bridge" "$@" vifnum=0 netdev=eth0 bridge=xenbr0
8 u% B: n; H8 H+ A8 L. ?5 j4 n& e& J. ^0 [
"$dir/network-bridge" "$@" vifnum=1 netdev=eth1 bridge=xenbr1
; t6 V }# T+ V8 j; J4 ?; v$ R" }9 \& q2 \8 l* I; E6 ^- @! ^+ I
将my_network_script加上执行权限:
$ n+ C* z$ ~" q
3 C+ _: C2 j/ t) M# W2 Tchmod a+x /etc/xen/scripts/my_network_script
& U& t7 S, o0 S( X& c, ]" {! f
# x: s5 p5 @: l+ Z% ]重启服务器,可以用ifconfig看到xend创建的4个网络接口8 w) \/ C/ C) W% e
: I" A! a8 j1 N( h& C
可以看到虚拟交换机上的连接如下:( B5 v: x" e5 H4 G2 o4 @" K
[root@rac2 xen]# brctl show; z5 |( r& ]" T9 }+ B
bridge name bridge id STP enabled interfaces# k( `% V" f$ x! ?
xenbr0 8000.feffffffffff no vif1.0 dom1的eth0" Q* I& j0 e- p2 A; g K& @
peth0 主机的物理网卡0
9 k- B! z2 P; q2 L) f vif0.0 Dom0的eth0/ m. H0 d+ T8 M+ e' H6 T7 K
xenbr1 8000.feffffffffff no vif1.1 Dom1的eth1; ?- \+ P& n) b
peth1 主机的物理网卡1
% r0 O( L( x* _" z' v+ y& s vif0.1 Dom0的eth1
# K5 a ^: L% N* d7 K x5 D: k" W# [1 C# R
编辑虚拟机配置文件:( P* s+ Z2 N; E, I
* U e8 e6 U8 q: Z/ `
Error: Device 2048 (vbd) could not be connected. Failed to find an unused loop device6 l) }& _+ s7 `( K2 w
8 A/ W) R" Z, O8 I# u8 Y3 W5 y- v% v% _
Error: Device 2064 (vbd) could not be connected. losetup -r /dev/loop8 /domU/sdb.img failed
. ~% f9 w3 O, M! I" P! ]5 }
2 M9 l. j, J1 p( X: | ^- ?>losetup -a 查看loop设备使用情况
6 a4 E A( T% h; a. ^! \% q. `. A: X; g4 H" R6 H0 B
再卸载 loop 模块 rmmod loop( V: Y+ G- @$ l/ d9 u5 E1 D) `
; o- w0 A& C# b1 b% O$ W& f; p
>vi /etc/modprobe.conf
5 i& h( @! a: A, X9 J' d
, N" w5 A* u$ r- \( B6 W* Foptions loop max_loop=16
! ]+ r! b. J. }, V! y$ S6 `+ W# p8 z+ |: m9 _- Z* a# j) s
再重新加载 loop 模块检查是否生效
/ k" ]& [" v& x+ `
6 b9 x8 e$ w$ X" F" w9 n/ q9 ]modprobe loopdmesg | grep loop # 应当能见到 loop: loaded (max 16 devices)
( @' _& A8 M4 w- v+ e: [2 a2 N
4 A& m" x5 a. n( g& p) P% C$ M最后建立 loop 设备文件
# S5 T; l' [7 b) f
5 q- `4 {: H: K- Vls -d /dev/loop*
( R* V( t, C- ~# U. l3 q$ J" h9 q
/ `; e# _: w! i* R# G2 |& Xmknod -m0660 /dev/loop9 b 7 8
: m5 U |8 s. h$ Q: a3 m( I) O2 P
1 e" x8 c% W3 S; b/ Achown root:disk /dev/loop9
; g/ m( ~) i/ o- V% F0 n7 r7 Z% d8 r9 x2 n( i3 F2 @
mknod loop8 b 7 8
[$ O' ?# w; r( X8 K% e! C4 U; P. Y( J: \: U' y8 b
mknod loop9 b 7 9/ r2 f% g9 r P4 S! q
9 _3 h/ N/ k0 KQ: ADDRCONF(NETDEV_UP): vif1.0: link is not ready! a( t( B4 v/ e) Y( ?0 Y' W
2 F( e5 _1 ~5 X9 n @0 sA: 将/dev/sda1改为/dev/hda1
, H) f" Y/ M; w, ~: q
/ V& R" u7 Y8 U) W9 y, MQ: 使用vnc报以下错误
5 x9 | M1 i* [7 l[root@db1 ~]# su - grid
4 _7 X( y. C, i: U; ]# c7 C-bash-3.2$ xclock& r+ a' V, t. V8 R/ J8 R" F: {
Xlib: connection to ":1.0" refused by server
$ H1 K& M' C* {. ~, ?Xlib: No protocol specified
2 G8 {+ W/ ^& r( SError: Can't open display: :1.0: o# k O$ ~# j+ G: }& B/ U
; b6 y- J9 y3 T9 S8 b, p H4 ~
A: 用root帐号执行下列命令既可
( t4 p6 a, \9 Z. w; N+ l$ dxhost + localhost, `8 I i1 P8 e0 X
" G9 s- f. m/ p Z9 r+ O/ ]( l
Q:fdisk分区表无法保存' {5 f4 O" U1 O- c# @: \8 Y
A:) ~+ r. z3 E$ [( s- I( x& m; N% o
chmod 755 *.img$ n" V+ k8 x4 W- y- @. @
file:/slview/db1.img 改成tape:aio:/slview/db1.img4 w. Z: @5 g# j0 n. H! G5 V
; b1 A: X$ m. {2 Y5 f
Q:mkrootdev: expected fs options
; x2 n v) K4 n2 E q$ ^" | mount: missing mount point
F8 w A' D$ M* H! l setuproot: moving /dev failed No such file or directory1 C" A+ M# @8 Q3 E; Z
setuproot: error mounting /proc: No such file or directory' X3 r9 u) L6 t% Z0 Z0 O0 X7 f
setuproot: error mounting /sys: No such file or directory
5 ]' I% X% e! N/ U switchroot: mount failed: No such file or directory ; C) ]8 m7 S% K3 I; s
A:mkinitrd, /fstab内容
$ `( p) v( G" X7 K0 B/ R7 L) J5 X
# q, ]7 J U1 {& o* \Q: /sbin/hwclock: error while loading shared libraries: libaudit.so.0: cannot open shared object file: Permission denied
# \! h1 Z7 K6 J. J7 c( L9 ~; g, s7 t, F9 G, T( T. ^/ g
A: 关闭selinux |
|