当前位置:  开发笔记 > 编程语言 > 正文

Xen虚拟机的安装与配置

没有实际的测试硬件,以下是在VMwareWorkstation中安装centos5.5进行的。前提:xen提供半虚拟化和全虚拟化两种模式,全虚拟化要求CPU支持vmx(Intel的VT)或svm(AMD的SVM)技术,半虚拟化只要求支持pae。在xen中安装windows系统需要全虚拟化技

没有实际的测试硬件,以下是在VMware Workstation中安装centos 5.5进行的。

前提:

xen提供半虚拟化和全虚拟化两种模式,全虚拟化要求CPU支持vmx(Intel的VT)或svm(AMD的SVM)技术,半虚拟化只要求支持pae。在xen中安装windows系统需要全虚拟化技术,否则只能装相同版本的linux.

查看CPU参数:

[root@study ~]# cat /proc/cpuinfo | grep flags

flags : fpu tsc msr pae cx8 apic mtrr cmov pat clflush acpi mmx fxsr sse sse2 ss syscall nx lm constant_tsc ida arat pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm

以上信息看到只有pae,所以只能运行在半虚拟化下,另半虚拟安装方式不支持光盘安装,只能用http、nfs、ftp等。

1.安装xen套件与核心:

yum -y install kernel-xen xen xen-lib virt-manager python-virtinst

软件:

kernel-xen: Linux核心,使用xen可以运行;

xen: 主要套件,包括配置文件、启动脚本、运行库;

xen-lib:运行库;

virt-manager:对xen图形管理工具

python-virtinst: 提供Python的virt-install命令行工具

2.修改默认的kernel启动顺序

[root@study ~]# vim /boot/grub/menu.lst

default=0        #将“1”修改成“0”,表示启动第一个内核,即xen内核

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.18-194.el5xen)

root (hd0,0)

kernel /xen.gz-2.6.18-194.el5

module /vmlinuz-2.6.18-194.el5xen ro root=LABEL=/

module /initrd-2.6.18-194.el5xen.img

title CentOS (2.6.18-194.el5)

root (hd0,0)

kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/

initrd /initrd-2.6.18-194.el5.img

修改完成后重启系统,检查当前的内核

[root@study ~]# uname -r

2.6.18-194.el5xen

查看服务

[root@study ~]# chkconfig --list | grep xend

xend 0:off 1:off 2:on 3:on 4:on 5:on 6:off

xendomains 0:off 1:off 2:off 3:on 4:on 5:on 6:off

3.检查xen是否启动

[root@study ~]# xm list

Name ID Mem(MiB) VCPUs State Time(s)

Domain-0 0 864 1 r----- 24.6

看到第一个虚拟机Domain-0(xen中的虚拟机就是domain)

4.创建安装

由于在半虚拟化环境下不支持使用光盘安装,只能使用http、ftp、nfs方式安装

配置ftp安装源:

[root@study ~]# yum -y install vsftpd

[root@study ~]# chkconfig vsftpd on

[root@study ~]# mount /dev/cdrom /var/ftp/pub/ #将光盘挂载到pub目录下,默认匿名访问

[root@study ~]# /etc/init.d/vsftpd start

5.创建虚拟

可以使用命令virt-install --prompt 根据应答方法创建虚拟机,也可以使用直接使用命令创建

virt-install -n centos -r 256 --vcpu=1 -f /data/centos -s 5 -p --nographics -l ftp://192.168.209.253/pub 

参数:

-n centos #主机名

-r 256 #内存大小

--vcpu=1 #cpu数量

-f /data/centos #磁盘文件

-s 5 #磁盘空间,单位G

-p #半虚拟

-l ftp//:192.168.209.253/pub #安装

执行命令后,使用文本方式安装也可以选择vnc,安装过程和一般安装系统方法类似。

如果你希望在整个安装过程中实现自动安装,可通过使用kickstart的图形工具建立ks.cfg然后执行命令:

virt-install -n centos -r 256 --vcpu=1 -f /data/centos -s 5 -p --nographics -l \ 

ftp://192.168.209.253/pub -x ks=ftp://192.168.209.128/pub/ks.cfg \

-x ks=ftp://192.168.209.128/pub/ks.cfg  #ks.cfg路径 

附:ks.cfg(安装完后的密码为“redhat”)

#platform=x86, AMD64, or Intel EM64T 

# System authorization information 

auth --useshadow --enablemd5 

# System bootloader configuration 

bootloader --location=mbr 

# Clear the Master Boot Record 

zerombr 

# Partition clearing information 

clearpart --all --initlabel 

# Use text mode install 

text 

# Firewall configuration 

firewall --disabled 

# Run the Setup Agent on first boot 

firstboot --disable 

# System keyboard 

keyboard us 

# System language 

lang en_US 

# Installation logging level 

logging --level=info 

# Use network installation 

url --url=ftp://192.168.209.253/pub 

# Network information 

network --bootproto=dhcp --device=eth0 --onboot=on 

# Reboot after installation 

reboot 

#Root password 

rootpw --iscrypted $1$36bsCbH1$UDJ6eCqPi2Nm1KsgajvHs1 

# SELinux configuration 

selinux --disabled 

# Do not configure the X Window System 

skipx 

# System timezone 

timezone --isUtc Asia/Shanghai 

# Install OS instead of upgrade 

install 

# Disk partitioning information 

part /boot --fstype ext3 --size=100 --ondisk=xvda 

part / --fstype ext3 --size=2048 --ondisk=xvda --asprimary 

part swap --size=512 --ondisk=xvda 

part /data --fstype="ext3" --grow --size=1 --ondisk=xvda 

%packages 

@base 

@development-libs 

@development-tools 

@core 

@text-internet 

@editors 

keyutils 

trousers 

fipscheck 

device-mapper-multipath 

imake 

ntp 

7.如果你想再创建多一个domain,那可能通过复制方式建立:

[root@study ~]# cp -a /data/centos /data/centos1 #复制磁盘

[root@study ~]# cp /etc/xen/centos /etc/xen/centos1 #复制配置文件

修改配置文件中的name、uuid、disk、mac

[root@study ~]# vim /etc/xen/centos1

name = "centos1" 

uuid = "ffeb8bd5-736c-83b2-c40d-1d3b15570a3d" 

maxmem = 256 

memory = 256 

vcpus = 1 

bootloader = "/usr/bin/pygrub" 

on_poweroff = "destroy" 

on_reboot = "restart" 

on_crash = "restart" 

disk = [ "tap:aio:/data/centos1,xvda,w" ] 

vif = [ "mac=00:16:36:67:a2:22,bridge=xenbr0,script=vif-bridge" ] 

启动复制的虚拟

[root@study ~]# xm create -c centos1

系统启动完成后,修改主机名、ip等信息

8.操作管理虚拟

运行

[root@study ~]# xm create -c centos

关闭

[root@study ~]# xm shutdown centos

重启

[root@study ~]# xm reboot centos

进入控制台

[root@study ~]# xm console centos

退出控制台

按键盘上的“ctrl+]”

删除

[root@study ~]# xm destroy centos #关闭电源

[root@study ~]# rm /etc/xen/centos #删除配置

[root@study ~]# rm /data/centos #删除磁盘

配置xen随宿主机启动

[root@study ~]# ln -s /etc/xen/centos /etc/xen/auto/centos

xm相关命令:

xm create vm1 #其中vm1 为虚拟机的配置文件,位于/etc/xen/vm/vm1

xm create -c vm1 #如果需要启动控制台,则可以运行命令

xm list #可以列出所有的虚拟

xm console #可以显示某虚拟机的控制台

xm reboot #可以重起id 为domid 的虚拟

xm shutdown #可以关闭id 为domid 的虚拟

xm destroy #可以销毁id 为domid 的虚拟

xm console fc5 #从终端或控制台登录正在运行的虚拟操作系统

xm save # 存储正在运行的虚拟操作系统的状态

xm restore # 唤醒虚拟操作系统

xm pause #停止正在运行的虚拟操作系统

xm unpause #激活停止的虚拟操作系统

xm mem-set #调整虚拟平台/虚拟操作系统的占用内存

xm shutdown 虚拟操作系统的Name或DomID #关闭被虚拟的系统

xm destroy #立即停止虚拟的系统 (重要);

xm vcpu-set #调整虚拟平台及虚拟操作系统的虚拟CPU个数

xm top 或 xentop # 查看虚拟系统运行的状态

virsh常用命令如下:

命令 说明

help 显示该命令的说明

quit 结束 virsh,回到 Shell

connect 连接到指定的虚拟机服务器

create 启动一个新的虚拟

destroy 删除一个虚拟

start 开启(已定义的)非启动的虚拟

define 从 XML 定义一个虚拟

undefine 取消定义的虚拟

dumpxml 转储虚拟机的设置值

list 列出虚拟

reboot 重新启动虚拟

save 存储虚拟机的状态

restore 回复虚拟机的状态

suspend 暂停虚拟机的执行

resume 继续执行该虚拟

dump 将虚拟机的内核转储到指定的文件,以便进行分析与排错

shutdown 关闭虚拟

setmem 修改内存的大小

setmaxmem 设置内存的最大值

setvcpus 修改虚拟处理器的数量

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有