- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
一、xl安装centos7
, L+ K2 e# Z" m& u1 j0 X2 w, ^1、准备# |5 q6 E; Y: h* h# b
1.1 下载光盘的两个文件2 U+ `* I; N+ k h- W/ T
代码语言:javascript
+ Q* r8 @; K5 t. c/ s4 [8 b5 q复制9 Z' W- ^7 r2 s$ X
下在光盘镜像 isolinux目录下的两个文件% W3 L; ~3 {2 D: e& n; k7 j4 S- H
[root@node1 ~]# ll
/ T( y# L2 h% M) }total 40228
7 W/ L% v" s' R- tdrwxr-xr-x 35 root root 4096 Sep 11 08:39 busybox-1.22.1+ s; }2 v! y/ m, a2 L4 W+ o* F
-rw-r--r-- 1 root root 2218650 Sep 11 08:08 busybox-1.22.1.tar.bz2, f! {: k% g+ \* _+ q
-rw-r--r-- 1 root root 34815427 Sep 12 05:22 initrd.img
6 c3 b; y: z0 }3 l0 m- ? N+ p-rw-r--r-- 1 root root 4152336 Sep 12 05:22 vmlinuz9 c4 i. o# f; s+ F* N( E
0 V/ m2 S: [. o/ g
创建目录存放:
0 ]% ?" ]3 U+ y[root@node1 ~]# mkdir /images/kernel
& S. Y f0 c& N2 w, F+ w' x9 Q[root@node1 ~]# mv vmlinuz initrd.img /images/kernel/5 Z5 U$ W9 X8 d' W2 Y
1.2 准备新虚拟机的配置文件
2 t" S- {$ U: {3 {代码语言:javascript
7 Q" w* s% z$ v& x& ^复制
0 g6 V e1 y! B$ |. b[root@node1 xen]# pwd! b2 V1 q) U l, o/ \! x
/etc/xen
* `: d; w4 J! @8 V" k[root@node1 xen]# cp busybox centos W( e: Z+ s, o
+ B9 M! r% V9 M- h; W/ Q ?; E[root@node1 xen]# vim centos
8 b1 d8 p+ X, N# k$ r2 ]
' _' b0 i+ m) u. Aname = "centos-01"3 g1 y% w3 y6 m
kernel = "/images/kernel/vmlinuz" D( p& a7 {, l# b A' c
ramdisk = "/images/kernel/initrd.img"( I8 ~% D1 n* q$ i
extra = ""3 T3 K3 P) c; u; {7 f4 i
vif = [ 'bridge=xenbr0' ]6 i+ r& g4 R2 U; n9 Z
disk = [ '/images/xen/centos6.6.img,qcow2,xvda,rw' ]
/ O& m8 W/ F7 ]) p/ m
, ~1 j5 l2 L+ g6 ~#root = "/dev/xvda ro"
) t" l* G7 [( s% l1.3 准备磁盘映像文件- d. A7 x% h; D; n0 B& D, j
1.3.1 创建磁盘映像文件
, x6 |- X$ @# _% e/ x代码语言:javascript- S6 i1 ~; y9 Q; s
复制5 ~: l1 {# m3 P/ a0 m
[root@node1 xen]# qemu-img create -f qcow2 -o size=320G,preallocation=metadata /images/xen/centos7.img
+ i$ Z5 [' v$ w5 J1.4 开机测试2 A% s- n4 L7 f' {" ~
代码语言:javascript
8 m- A( l- }3 q1 Z复制& ?5 E! L7 m& j; E5 [. L1 v
[root@node1 xen]# xl create /etc/xen/centos0 z7 J: ~" `# V" f* |: j
. W# g7 h% q" S) _5 k) ?[root@node1 xen]# xl list
8 n4 W# B$ M; M9 uName ID Mem VCPUs State Time(s)6 O' P1 _3 E& H( }' {8 C
Domain-0 0 1024 1 r----- 691.5- R' }: q' c% t& _: e2 l3 n, I1 G
centos-01 21 512 1 r----- 5.8
' q& b3 A0 t% e连接控制界面:, A5 I1 P+ y( S3 A0 K( B; D
[root@node1 xen]# xl console centos-001
6 U, b: T( I% w# B) p9 c3 f3 e$ G$ f/ e
7 ^+ W* }) `# }+ ?
( L$ |+ ]) P( q# Z, P8 _7 ?/ E
手动配置IP:
* e( Q) S2 K- N, F. D4 k o" a& V; B1 v& Q
选择镜像FTP目录- v' z6 x- E3 \: U& g8 V9 j+ x
: m' Z, q# _6 A( M4 U* h* K$ s9 ]# w8 b
5 w0 P+ ^/ w# w+ A6 Q8 A: b+ }4 B
& S0 j$ a5 q9 [: w, e2 M' r$ E以此类推安装系统即可: I; X7 C' |, ~2 k( _% u
* y' B- ?' Q, x' @: K' _, D
4 X, U' ~& q- [0 C/ |4 B8 L二、基于自动化安装(kistat文件安装)) N! e7 F# A9 w7 U6 D3 p( D
1、删除之前的虚拟机7 g6 d0 j; n3 b B6 B
代码语言:javascript
/ `% _0 @, e% }- Z, X6 `复制( G# w# @4 s% P8 q9 v
[root@node1 ~]# xl destroy centos-001' Y7 c3 d" [& x% \5 c8 e
2、由于我没有ks文件,这个实验只能不做了,只看马哥视频过一遍 。自己手动安装了一遍centos6.6
* q q# X# ^, ~# t# b! P代码语言:javascript7 k0 x7 X% d8 d7 E
复制$ y( d( W: X8 K+ v' J( t M
修改配置文件
; |7 l, m7 [9 `vim /etc/xen/centos
5 G9 {0 h: f0 Q6 B5 L* oextra = "ks=http://172.16.0.1/centos6.x86_64.cfg") ~, {" J! P% L. S
on_reboot = "shutdown"7 v9 y0 s n( g2 r
3 t; P- C9 z# ^0 \. Z. n' {
开机后就会自动安装系统
* j$ o F$ ?" v" u1 ?: r[root@node1 xen]# xl create /etc/xen/centos) I/ V; c& s7 H! q: V& A! c
2.1 安装完毕后修改配置文件(下次就会直接引导新系统,而不是重新安装)
( A# U' P6 B" [; k代码语言:javascript
8 B: {5 c4 ^. s( t复制+ t+ l, }& ?' V- L7 ?* w$ u
vim /etc/xen/centos1 X! e5 _' j! {* k& W4 p8 l
name = "centos-001"
( p& h2 k$ X ]9 o1 b
- E5 @, E) f2 E1 t4 n3 R9 Hbootloader = "pygrub"! w- E! N' N# O( K/ _
memory = 512
* x' C& o/ b9 U* O. cvcpus = 1
& O" _, T# W) U0 e% S0 dvif = [ 'bridge=xenbr0' ]
* C* c; p, |# Ydisk = [ '/images/xen/centos6.6.img,qcow2,xvda,rw' ]
5 L/ F3 Z' a. \: i2.2 关机" @, L4 @: T6 ^: \; e% c, P
代码语言:javascript3 X% `: L. X9 B1 X5 E2 L7 w
复制6 {0 C A4 O% m9 |) v
# xl shutdown centos-001- l6 S, T4 m7 U$ B6 t
三、定制系统模板
: G- X1 h& z+ T& P9 j1 U/ P1、安装设置cloud-init. F0 K9 M/ x) |4 U- F
代码语言:javascript1 o6 s$ }& Y1 V0 g6 d. Q" n9 R, ^
复制, O; k0 @$ \" j% {
[root@node1 xen]# yum info cloud-init
4 A& N g4 m% ^: W- W; J2 z8 NLoaded plugins: fastestmirror, security/ I) i: @! [# J
Loading mirror speeds from cached hostfile
: T' t, d+ {& I+ t* d& mAvailable Packages
' ^2 \8 j# D' a2 IName : cloud-init
- `( k6 V: B. R! DArch : noarch5 T( g. S9 N2 H& Z' X( u
Version : 0.7.48 I+ Z4 Z! M; Z2 t9 f
Release : 2.el6
) L' n* Q$ `$ q+ M9 uSize : 487 k
' |; J5 }7 s+ {' }Repo : ali-epel4 K9 d/ i* A* k/ T$ d7 N3 f: V% J
Summary : Cloud instance init scripts1 d8 ^2 j$ `1 i4 D; [
1.1 剔除磁盘唯一信息,生成随机MAC地址
& B: W' n2 X7 l四、其他
4 U% \0 h6 ?5 z4 e1、使用VNC
, ^1 i6 ~9 \3 S/ t- d' |4 `1、编辑vnc配置文件- P% p O4 e( }, e9 T+ _5 A/ \0 l. z- {
代码语言:javascript- R" ?/ U. r4 C1 L
复制
) |& c7 S+ W9 T- R+ o1 a[root@node1 xen]# vim /etc/xen/busybox
6 N) T' m2 N9 m9 _) w9 O
, _1 g+ {( y# avfb = [ 'sbl=1' ]: @+ {' i& u9 ]0 u
测试:
' J* x8 f0 I' i( r
0 q: B& q* y) P- V/ [2、VNC
0 _! i t' P: T1 Q2.1 Dom0安装vnc
: e5 a5 N, R' j. Y代码语言:javascript2 @, \ K8 B% p/ Y0 Q0 i
复制( A6 Z/ k! }. y0 Z( v& n% E
[root@node1 ~]# yum install tigervnc
" G# s3 b2 b# {0 Q" S, I, t( h b. Z0 q' Y8 v3 N
[root@node1 ~]# vim /etc/sysconfig/vncservers
, ^# x0 E; C) y5 ?9 ~; X" [8 J" b5 o% b+ |' s
VNCSERVERS="1:root"' R: k1 |/ u3 m2 H9 H/ u5 j: V6 X
VNCSERVERARGS[1]="-geometry 800x600"; J1 E4 d, U# e
2.2 修改虚拟机配置
, b" Z& ?+ q$ f+ j- J; _代码语言:javascript
3 S3 o; Y N0 Q. f& n复制
4 E9 W" B2 g/ L) K[root@node1 ~]# vim /etc/xen/centos ! Q: N4 `( ^) v7 i* H q
3 }# Q1 i! B- D- Fvfb = [ 'vnc=1' ], U* V; {* X8 D+ `, N( x7 ?
2.3 通过windows远程连接
' l @! q5 A, i* L$ B" [4 R) f代码语言:javascript" q% C% j3 L% L; p
复制4 F& v; g( g! t" F' t8 d
vfb = [ 'vnc=1,vnclisten=0.0.0.0,vncpasswd=123456' ]
& D& E2 X& L6 Z! h1 i9 A9 C. e2.4
' O3 `9 K( {2 v! d4 {6 f' V五、使用Dom0中的物理磁盘分区为DomU提供存储空间
: N3 }: @* E+ U+ L1、分区格式化8 H7 `2 @6 i) w# i0 E/ E g
代码语言:javascript$ D, [/ j, y0 ~4 K+ P
复制
& l. g% @9 t- A/ n, g% ^+ S0 Zfdisk /dev/sda! Z. r7 h* t9 O: h
Last cylinder, +cylinders or +size{K,M,G} (24134-32636, default 32636): +30G. N3 O: s/ {& K0 _5 z
/dev/sda11 24134 28050 31463302+ 83 Linux$ R3 @& \2 K( @0 ]0 y5 R
9 q4 ~' o. p$ {2 \- `3 }Command (m for help): t& ?% [. R6 e) l$ \. |
Partition number (1-11): 117 K! X9 L+ i6 H* M
Hex code (type L to list codes): 8e- F4 }* i; o- ^' d* C: W4 @
/dev/sda11 24134 28050 31463302+ 8e Linux LVM7 r4 Y U+ J' u4 |' t% i
3 h9 ?0 g7 b- k+ y( e, h9 D8 ?+ K
[root@node1 ~]# partx -a /dev/sda
) Q8 {: s( a3 \. l( {; B2 O2 c[root@node1 ~]# partx -a /dev/sda
. ~, _. K. r6 y/ i1.1 创建LVM卷2 v/ o4 o" T8 {; z
代码语言:javascript
8 ?+ q# {' Y* Q复制
* @5 F( ]: g& j9 w" Z如果遇到系统grub损坏,进入拯救模式:
4 `4 w2 R4 g5 J) `4 t# grub-install /dev/sda
, J* |$ R8 @+ ?& w: U P4 E( B5 \2 U/ i6 X+ i7 \# v) U/ q
创建物理卷/ i7 v! `* M1 X- u, M; T$ ~
[root@node1 ~]# pvcreate /dev/sda11
8 s0 o- ~! e9 y Physical volume "/dev/sda11" successfully created
( n6 p" f7 |& T& N3 ]- Y( F& c% b2 K# s) m& G! S) y M4 d
创建卷组:8 \2 s& j0 M7 Z9 K& L/ ^
[root@node1 ~]# vgcreate myvg /dev/sda11* l# c; g: ^. d& y k2 ^. V
Volume group "myvg" successfully created
! f, g: i6 @: b6 J6 \! c: B2 W4 J1 |! u; q0 w6 w( c5 l* b
创建名为“bbox”的逻辑卷
5 D/ Y' E# F$ q) K4 t) x[root@node1 ~]# lvcreate -L 2G -n bbox myvg5 O5 i* F, r8 N/ p8 U
Logical volume "bbox" created.
9 I# P/ H/ ] Q% F3 X
- s+ H5 n/ z, ]' S/ F5 K格式化:* q5 P. d/ k3 e1 \4 \# r3 X, P, W6 N
[root@node1 ~]# mke2fs -t ext2 /dev/myvg/bbox
* l5 n# @9 c" }# J4 t( Z
, `& v* A2 K" M5 V7 y挂载:
8 S3 R! r0 `, J: n9 u! j/ L4 R( Q; ^/ b[root@node1 ~]# mount /dev/myvg/bbox /mnt/, d% w% |: I* b ^
2、提供映像文件/ F: H4 ~% n g; W4 p+ x
代码语言:javascript
5 y5 ^2 ~9 _ W9 e: A复制
/ p! u; k% e5 N% W$ Y[root@node1 ~]# cp -a busybox-1.22.1/_install/* /mnt/
* |4 y- T, f; A2 d! t9 O2.1 创建其他系统目录和文件
9 B4 v% ~7 X6 l1 _" {" F, X代码语言:javascript" }, w% q) Y1 j; B6 ]. m- f
复制$ p1 l, b- H- p" N/ {
[root@node1 mnt]# cd /mnt/5 z. R* u- {: ~
[root@node1 mnt]# mkdir -pv proc dev sys tmp etc var boot usr) F* [" k8 A( f( M; C/ ~& x; k. j& h
3、提供虚拟机配置文件+ t: c+ x3 ], G
代码语言:javascript# e4 `- \* }6 m2 ~( n, U: P5 F, n
复制; k5 _5 D# [4 w
# cd /etc/xen/
% O; U8 G |5 [( k7 N: n3 w0 ~% ^[root@node1 xen]# cp busybox bbox! f# @+ i: Y/ {7 ?0 _1 l! { G9 i
2 M4 c- {) f, G- w; X# N6 }1 a
[root@node1 xen]# vim bbox
% l6 x+ Y. l6 Y$ u2 r! d; T% H! D( u( q, ~
name = "bbox-001"/ Y7 i) T+ p( S+ [1 Y
kernel = "/boot/vmlinuz"
% k! r9 D, g! framdisk = "/boot/initramfs.img"* I8 x& ]3 C% X7 N% F* I
extra = "selinux=0 init=/bin/sh"
4 S' x; C8 l) y9 X% Qvif = [ 'bridge=xenbr0' ]4 `1 e; }! O# M. o
7 n0 }% M$ e7 ]# H; n; C2 H" ~disk = [ '/dev/myvg/bbox,raw,xvda,rw' ]
8 Z& S; S! b, l3 B* W4、启动测试
% @$ Y/ p8 J" I( }. g) A代码语言:javascript) S$ c. b( ~0 [
复制! M3 f4 l0 {/ t% D
查看生成的配置信息:6 j. X5 ^* V" y( {/ a. x
[root@node1 xen]# xl create bbox -n3 @5 V3 n' T8 S4 f& K( i
; R8 J2 j0 f( q+ J, F0 Z; m7 `
启动测试:
/ x8 Q; }. s" x$ @2 M3 _ t# n[root@node1 xen]# xl create bbox -c
6 G: R8 i: F" Y: K( q9 w/ g @7 R) i# T9 w% A) Y) N$ e3 |
/ #
! x: B, I& L) a1 E4 ]. B' N: L6 ^五、libvirt实现xen虚拟机管理
3 l( v) k6 K4 S2 g2 W1、安装/ M" _5 Z6 t# \ m
代码语言:javascript' l& S, ?& H$ F8 e
复制
( L# J3 K/ R& y, B4 F[root@node1 xen]# yum install libvirt libvirt-daemon-xen.x86_64 virt-manager9 `3 g. u* \- p% Y. M2 Q
1.1 启动服务; f0 h6 ]! e$ u4 e
代码语言:javascript
" P( \9 N+ @/ I7 A复制
9 ~& a& Z/ g% {: {/ b" H[root@node1 xen]# service libvirtd start
& V0 z) h$ I2 k% r y6 w2、 virt-manager
' ~) G6 L" r, R% {! z$ |& `* S代码语言:javascript
P( C, x2 `" i& g" d8 Y# r7 p0 Z复制* Y& K" e- t5 |9 N9 C E2 w" T
启动,会弹出图形界面
: B. @( J4 z# L5 w# R+ \[root@node1 xen]# virt-manager
, X! n; H; a! I W* m0 _2 K% g) y; u+ O' ^+ j! ~
弹出第一个窗口点 no4 E6 [, N8 C5 P+ Y. }7 a& q
" v3 a: v+ V1 {, p+ N' ?* y* k2 [: l
/ ~+ I) g4 H$ R. e* r( d) T创建虚拟机: n [5 { C9 r8 S/ k+ c1 N) P
4 c. F, D! g9 d
9 Z# {0 R; K( b. A" }. p$ M( A9 N4 p0 E图形界面很简单,就不截图了。
) C: S$ u, Q% y- q; J A0 V- P7 z( m# }
! E( @1 ^ w1 i+ h! _$ U8 M& v. D2 J5 O9 `9 b6 A3 m3 w
磁盘目录 /var/lib/libvirt/images/- K& I0 A' k G
: |. J# t9 j5 I) Y6 e8 h q: w- O& b
9 u; P% i( o7 `; D; i
! K( G9 B8 _. D5 v* E. h( U V3、安装virt0 w* R0 ?% B5 T+ r H* ^
代码语言:javascript, r5 z& F& G; ~" e j
复制) C7 T0 [: L0 f, l5 j: |7 i
[root@node1 ~]# yum install libvirt-client
* m* @$ h( y2 K) k: O, T8 H" E4 A3 C6 W: C) G# H6 z% h
[root@node1 ~]# virsh help
( _6 F& T; E1 P6 w3.1' s0 k8 }/ g* g: E. ]
代码语言:javascript
9 P2 h! N: X8 U8 W/ h1 R复制6 X1 _. \) V) j0 t# j/ i. p* J
查看处于运行的虚拟机$ B b9 t- r4 u
[root@node1 ~]# virsh list
. x- s8 ]6 C: W; U* ~, w* j6 K- C Id Name State3 z; R8 r9 ^0 G$ S
----------------------------------------------------
+ ?( K" A* P" p2 x# N' h 0 Domain-0 running
/ x G! S( H+ Y& R z4 {& y: ~, y; q# {+ U; b5 g
关闭虚拟机
* V# C( T6 D3 H& j( _[root@node1 ~]# virsh destroy centos: I) F) Q* @& u9 k* X; i
5 S1 f' }7 a8 U
|
|