Xen虚拟机安装

简介:

1.从命令行安装:
1.1 取得镜像文件,
    mkdir -p /mnt/loop
    mount -o loop /mnt/loop/
    cp -a /mnt/loop/* /mnt/dest/
1.2 配置xen配置文件,
1.3 通过xm create 创建虚拟机.

2.从YaST/XEN Management安装虚拟机

2.1 从光盘和/或ISO安装suse10到LVM,按照向导逐步安装即可。

2.2 从光盘和/或ISO安装suse10到镜像文件,再安装此镜像系统到LVM。
2.2.1 从光盘和/或ISO安装suse10到镜像文件。
2.2.2 把安装好的镜像文件中的系统导入LVM。实际上是P2V的方式。
************************************************************************************
按照如下步骤建立LVM,或者通过YaST/System/LVM来交互式地建立LVM
************************************************************************************
1) 在一个磁盘分区上创建一个物理卷,创建后可以用pvdisplay显示创建的结果。
pvcreate /dev/sda3
2) 在物理卷上以vg2为名创建一个卷组,可以用vgdisplay查看创建结果
vgcreate vg2 /dev/sda3
3) 创建一个逻辑卷用于存储我们的镜像并命名此卷为lvm2,逻辑卷的细节可以用lvdisplay显示。
lvcreate -L 4096M -n lv2 vg2
4) lvscan命令用于扫描所有的逻辑卷和它们当前的状态。
5) 在我们新建的逻辑卷上建立ext3文件系统
mkfs.ext3 /dev/vg2/lv2
6) 创建一个目录并把逻辑卷挂上去
mkdir /mnt/lvm2
mount /dev/vg2/lv2 /mnt/lvm2
7) 把文件系统拷贝到LVM
*************或者,拷贝一份安装好的虚拟机或者物理机到LVM
rsync -essh -avz root@192.168.143.221:/ /mnt/lvm2
*************然后,修改拷贝源机器的ip,或者关机,或者断开网线,
8) 通过VMM追加一个新的虚拟机,需要作如下修改:
******修改配置文件
**指定LVM的路径:/dev/vgroupname/lvname
**指定CDROM的路径:/dev/hda
**指定network配置:ip addr,mask,gateway.重要:指定bridge name(可以仅指定MAC 和 bridge name)
9) 启动新追加的虚拟机,需要作如下修改:
******修改/etc/fstab
cat > /etc/fstab << "EOF"
# file system    mount point   type    options      dump  pass
/dev/sda1        /             ext3    defaults       0     1
proc             /proc         proc    defaults       0     0
sys              /sys          sysfs   defaults       0     0
EOF
10) 为系统设置主机名
echo "susevm5" > /etc/hostname
11) 修改网络配置
**启动yast2,修改网卡参数,指定network配置:ip addr,mask,gateway.
12) 在虚拟机上安装NX,或者通过ssh -X 连接图形界面。

我们鼓励使用LVM来存储xen域,它是建立和管理域最理想的一种方法,但是,必需注意的是在LVM上建立的客户机里面使用LVM可能导致客户机内部看到错误的LVM信息。LVM使企业在处理一个可配置和可适应的虚拟环境的存储需求时非常容易。

2.3 遇到的问题:
2.3.1 重新配置IP地址。使用xen提供的script,先停止bridge,再修改IP。
   使用如下命令:
  /etc/xen/scripts/network-bridge stop netdev=eth0
  /etc/xen/scripts/network-bridge start netdev=eth0

==========================================================================================

一、安装前检查

1)查看你的主机cpu是否支持虚拟化:输入命令 cat /proc/cpuinfo | grep flags ,查看结果中有没有 pae ,若有则支持半虚拟化,再看有没有 vmx(intel) 或 svm((amd) ,若有,则支持全虚拟化。

2 )查看虚拟化是否打开:

如果有返回。就说明你的cpu打开虚拟化
 
二、Xen的安装步骤如下所示
 
 

首先使用rpm –qa|grep xen检查系统是否已经安装了xen相关程序包

安装Xen 

安装有几种方式,可供选择,你只需选择其中之一即可。

 

方式一:类windows安装。

类似windows下的安装。具体操作为:

用鼠标点击左上角  应用程序 -> 添加或删除软件 -> 虚拟化,选中安装即可。

 

方式二:命令行安装。

# yum –y install xen*

安装XEN需要的服务

 

#yum -y install virt-manager

安装虚拟化管理程序包

# yum -y install kernel-xen*

安装XEN的相关内核

 

方式三:源码包安装

1,下载。可以到www.xensource.com

2,解压。tar

3,进入目录。cd

4,make KERNELS="Linux-2.6-xen0 linux-2.6-xenU" world

这一步需要一些第三方包,如python。需要什么就安装什么就可以。编译完成后,会在dist目录生成需要安装的东西。

5,make install

如果以上步骤出错,请Google或Baidu之。安装完毕后,你会发现在/boot下新安装了三个东西:xen-3.1.0.gz,vmlinuz-2.6.18-xen0和vmlinuz-2.6.18-xenU。xen-3.1.0.gz是hyperviser,或者叫VMM;内核xen0是运行在domain0的,内核xenU运行在其它的domain。

 

二、检测

1、检查xen内核文件

安装是否正常:文件位于/boot

# ls –lh /boot

 

2、修改系统启动内核为支持xen的kernel

# vi /etc/grub.conf

把default改成0,表示启动第一个内核

 

3、重新启动主机(reboot)

 

4、检查系统是否已经成功加载支持虚拟化的kernel

(1) 执行# uname –a

Linux slave1 2.6.18-371.4.1.el5xen #1 SMP Thu Jan 30 06:58:16 EST 2014 x86_64 x86_64 x86_64 GNU/Linux 表示已安装成功


(2) xen启动停止命令 xend start|stop|restart

 

三、创建虚拟机

 

1、创建镜像文件 dd if /dev/zero of=/home/llp/test/vm.img bs=1M count=10240

2、创建配置文件 vm.cfg

name = "test01" maxmem = 1024 memory = 1024 vcpus = 1 builder = "hvm" kernel = "/usr/lib/xen/boot/hvmloader" boot = "d" pae = 1 acpi = 0 apic = 0 arch = "x86_64" localtime = 0 on_poweroff = "destroy" on_reboot = "restart" on_crash = "restart" device_model = "/usr/lib64/xen/bin/qemu-dm" sdl = 0 vnc = 1 vncunused = 1 vncconsole = 1 vncdisplay = 4 disk = [ "file:/home/llp/test/vm.img,hda,w","file:/root/CentOS-6.4-x86_64-minimal.iso,hdc:cdrom,r"] vif = [ "mac=00:16:3e:5d:11:22,bridge=xenbr0,script=vif-bridge" ] parallel = "none" nographic = 0 serial = "pty"

 

3、创建虚拟机 vm create /home/llp/test/vm.cfg

 

4、xm list  查看虚拟机

 

5、查看防火墙状态:service iptables status

 

6、查看开放的端口:netstat -tunlp   将设置的端口加入到开发端口中vi /etc/sysconfig/iptables

 

7、service iptables restart 重新启动

 

8、使用vnc 登陆虚拟机安装相应的系统


virt-install 常用参数一览表
-n NAME
 指定虚拟机的名称

-r MEMORY
 指定虚拟机的内存用量

-u UUID
指定虚拟机的唯一通用标识符 
(Universally Unique Identifier,UUID)。
省略这个参数时,virt-install 将会自动产生

--vcpus=VCPUS
 指定虚拟机的虚拟 CPU (Virtual CPU,VCPU) 数量
-f DISKFILE 
指定虚拟磁盘的文件路径名称
 
-s DISKSIZE 
用来指定虚拟磁盘的大小,这个参数需配合-f 使用。
DISKSIZE为虚拟磁盘的大小,单位是GB
 
-m MAC 
指定虚拟机的网络卡之硬件地址。
这个参数可以省略,省略时virt-install 将自动产生
 
-p 以半虚拟化的方式建立虚拟机
 
-l LOCATION 指定安装来源


virt-install 参数解析:

-n  vm01-CentOS-5.5                          # 虚拟机的名称,这里我们的名称是  vm01-CentOS-5.5

-r 1024                                              # 虚拟机的最大内存,单位 MB 。这里我们的内存是 1G

--vcpus=4                                          # 虚拟机的 CPU 数量,这里我们的数量是 2 

-f  vm01-CentOS-5.5.img                   # 虚拟机虚拟硬盘的名称,我们这里用 vm01-CentOS-5.5.img

--nographic                                        # 不安装图形界面。

-l   nfs:10.10.113.14:/opt/CentOS/mirrors/5.5        # 系统的镜像路径。 Xen 只支持 FTP/HTTP/NFS



创建完毕,在当前目录下,生成镜像文件 vm01-CentOS-5.5.img;

在 /etc/xen 目录下,生成虚拟机配置文件 vm01-CentOS-5.5; 


[root@gmnode14 xen]# cat /etc/xen/vm01-CentOS-5.5 
name = "vm01-CentOS-5.5"
uuid = "0283f36d-c95a-521b-737d-e400ca657029"
maxmem = 1024
memory = 1024
vcpus = 4
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
disk = [ "tap:aio:/local/Xen_zkl/vm01-CentOS-5.5/vm01-CentOS-5.5.img,xvda,w" ]
vif = [ "mac=00:16:36:40:43:85,bridge=virbr0,script=vif-bridge" ]

========================================================================================

一、安装步骤

1、 配置yum源

2、 安装xen

# yum –y install xen*

安装XEN需要的服务

# yum -y install kernel-xen*

安装XEN的相关内核

#yum -y install virt-manager*

安装XEN图形化管理工具

二、检查启动选项是否使用xen内核启动

1、检查xen内核文件

安装是否正常:文件位于/boot

# ls –lh /boot

total 9.5M

-rw-r--r-- 1 root root 61K Mar 16 08:19 config-2.6.18-8.el5

-rw-r--r-- 1 root root 60K Mar 16 09:27 config-2.6.18-8.el5xen

drwxr-xr-x 2 root root 1.0K Aug 15 14:47 grub

-rw------- 1 root root 1.5M Aug 13 17:18 initrd-2.6.18-8.el5.img

-rw------- 1 root root 1.5M Aug 15 14:47 initrd-2.6.18-8.el5xen.img

drwx------ 2 root root 12K Aug 13 17:15 lost+found

-rw-r--r-- 1 root root 79K Apr 1 22:49 message

-rw-r--r-- 1 root root 82K Mar 16 08:20 symvers-2.6.18-8.el5.gz

-rw-r--r-- 1 root root 83K Mar 16 09:28 symvers-2.6.18-8.el5xen.gz

-rw-r--r-- 1 root root 865K Mar 16 08:19 System.map-2.6.18-8.el5

-rw-r--r-- 1 root root 848K Mar 16 09:27 System.map-2.6.18-8.el5xen

-rw-r--r-- 1 root root 1.7M Mar 16 08:19 vmlinuz-2.6.18-8.el5

-rw-r--r-- 1 root root 2.0M Mar 16 09:27 vmlinuz-2.6.18-8.el5xen

-rw-r--r-- 1 root root 269K Mar 16 07:51 xen.gz-2.6.18-8.el5

-rwxr-xr-x 1 root root 595K Mar 16 09:43 xen-syms-2.6.18-8.el5

2、检查grub配置

cat /boot/grub/grub.conf

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You have a /boot partition. This means that

# all kernel and initrd paths are relative to /boot/, eg.

# root (hd0,0)

# kernel /vmlinuz-version ro root=/dev/sda3

# initrd /initrd-version.img

#boot=/dev/sda

default=1

timeout=5

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

hiddenmenu

title CentOS (2.6.18-8.el5xen)

root (hd0,0)

kernel /xen.gz-2.6.18-8.el5

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

module /initrd-2.6.18-8.el5xen.img

title CentOS (2.6.18-8.el5)

root (hd0,0)

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

initrd /initrd-2.6.18-8.el5.img

修改其中的default=1为default=0,启用xen内核

3、重新启动计算机

使用xen内核启动计算机

1)reboot

2)按F10,进入BIOS,打开CPU的VT功能

3)在引导菜单里选择“Red Hat Enterprise Linux Server (2.6.18-8.el5xen)”

4、重启后登录系统,检查XEN是否正常

4.1 执行# xm list

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

Domain-0 0 3919 4 r----- 16.9

出现上述结果表示xen启动正常

4.2 检查log:

#ls -lh /var/log/xen

total 8.0K

-rwxr-xr-x 1 root root 36 Aug 15 15:43 xend-debug.log

-rw-r--r-- 1 root root 1.8K Aug 15 15:43 xend.log

# cat /var/log/xen/xend-debug.log

Nothing to flush.

Nothing to flush.

表示一切正常,我们的CentOS5中的XEN服务已经成功启动。至此,我们的CentOS5的宿主机已经安装就绪。

 

三、安装XEN的Windows客户机

前提:宿主计算机的CPU支持intel的VT或者AMD的amd-v,并且在BIOS中开启了对应的选项。

 

1、检查是否支持VT:

#xm info |grep xen_cap

xen_caps : xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p

# xm dmesg |grep -i vmxon

(XEN) VMXON is done

(XEN) VMXON is done

如果出现上述字段则计算机支持VT,否则很有可能是不支持或者BIOS禁用了。

也可以通过 xm dmesg或者cpuinfo等等方式查询,这里就不详细描述了。

接下去我们就可以创建一个个虚拟的操作系统了。

2、为实现图形化远程安装开启vnc

#yum –y install vnc*

3、 使用vnc客户端连接,打开gnome下的Virtual Machine Manager并创建虚拟机

1). 点击 "Applications" - "System Tools" - "Virtual Machine Manager",打开Xen图形管理窗口

2). 创建虚拟机

(1) 点击 "New" 按钮或 "File" - "New machine..."菜单

(2) 点击 "Forward"按钮

(3) 输入System Name,如:win2003, 点击"Forware"按钮

(4) 选择"Fully Virtualized",点击"Forware"按钮

(5) 找到win2003.iso (此处我使用iso文件代替光盘进行安装),点击"Forware"按钮

(6) 点击"Simple File",并在File Location处输入:/var/xen/imagess/win2003.img (注:先建立目录),

File Size设置为4000, 点击"Forware"按钮

(7) VM Max Memory及VM Startup Memory都设置成500,VCPUs设置为1个,点击"Forware"按钮

(8) 点击"Finish"按钮,之后就进入windows安装程序

(9)在windows完成复制文件需要重启后将关闭虚拟机窗口,需要手工再开始虚拟机。

(10)xm create win2003 (重新启动win2003虚拟机)

(11)在Virtual Machine Manager中双击win2003虚拟机即可打开该虚拟机显示窗口,继续进行windows安装,直至安装完成即可。

=====================================================================================

Xen使用http方式安装虚拟机 

首先新建安装源

如果没按apache,先安apache 

yum install httpd


然后打开vi /etc/httpd/conf.d/welcome.conf,把所有行都注释掉


/etc/init.d/httpd start   //必须执行


mount -t iso9660 -o loop /usr/Redhat.Enterprise.Linux.iso /var/www/html


关闭防火墙(如果不关防火墙可能会出现 Unable to retrieve ...的问题)


/etc/init.d/iptables stop


上面使用的是http,也可以使用ftp,nfs等其他的方式安装虚拟机。

新建xen虚拟机,选择半虚拟化 在安装介质URL中填写 http://Dom0的IP地址

之后就是正常的安装过程

========================================================================================

xen虚拟机的linux系统时间设置本来没想到会成为问题,但是因为项目中的特殊要求,需要服务器设定为中国标准时间。因此研究了一下。

原来,安装虚拟机后,在虚拟机脚本中的时间设定部分,一般都默认设置为localtime=0,即取物理机的时间为虚拟机的RTC。而物理机一般都把时间设置为北京时间。结果,虚机里的时间总是错的,原来是虚机把物理机的北京时间当作的UTC。所以,虚拟机的时间总是和物理机相差8个小时。当项目对服务器时间要求严格的情况下,不得不认真面对这个问题的时候,只好认真地梳理一下linux系统的各种时间设定方法。


首先又重新了解一下linux上面的时间的种类。

linux上面的时间的种类

linux上面一般有UTC, CST时间,以及RTC,他们的含义分别是:

GMT(Greenwich Mean Time,格林威治标准时间): 是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。

UTC(Universal Time/Temps Cordonné 世界标准时间)

CST(Central Standard Time 國家標準時間,一說中原標準時間); 中国标准时间(China Standard Time)。实际就是北京时间。

GMT + 8 = UTC + 8 = CST ,也就是说中国标准时间比UTC快8个小时。

RTC(Real Time Clock) -- 实时时钟,也叫做CMOS时钟, 它是PC主机板上的一块芯片,它靠电池供电,即使系统断电,也可以维持日期和时间。由于它独立于操作系统,所以也被称为硬件时钟,它为整个计算机提供一个计时标准,是最原始最底层的时钟数据,Linux只用RTC来获得时间和日期;然而,通过作用于/dev/rtc设备文件,也允许进程对RTC编程。通过执行/sbin/clock系统程序,系统管理员可以配置时钟. 

在虚拟机中没有物理时钟,因此通过修改clock文件来设定时钟的属性


设定虚拟机时间

若想达到虚拟机中的时间能够正确地显示为中国标准时间。需要作这些修改:

1.首先修改这个文件的内容:

/etc/sysconfig/clock 设置硬件时钟

设置为UTC时间

HWCLOCK="--utc" 

正确设置时区,如果不知道时区的格式,可以通过tzselect命令工具看到。

TIMEZONE="Asia/Shanghai"

2.设定本地时间为CST,即中国标准时间

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

这样就OK了,虚拟机的时间能够显示为正确的CST时间了。

5、克隆虚拟机

virt-clone -o vm00 -n vm01 -f vm01 










本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1569242,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
328 6
|
2月前
|
数据可视化 大数据 Linux
OpenEuler虚拟机安装保姆级教程 | 附可视化界面
本文介绍了如何在VMware中安装openEuler操作系统,从选择合适的镜像版本下载开始,到创建虚拟机、配置CPU虚拟化、进行系统安装、设置网络连接,直至安装DDE桌面环境实现图形化操作。openEuler是一款由华为开源的操作系统,支持多种处理器架构,广泛应用于数据库、大数据、云计算等领域。文中还分享了安装过程中的注意事项及解决网络问题的方法,适合初次接触openEuler的用户参考学习。
401 3
OpenEuler虚拟机安装保姆级教程 | 附可视化界面
|
3月前
|
Unix Linux 开发工具
centos的官网下载和vm16虚拟机安装centos8【保姆级教程图解】
本文详细介绍了如何在官网下载CentOS 8以及在VMware Workstation Pro 16虚拟机上安装CentOS 8的步骤,包括可能出现的问题和解决方案,如vcpu-0错误的处理方法。
centos的官网下载和vm16虚拟机安装centos8【保姆级教程图解】
|
2月前
|
Linux 虚拟化
vmware虚拟机安装2024(超详细)
vmware虚拟机安装2024(超详细)
336 6
|
4月前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
168 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
4月前
|
编解码 Linux 虚拟化
超详细VMware虚拟机安装Win10操作系统过程图解
这篇文章提供了一个详细的VMware虚拟机安装Windows 10操作系统的图解教程,包括了从创建虚拟机到安装操作系统的全过程,以及安装后的一些基本设置,如屏幕分辨率调整等。作者还提到了后续会分享关于磁盘分区的创建过程。
超详细VMware虚拟机安装Win10操作系统过程图解
|
4月前
|
测试技术 开发工具 虚拟化
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
这篇文章提供了一份保姆级的教程,指导如何在MacOS虚拟机上安装Xcode,包括环境准备、基础软件安装以及USB扩展插件的使用,以实现iOS自动化测试方案的第一步。
198 0
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
|
4月前
|
应用服务中间件 Linux nginx
Linux虚拟机磁盘扩容、Docker容器磁盘满的问题、Docker安装nginx
这篇文章讨论了Linux虚拟机磁盘扩容的方法,包括外部配置、具体扩容步骤和扩容后的效果验证。同时,文章还涉及了Docker容器磁盘满的问题及其解决方法,如删除不必要的镜像和容器,以及调整Docker的安装路径。此外,还提到了意外情况的处理,例如误删除停止的容器后的应对措施。最后,文章还提供了使用Docker安装nginx的步骤和成功访问的截图。
Linux虚拟机磁盘扩容、Docker容器磁盘满的问题、Docker安装nginx
|
4月前
|
存储 NoSQL Java
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
该博客文章展示了如何在Linux虚拟机上使用Redis和Jedis客户端实现手机验证码的验证功能,包括验证码的生成、存储、验证以及限制每天发送次数的逻辑,并提供了测试结果截图。
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
|
4月前
|
Ubuntu
【ubuntu系统】在虚拟机内安装Ubuntu
【ubuntu系统】在虚拟机内安装Ubuntu
52 0