- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
一、xl安装centos7- ~" m+ e5 f1 Z0 q" c
1、准备
* v2 H4 C! K$ I' F p" }* X9 N* m0 G1.1 下载光盘的两个文件. P0 x- q, z1 v+ ^ S! V/ x* d) W
代码语言:javascript# o9 C+ N8 E! N2 O* |7 B) h7 I+ `. a
复制$ T* ]" m6 u9 H3 A
下在光盘镜像 isolinux目录下的两个文件
6 O" }& T4 z7 H5 X1 [[root@node1 ~]# ll$ V8 E. R) F: z* Y' D+ v: [
total 40228. |2 c, R/ o# c, a) d9 X
drwxr-xr-x 35 root root 4096 Sep 11 08:39 busybox-1.22.14 Y# U! h4 B* Y9 z$ {, ~- A
-rw-r--r-- 1 root root 2218650 Sep 11 08:08 busybox-1.22.1.tar.bz2
. r5 ?" H0 L/ [5 q$ e$ Y3 I5 F-rw-r--r-- 1 root root 34815427 Sep 12 05:22 initrd.img) v: \& g: r& [
-rw-r--r-- 1 root root 4152336 Sep 12 05:22 vmlinuz
. T+ o9 i7 @ u8 H$ `5 I& i0 k" U
8 V v( X4 _7 L4 ~# D1 E* i创建目录存放: ?4 j" B8 u" d5 X6 Q. Z
[root@node1 ~]# mkdir /images/kernel; e8 k% }) i3 g7 s$ K
[root@node1 ~]# mv vmlinuz initrd.img /images/kernel/, w U6 r) F5 B. f4 M# }
1.2 准备新虚拟机的配置文件
+ y8 a1 L: _! |& g代码语言:javascript
* O( b5 g d3 M2 d0 I& L复制2 Z* o; h, E( ?! f. }
[root@node1 xen]# pwd
* J/ @ s* R0 k. |/etc/xen
; j8 i. ~. h3 N. p, K! m( H4 w[root@node1 xen]# cp busybox centos
1 h; ~, J* j0 G) r* ^+ t
V6 S6 H3 _+ z2 p[root@node1 xen]# vim centos
& w* s* {) E$ g6 n: Z
' t. w7 y# a$ V1 O$ a+ O6 Gname = "centos-01"
, x$ u( ?5 W3 w! Q1 D1 K v4 T) F3 u2 Ckernel = "/images/kernel/vmlinuz"
, W# g$ i& k- D6 h' y) Hramdisk = "/images/kernel/initrd.img"
/ Z. x9 N8 H L' B- P" Bextra = ""
' F9 `# O9 D* `6 ~% P4 _vif = [ 'bridge=xenbr0' ]+ L6 O1 D O. X2 T3 s
disk = [ '/images/xen/centos6.6.img,qcow2,xvda,rw' ]6 |6 N: J, E' n3 T0 V/ l
Q$ B9 U% v% y4 r& s. K, H' z#root = "/dev/xvda ro"( a o4 o3 t2 x" {- m% D
1.3 准备磁盘映像文件, j/ ]+ ` U9 E& V7 t
1.3.1 创建磁盘映像文件9 C' C. o6 M' g) ~# C
代码语言:javascript
# i# R; q6 c8 R1 R) {- T/ m复制' G# e- g* X. y8 E8 R
[root@node1 xen]# qemu-img create -f qcow2 -o size=320G,preallocation=metadata /images/xen/centos7.img
9 o c! v1 a* \- ?% v) ]" k* a1.4 开机测试( [* w$ M% e2 O! e
代码语言:javascript& K% M- W4 D! q
复制
2 g& M1 H% c& q7 d* y[root@node1 xen]# xl create /etc/xen/centos* W0 Q- t% {* g; z9 u8 g
$ n1 K$ _& b+ f/ l# G
[root@node1 xen]# xl list4 d/ k; N1 W% r6 p0 E# m
Name ID Mem VCPUs State Time(s)
+ v) m$ }3 V& b; U2 n! l. ODomain-0 0 1024 1 r----- 691.5' Z! `6 J5 g$ _ w" r
centos-01 21 512 1 r----- 5.8: [0 ?4 D* ?* A
连接控制界面:
. @) S3 R6 N/ J. M( ~" ?' N[root@node1 xen]# xl console centos-001. J/ a8 z3 Z4 o- N
/ G' y. w" d9 f7 U$ \* _: Y! A, V9 `7 s. I
* {4 b: h3 D% ^
手动配置IP:
" e0 b- E- u J+ I' I0 s7 x1 v- O2 v, c' S/ r7 x9 [
选择镜像FTP目录* q* U0 p* ]/ X7 K
& o! l, Q g* y7 h
2 X/ P& ?" g0 T# T
9 m% W+ V* ]0 u0 Y" [
' Z: [( H, j y/ E3 b0 G2 q; v% N9 \1 \" e) y7 \
以此类推安装系统即可$ S# Q% @2 B' b8 { o& s. Q N
4 f7 i4 u/ N' p' h& @$ B7 {
4 S& y- r: H# j' \3 C
二、基于自动化安装(kistat文件安装): n% y8 h2 @+ @# ?, _% j
1、删除之前的虚拟机
; |6 P7 h; b7 B, t* }# H" H代码语言:javascript' m/ \" F; [4 |6 k
复制
8 {! c/ H6 {; @& |5 \9 A$ \[root@node1 ~]# xl destroy centos-0019 P ~7 E) L1 \. k& g1 s
2、由于我没有ks文件,这个实验只能不做了,只看马哥视频过一遍 。自己手动安装了一遍centos6.61 t1 y4 n: G' A0 S
代码语言:javascript
* R, x! x: f! C' X- | N复制) y8 y4 H& ]0 s# ~* {' o) @) t
修改配置文件
; Z- J/ ]+ D- n4 `vim /etc/xen/centos$ z# g/ h9 U% P z# \" O7 O4 |
extra = "ks=http://172.16.0.1/centos6.x86_64.cfg"% s2 R0 p5 x a. b4 J4 z
on_reboot = "shutdown"
: z8 ]. C" I; @$ G g2 r! ?7 @
6 ]: h1 K1 B: o+ z开机后就会自动安装系统; O& S, _" u |& w; r
[root@node1 xen]# xl create /etc/xen/centos h$ q' a+ f6 E! [0 f3 e/ }0 W8 U
2.1 安装完毕后修改配置文件(下次就会直接引导新系统,而不是重新安装); r" W# |1 L' q7 k
代码语言:javascript! y# z3 d/ d$ T1 N5 X( D y4 J
复制1 B. X2 ]1 g# H2 W
vim /etc/xen/centos# T6 | D$ J- }& I* o+ k4 }9 e: U
name = "centos-001"
2 O6 O) `5 F. r6 g2 T0 r% X: H" e6 b! q
bootloader = "pygrub"
- }4 h6 x8 _# i7 Nmemory = 512
- f2 n5 t+ d# H% |8 J" s* ?! {vcpus = 1
- W$ t: x9 ?# A% T- Evif = [ 'bridge=xenbr0' ]/ p1 T4 r5 j) V: D0 k0 _9 G
disk = [ '/images/xen/centos6.6.img,qcow2,xvda,rw' ]
7 g4 g! H9 o, X1 h& j2.2 关机4 F: l# F i! \" r# K
代码语言:javascript
1 C& w$ l( @* d复制
: g2 B ]8 L# Y9 I( l& d# xl shutdown centos-001$ u+ G2 Z3 o f' M, l7 }( e1 n
三、定制系统模板
6 P( p$ Q, b& H! B# m$ g1、安装设置cloud-init% ~; x1 N. {3 Y: V9 p9 j
代码语言:javascript! s; s2 Q% S& t( T, \* r
复制
7 Y$ v0 [; @, F& b9 x[root@node1 xen]# yum info cloud-init
& A7 a% ?8 ` e5 ~* o0 Y# GLoaded plugins: fastestmirror, security8 x( }4 c# }( q! H8 H; |8 f
Loading mirror speeds from cached hostfile# X+ n, n# Z$ d, b# Q/ s5 ^5 M
Available Packages4 ~1 [- j! g7 [
Name : cloud-init# Y" y4 a8 }. E3 o
Arch : noarch
: T/ I: \- n# L* T" }* C$ cVersion : 0.7.4# c7 ]6 N6 D8 K4 h, T
Release : 2.el6' Q+ ]( q' `# m F
Size : 487 k
) G- i2 j4 N* I: C$ A- bRepo : ali-epel# N' O; G( Y# |; p9 f: |- e
Summary : Cloud instance init scripts4 R9 U6 H4 r7 i# \0 ]# I
1.1 剔除磁盘唯一信息,生成随机MAC地址
; O" {; @* W- b: j+ g1 @四、其他! a) s0 ?+ Z3 H5 E* F
1、使用VNC
1 @9 U; O+ ?7 c1、编辑vnc配置文件
" j2 W' A1 M/ s& C- ` e9 {* ?代码语言:javascript) v8 ~8 x( X4 u* T& f4 t$ a
复制- }" K ^% G% b1 R, n; S, |- z
[root@node1 xen]# vim /etc/xen/busybox
0 }. M) ?, {; s. o' h6 ?' e1 f8 H7 ~9 u) a) V6 v
vfb = [ 'sbl=1' ]
8 @0 z* o3 O6 `: D7 {测试:4 F! Z, k# O/ P$ l7 B( K
. R) {5 k4 q& @5 p! ~: ?' Q, h* P
2、VNC
0 m# g0 f9 S" E2.1 Dom0安装vnc
% p# ~ D: ^4 U) ]- s2 I代码语言:javascript
# n$ J( }" Y( a( C复制0 O6 S- A6 Y) c4 Y/ y5 z7 S& C
[root@node1 ~]# yum install tigervnc
1 D2 T) y n& m3 ]% P* G( p4 ?6 _) D
3 z; h' ?3 k( J& s) F- l[root@node1 ~]# vim /etc/sysconfig/vncservers
1 }3 o' {6 f+ q! k- V. \3 c1 k1 K) I) h7 |% j3 s( ]; e
VNCSERVERS="1:root"+ W; ?5 ^- o. T6 H* {( ]
VNCSERVERARGS[1]="-geometry 800x600"
& S5 m6 C T* [5 ^' U5 ~7 C4 _& D2.2 修改虚拟机配置
+ D; y: Y& D8 C3 d代码语言:javascript
/ @: y: U# t& H- L9 O复制4 `0 |9 {: D1 u. {1 N
[root@node1 ~]# vim /etc/xen/centos
- R( @* ]% W; w! j2 J4 M6 D2 g* O" Q- w6 m r3 J+ A
vfb = [ 'vnc=1' ]. A0 A* U) W+ U* s Y
2.3 通过windows远程连接" W4 p; U) H9 _( A: j7 y& I
代码语言:javascript
2 r# ~# _9 K& F- V% @4 V. I复制
6 `4 p Y4 N2 ^4 Vvfb = [ 'vnc=1,vnclisten=0.0.0.0,vncpasswd=123456' ]
4 c$ Y0 ]$ U8 l8 n n2.4. Q% m4 n/ r s' r: b
五、使用Dom0中的物理磁盘分区为DomU提供存储空间
- a, B$ j+ U% P1、分区格式化
! _4 `6 p# m% D: g5 v; h- s# l代码语言:javascript) @$ B, ~1 p; J1 J g$ {6 a0 {
复制
, h7 j# m- ^& [fdisk /dev/sda
. Q, ~1 D3 ?5 \$ d# a* _Last cylinder, +cylinders or +size{K,M,G} (24134-32636, default 32636): +30G+ Q0 B* C% E6 [* V* R
/dev/sda11 24134 28050 31463302+ 83 Linux
0 o& x- Z0 F2 @ ~8 m
- n* X( ?' s7 g. \Command (m for help): t
- s9 Y- k% J! M! FPartition number (1-11): 11
, Z z+ p E3 E$ IHex code (type L to list codes): 8e) P6 T- B4 i3 r# b9 |, P* T
/dev/sda11 24134 28050 31463302+ 8e Linux LVM
. @) G$ n. S% x" j+ b" d; {* r2 `& f- c+ n7 b
[root@node1 ~]# partx -a /dev/sda
6 s$ A Y w# @: \ l[root@node1 ~]# partx -a /dev/sda" n* X* x0 F2 Q
1.1 创建LVM卷: K: V: }5 V, |0 P8 X& C
代码语言:javascript
+ f: S+ ^' `5 d0 B复制# q$ P6 ~$ e# |# {2 q! R
如果遇到系统grub损坏,进入拯救模式:0 T( W/ E: `* F
# grub-install /dev/sda
2 K; R6 ~3 t% u5 L6 M: I8 H3 r$ C8 r/ L# {' Z
创建物理卷, ]# L e3 _3 u5 b5 M) K* [
[root@node1 ~]# pvcreate /dev/sda11
0 z2 w" i6 o+ o! a, T Physical volume "/dev/sda11" successfully created4 h- s$ M: K, q
7 }, \$ h0 U: F- |3 M0 f# ~2 h
创建卷组:
9 ~, l7 z" z+ E6 U8 k9 L2 d0 g+ H! f[root@node1 ~]# vgcreate myvg /dev/sda11+ E" {! e7 W. R1 B# s; r8 y% E
Volume group "myvg" successfully created' x) } C+ T9 [6 C
* M/ `9 c2 w. F3 S6 V创建名为“bbox”的逻辑卷+ a$ S8 ~5 Z$ j7 a6 g& }
[root@node1 ~]# lvcreate -L 2G -n bbox myvg& n! }# W: C: v& K$ N8 K- m' W
Logical volume "bbox" created.
5 p/ V$ b% [% z( b/ ?+ _6 B( ?1 y3 G( i" B! [9 E
格式化:
( j! {0 Y) M! y5 h8 f3 C$ d& @) `[root@node1 ~]# mke2fs -t ext2 /dev/myvg/bbox
# R" U) m( C2 i$ n" q- s2 z3 D& c
挂载:
' @; T8 p' t. `[root@node1 ~]# mount /dev/myvg/bbox /mnt/
) W* N8 j6 X3 q" J1 T; I2、提供映像文件$ _6 H H0 F9 m% p
代码语言:javascript8 ~ ~* E% F& M
复制
+ R2 \5 x& n+ P, h- a[root@node1 ~]# cp -a busybox-1.22.1/_install/* /mnt/
& G) \! n" ]- Y @" ], f2.1 创建其他系统目录和文件
' S% G% Y6 H$ E$ a代码语言:javascript
7 b4 P' B! v, C: A复制" p- b9 [: d/ m1 S+ b& R" ]6 A
[root@node1 mnt]# cd /mnt/
' _/ m% T# w7 x" g$ S. [[root@node1 mnt]# mkdir -pv proc dev sys tmp etc var boot usr
7 B1 T" d% h4 E# j8 I Y* [( [3、提供虚拟机配置文件0 P& F- {) p) X2 a0 w' Q
代码语言:javascript8 \' o" C7 T% Q) v% c
复制% _; g E% J" M* ?' P
# cd /etc/xen/ V* e/ T8 ?& ~: W, L
[root@node1 xen]# cp busybox bbox
; q- T b- |8 @# W$ K5 M2 ^, n: e( O0 W Z R1 {, C2 H% e( s
[root@node1 xen]# vim bbox ; H! k6 B0 ~2 P% V( d/ f' A6 o/ S. v" H
# J7 t" ~* R6 X) i/ J9 iname = "bbox-001") S3 N1 w1 B' y7 E8 k. L
kernel = "/boot/vmlinuz"
2 I, q' |1 a5 p5 ?2 @: U# ]$ X! Aramdisk = "/boot/initramfs.img"
# b5 P4 O9 \- V, |4 U8 O x0 B4 Nextra = "selinux=0 init=/bin/sh"
& h! |1 P; N+ p' G" A; _+ Gvif = [ 'bridge=xenbr0' ]! ]; L- L& j! v" e- o
( d9 v. v e' [/ c* V: idisk = [ '/dev/myvg/bbox,raw,xvda,rw' ]
: c+ U6 C5 _; W6 H. V& M" `4 ~4、启动测试( `3 d2 U5 r* g1 J* L
代码语言:javascript
2 h$ s# U- l: R8 Y2 P4 o复制+ U7 q# V, z3 Z! Z$ l
查看生成的配置信息:
7 J7 R2 q* S& a2 h6 v1 J[root@node1 xen]# xl create bbox -n
3 }' Q1 |/ T1 I; X/ Q- B2 _4 G3 p3 S& \1 R4 e+ I# \* Z
启动测试:) b9 T2 [/ ]9 F
[root@node1 xen]# xl create bbox -c1 f" U: m9 o# S
9 ?, i' i4 X$ X* |9 w- T
/ ## B* h5 R- j# N# S& @4 R1 t& _( P) z
五、libvirt实现xen虚拟机管理( b9 y& C" ?; s2 X0 \
1、安装& J2 b: Q/ R* M" b" ]. z1 e
代码语言:javascript
! h2 k$ T; w8 [3 w复制
& {4 J$ b$ C9 d+ e( |[root@node1 xen]# yum install libvirt libvirt-daemon-xen.x86_64 virt-manager9 m2 G- n8 `- g
1.1 启动服务9 S2 N: j# z2 w9 a
代码语言:javascript
% X( P2 g" D8 U& T3 B8 c! e6 i5 n/ h复制
A8 V; t0 O! o% g9 u! L. X[root@node1 xen]# service libvirtd start- M0 X6 U' M! M
2、 virt-manager" _4 j0 r0 ^5 s/ j! p: O+ Z
代码语言:javascript
3 o4 L( m& s8 X' G4 K% ^! r$ Z& S复制/ H7 }+ L5 w/ c Z2 E# z# z: Q
启动,会弹出图形界面/ h) q+ }# F4 h. n2 j" S+ h+ B$ q
[root@node1 xen]# virt-manager# m E0 `/ M3 f- k" h
2 U# f* @6 a9 H8 X) ?+ o+ e弹出第一个窗口点 no3 D' p; U) u+ J& b4 n+ T
2 B3 [5 B. G$ r/ ^$ B
- J5 u" V: C3 o4 w) a/ O0 u创建虚拟机:
6 [' `/ L. l+ F! Y
' t8 O4 V X* j S" b) z: h6 N( }. L3 L3 { ^1 R( n
图形界面很简单,就不截图了。& H7 A7 [: L) U; S9 T, ~$ |
4 P" U0 J' p a! W) @) P
: z1 ^4 I/ S% C$ Q& x
磁盘目录 /var/lib/libvirt/images/
9 A- `' N4 `; f3 D( v1 y
* k. ]" P# w$ o$ Z
/ y9 J& Z L x+ h8 u4 J# G$ Q7 Z1 ~' H+ {! H+ b
3、安装virt
: z1 A/ \- v- v" E) W代码语言:javascript
% B2 |; Y: g1 R0 q" q( @; e复制
3 q& S. ^" t6 M) t8 C4 }[root@node1 ~]# yum install libvirt-client4 D! D/ R* s) b1 N, h
5 `' V' A( V/ ]4 H( R[root@node1 ~]# virsh help. t2 J o6 W8 A; b4 S; v7 K
3.1; p; H5 a$ C% Q- d
代码语言:javascript
8 h3 R- L: [0 ^: S复制
o0 O& t, D5 z查看处于运行的虚拟机
% q C# _( ?( O; p[root@node1 ~]# virsh list
1 |1 s( {+ m K2 o/ \2 k4 k2 K, @5 @ Id Name State
3 t( f3 c. _8 h( s6 w: p6 `* ]----------------------------------------------------
* G) v8 \' S" U8 l; w& M 0 Domain-0 running' X: q4 i, [. W
) C' |) ~ z; o3 C% G( c关闭虚拟机
/ A3 B9 R- K u W+ s5 F[root@node1 ~]# virsh destroy centos4 ?2 r/ d0 @# Z9 I5 {
: f8 k' E3 m# v+ K |
|