xen利用URL的centos镜像文件安装(三)

一、Xen的配置文件说明

Xen配置文件一般由选项(options)、变量(variables)、CPU、网络、PCI、HVM、计时器(timers)、驱动(drivers)、磁盘设备(disk devices)、动作(behavior),以及图形及声音(Graphics and audio)几个段组成,分别用于定义不同类别的域属性或设备属性。

上面的配置文件中的各选项作用如下。

◇kernel:为当前域指定可用于DomU的内核文件;

◇ramdisk:与kernel指定的内核文件匹配使用的ramdisk映像文件,根据需要指定,此为可选项;

◇name:当前域的独有名称;每个域必须使用全局惟一的名称,否则将产生错误;

◇memory:当前域的可用物理内存空间大小,单位为MB,默认为128;

◇disk:当前域的所有可用磁盘设备列表,格式为disk = [ “disk1”, “disk2”, …],每个

disk都有三个参数进行定义,格式为“backend-dev,front-dev,mode”;

backend-dev主要有两种类型,物理设备或虚拟磁盘映像文件,它们的格式分别为“phy:device”和“file:/path/to/file”;

frontend-dev定义其在DomU中的设备类型,一般为xvd[a-z];

mode则用于定义其访问权限,r为只读,w为读写;

◇vcpus:配置给当前域使用的虚拟CPU的个数;默认为1;

◇root:为当前域指定其根文件系统所在的设备,这个将作为内核参数在内核启动传递给内核;

◇extra:传递给内核的额外参数,其中selinux=0表示禁用selinux,init则用于指定init程序的路径;多个参数之间使用空格隔开;

◇on_reboot:执行xm reboot命令或在当前域内部执行重启操作时由Xen执行的动作;其常用的值为destroy和restart;

◇on_crash:当前域由于各种原因崩溃时由Xen执行的动作;其常用的值为destroy、restart和preserve,preserve可以保存系统崩溃前的状态信息以用于调试;

◇on_shutdown:执行xm shutdown命令或在当前域内部执行关机操作时由Xen执行的动作;

其它常用参数:

◇vif:定义当前域的可用虚拟网络接口列表,每个虚拟网络接口都可以使用“name=value”的格式定义其属性;也可在定义某接口时不指定任何属性,其所有属性将均由系统默认配置;例如:vif = [‘ip = "192.168.1.19", bridge=xenbr0‘]

type:接口设备的类型,默认为netfront;

mac:MAC地址,默认为随机;

bridge:桥接到的物理设备,默认为Dom0中的第一个桥接设备;

ip:ip地址;

script:配置此接口的脚本文件,省略时将使用默认的配置脚本;

vifname:后端设备的设备名称,默认为vifD.N,其中D为当前域的ID,N为此网络接口的ID;

◇vfb:为当前域定义虚拟帧缓冲,其有许多可用属性,可以使用“name=value”的格式进行定义;

vnc或sdl:定义vnc的类型,vnc=1表示启动一个可由外部设备连接的vnc服务器,sdl=1则表示启用一个自有的vncviewer;两者可以同时使用;

vncdisplay:vnc显示号,默认为当前域的ID,当前域的VNC服务器将监听5900+此显示号的端口;

vnclisten:VNC服务器监听的地址,默认为127.0.0.1;

vncunused:如果此属性的值为非零值,则表示vncserver监听大于5900的第一个没被占用的端口;

vncpasswd:指定VNC服务器的认证密码;

display:用于域的自有vncviewer显示,默认为DISPLAY环境变量的值;

◇cpu:指定当前域应该在哪个物理CPU上启动,0表示第一颗CPU,1表示第二颗,依次类推;默认为-1,表示Xen可自行决定启动当前域的CPU;

◇cpus:指定当前域的VCPU可以在哪些物理CPU上运行,如cpus = ”3,5-8,^6”表示当前域的VCPU可以在3,5,7,8号CPU上运行;

◇bootloader:bootloader程序的路径;基于此bootloader,PV DomU的内核也可直接位于其文件系统上而非Dom0的文件系统;

更多的选项请参见xmdomain.cfg的手册页,或参考Xen官方wiki链接http://wiki.xen.org/wiki/XenConfigurationFileOptions中的详细解释。

二、确定硬件是否支持xen的需求

1、半虚拟化的支持

其实只要是64位x_86主机都能够支持半虚化需求,支持PAE,

[[email protected] vm1]# cat /proc/cpuinfo | grep flags
flags  : fpu de tsc msr pae mce cx8 apic sep mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc eagerfpu pni pclmulqdq monitor est ssse3 cx16 sse4_1 sse4_2 popcnt tsc_deadline_timer xsave hypervisor lahf_lm arat epb pln pts dtherm fsgsbase erms xsaveopt
flags  : fpu de tsc msr pae mce cx8 apic sep mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc eagerfpu pni pclmulqdq monitor est ssse3 cx16 sse4_1 sse4_2 popcnt tsc_deadline_timer xsave hypervisor lahf_lm arat epb pln pts dtherm fsgsbase erms xsaveopt

2、完全虚拟化的支持,目前X_86主机中,Intel提供的是VT技术,AMD提供的是SVM技术

什么都没显示,表示不支持

[[email protected] vm1]# egrep ‘{vt|svm}‘ /proc/cpuinfo

二、安装步聚

1、利用桥接模式

yum -y install bridge-utils

2、从centos6.5镜像文件,两个文件

[[email protected] vmlinux]# ll
总用量 36644
-r--r--r--. 1 root root 33392971 9月   9 11:15 initrd.img
-r-xr-xr-x. 1 root root  4128368 9月   9 11:15 vmlinuz
[[email protected] vmlinux]# pwd
/root/vmlinux

3、编辑/etc/xen/centos6的文件,centos6是从xmexample1复制而来例子配置文件,稍作修改

要改的选项有:

kernel = "/root/vmlinux/vmlinuz"

ramdisk="/root/vmlinux/initrd.img"

#ramdisk = "/boot/initrd.gz"

#root = "/dev/xvda ro"   注释

vif = [ ‘bridge=br0‘ ]

on_reboot = ‘destroy‘

on_crash = ‘destroy‘

[[email protected] xen]# vim centos6 

# Kernel image file.
kernel = "/root/vmlinux/vmlinuz"
ramdisk="/root/vmlinux/initrd.img"

# Optional ramdisk.
#ramdisk = "/boot/initrd.gz"

# The domain build function. Default is ‘linux‘.
#builder=‘linux‘

# Initial memory allocation (in megabytes) for the new domain.
#
# WARNING: Creating a domain with insufficient memory may cause out of
#          memory errors. The domain needs enough memory to boot kernel
#          and modules. Allocating less than 32MBs is not recommended.

memory = 1024

# A name for your domain. All domains must have different names.
name = "centos6"

# 128-bit UUID for the domain.  The default behavior is to generate a new UUID
# on each call to ‘xm create‘.
#uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"

# List of which CPUS this domain is allowed to use, default Xen picks
#cpus = ""         # leave to Xen to pick
#cpus = "0"        # all vcpus run on CPU0
#cpus = "0-3,5,^1" # all vcpus run on cpus 0,2,3,5
#cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3

# Number of Virtual CPUS to use, default is 1
#vcpus = 1
vcpus = 2

#----------------------------------------------------------------------------
# Define network interfaces.

# By default, no network interfaces are configured.  You may have one created
# with sensible defaults using an empty vif clause:
#
# vif = [ ‘‘ ]
#
# or optionally override backend, bridge, ip, mac, script, type, or vifname:
#
# vif = [ ‘mac=00:16:3e:00:00:11, bridge=xenbr0‘ ]
#
# or more than one interface may be configured:
#
# vif = [ ‘‘, ‘bridge=xenbr1‘ ]
vif = [ ‘bridge=br0‘ ]
#vif = [ ‘‘ ]

#----------------------------------------------------------------------------
# Define the disk devices you want the domain to have access to, and
# what you want them accessible as.
# Each disk entry is of the form phy:UNAME,DEV,MODE
# where UNAME is the device, DEV is the device name the domain will see,
# and MODE is r for read-only, w for read-write.

#disk = [ ‘phy:hda1,hda1,w‘ ]
disk = [ ‘file:/xen/vm2/centos6.img,xvda,w‘ ]

#----------------------------------------------------------------------------
# Define frame buffer device.
#
# By default, no frame buffer device is configured.
#
# To create one using the SDL backend and sensible defaults:
#
# vfb = [ ‘sdl=1‘ ]
#
# This uses environment variables XAUTHORITY and DISPLAY.  You
# can override that:
#
# vfb = [ ‘sdl=1,xauthority=/home/bozo/.Xauthority,display=:1‘ ]
#
# To create one using the VNC backend and sensible defaults:
#
# vfb = [ ‘vnc=1‘ ]
#
# The backend listens on 127.0.0.1 port 5900+N by default, where N is
# the domain ID.  You can override both address and N:
#
# vfb = [ ‘vnc=1,vnclisten=127.0.0.1,vncdisplay=1‘ ]
#
# Or you can bind the first unused port above 5900:
#
# vfb = [ ‘vnc=1,vnclisten=0.0.0.0,vncunused=1‘ ]
#
# You can override the password:
#
# vfb = [ ‘vnc=1,vncpasswd=MYPASSWD‘ ]
#
# Empty password disables authentication.  Defaults to the vncpasswd
# configured in xend-config.sxp.

#----------------------------------------------------------------------------
# Set the kernel command line for the new domain.
# You only need to define the IP parameters and hostname if the domain‘s
# IP config doesn‘t, e.g. in ifcfg-eth0 or via DHCP.
# You can use ‘extra‘ to set the runlevel and custom environment
# variables used by custom rc scripts (e.g. VMID=, usr= ).

# Set if you want dhcp to allocate the IP address.
#dhcp="dhcp"
# Set netmask.
#netmask=
# Set default gateway.
#gateway=
# Set the hostname.
#hostname= "vm%d" % vmid

# Set root device.
#root = "/dev/xvda ro"

# Root device for nfs.
#root = "/dev/nfs"
# The nfs server.
#nfs_server = ‘192.0.2.1‘  
# Root directory on the nfs server.
#nfs_root   = ‘/full/path/to/root/directory‘

# Sets runlevel 4.
#extra = "3 selinux=0 init=/sbin/init"

#----------------------------------------------------------------------------
# Configure the behaviour when a domain exits.  There are three ‘reasons‘
# for a domain to stop: poweroff, reboot, and crash.  For each of these you
# may specify:
#
#   "destroy",        meaning that the domain is cleaned up as normal;
#   "restart",        meaning that a new domain is started in place of the old
#                     one;
#   "preserve",       meaning that no clean-up is done until the domain is
#                     manually destroyed (using xm destroy, for example); or
#   "rename-restart", meaning that the old domain is not cleaned up, but is
#                     renamed and a new domain started in its place.
#
# In the event a domain stops due to a crash, you have the additional options:
#
#   "coredump-destroy", meaning dump the crashed domain‘s core and then destroy;
#   "coredump-restart‘, meaning dump the crashed domain‘s core and the restart.
#
# The default is
#
#   on_poweroff = ‘destroy‘
#   on_reboot   = ‘restart‘
#   on_crash    = ‘restart‘
#
# For backwards compatibility we also support the deprecated option restart
#
# restart = ‘onreboot‘ means on_poweroff = ‘destroy‘
#                            on_reboot   = ‘restart‘
#                            on_crash    = ‘destroy‘
#
# restart = ‘always‘   means on_poweroff = ‘restart‘
#                            on_reboot   = ‘restart‘
#                            on_crash    = ‘restart‘
#
# restart = ‘never‘    means on_poweroff = ‘destroy‘
#                            on_reboot   = ‘destroy‘
#                            on_crash    = ‘destroy‘

#on_poweroff = ‘destroy‘
#on_reboot   = ‘restart‘
#on_crash    = ‘restart‘

#-----------------------------------------------------------------------------
#   Configure PVSCSI devices:
#
#vscsi=[ ‘PDEV, VDEV‘ ]
#
#   PDEV   gives physical SCSI device to be attached to specified guest
#          domain by one of the following identifier format.
#          - XX:XX:XX:XX (4-tuples with decimal notation which shows
#                          "host:channel:target:lun")
#          - /dev/sdxx or sdx
#          - /dev/stxx or stx
#          - /dev/sgxx or sgx
#          - result of ‘scsi_id -gu -s‘.
#            ex. # scsi_id -gu -s /block/sdb
#                  36000b5d0006a0000006a0257004c0000
#
#   VDEV   gives virtual SCSI device by 4-tuples (XX:XX:XX:XX) as 
#          which the specified guest domain recognize.
#

#vscsi = [ ‘/dev/sdx, 0:0:0:0‘ ]

#============================================================================
#on_crash = ‘reboot‘

4、配置网卡为桥接模式

[[email protected] xen]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cp ifcfg-eth0 ifcfg-br0

[[email protected] network-scripts]# vim ifcfg-br0 

DEVICE="br0"
BOOTPROTO="none"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Bridge"
IPADDR=10.1.2.180
GATEWAY=10.1.2.254
NETMASK=255.255.255.0
[[email protected] network-scripts]# vim ifcfg-eth0

DEVICE="eth0"
BOOTPROTO="none"
HWADDR="44:8A:5B:59:F9:C0"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
BRIDGE=br0
UUID="6edaf36c-d0f4-4e54-a88a-717f589b91c6"

5、在本地主机下挂cento6.5镜像文件,同时安装httpd

[[email protected] ~]# yum install httpd -y
[[email protected]~]# mkdir /var/www/html/tree
[[email protected]~]# mount -o loop/data/CentOS-6.5-x86_64-bin-DVD1.iso /var/www/html/tree/
[[email protected] ~]# service httpd restart
[[email protected] ~]# df -lh
Filesystem                                 Size  Used Avail Use% Mounted on
/dev/sda3                                  3.9G  3.9G     0 100% /
tmpfs                                      346M     0  346M   0% /dev/shm
/dev/sda1                                  194M   29M  155M  16% /boot
/dev/sda5                                  3.9G   72M  3.6G   2% /home
/dev/sda6                                  3.9G   72M  3.6G   2% /tmp
/dev/sda2                                  6.8G  2.9G  3.6G  46% /usr
/dev/sda7                                  2.9G  267M  2.5G  10% /var
/root/data/CentOS-6.5-x86_64-bin-DVD1.iso  4.2G  4.2G     0 100% /var/www/html/tree
[[email protected] ~]# cd /root/data/
[[email protected] data]# ll
总用量 3312568
-rw-r--r-- 1 root root 3392065536 9月   9 11:53 CentOS-6.5-x86_64-bin-DVD1.iso
[[email protected] data]# cd /var/www/html/tree

[[email protected] tree]# ll
总用量 682
-r--r--r-- 2 root root     14 11月 29 2013 CentOS_BuildTag
dr-xr-xr-x 3 root root   2048 11月 29 2013 EFI
-r--r--r-- 2 root root    212 11月 28 2013 EULA
-r--r--r-- 2 root root  18009 11月 28 2013 GPL
dr-xr-xr-x 3 root root   2048 11月 29 2013 images
dr-xr-xr-x 2 root root   2048 11月 29 2013 isolinux
dr-xr-xr-x 2 root root 655360 11月 29 2013 Packages
-r--r--r-- 2 root root   1354 11月 28 2013 RELEASE-NOTES-en-US.html
dr-xr-xr-x 2 root root   4096 11月 29 2013 repodata
-r--r--r-- 2 root root   1706 11月 28 2013 RPM-GPG-KEY-CentOS-6
-r--r--r-- 2 root root   1730 11月 28 2013 RPM-GPG-KEY-CentOS-Debug-6
-r--r--r-- 2 root root   1730 11月 28 2013 RPM-GPG-KEY-CentOS-Security-6
-r--r--r-- 2 root root   1734 11月 28 2013 RPM-GPG-KEY-

6、用xm创建虚拟机

输入从另一台主机URL地址:http://10.1.2.180/tree/

[[email protected] xen]# xm create -c centos6 

        ┌────────────────────────┤ URL Setup ├───────│─────────────────┐                          │        │          Please enter the URL containing the CentOS          │
        │          installation image on your server.                  │        │                                                              │
        │http://10.1.2.180/tree/______________________________________ │
        │                                                              │
        │ [ ] Enable HTTP proxy                                        │────│.                                                             │
        │ Proxy URL        ___________________________________         │
        │ Username         _______________                             │        │                                                              │────│ Password.────_______________.┘                          │        │                                                              │
        │            ┌────┐                       ┌──────┐│      │            │ OK │                       │ Back │             │        │            └────┘                       └──────┘│      │                                                              │────│─────────┘                                          │
        └──────────────────────────────────────────────────────────────┘<F12> next screen

Welcome to CentOS for x86_64

────

┌───────────┤ Error ├───────────                       │                                │

│ Unable to retrieve             │                       │ http://10.1.2.190/tree//images │                       │ /install.img.                  │

│                                │

│            ┌────┐              │                       │            │ OK │              │                       │            └────┘              │                       │.───────────────.│.───┘

│                                │                       └────────────────────────────────┘│      ────

───────────────────────────┘<F12> next screen

7、创建完成后,一定会出reboot,按ENTER键,然后会自动"destroy"

,在重新连接centos6前,先去/etc/xen/centos6,修改以下选项

#kernel = "/root/vmlinux/vmlinuz"

#ramdisk="/root/vmlinux/initrd.img"       注释

添加

bootloader = "/usr/bin/pygrub"

on_reboot = ‘restart‘

on_crash = ‘destroy

8、连接centos

[[email protected] xen]# xm create centos6 
WARNING: xend/xm is deprecated.
Using config file "./centos6".
Started domain centos6 (id=11)

[[email protected] xen]# xm list
WARNING: xend/xm is deprecated.
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  1021     2     r-----   1177.6
centos6                                     11  1024     2     r-----      4.3

进入centos6虚拟机了

[[email protected] xen]# xm console centos6
WARNING: xend/xm is deprecated.

[[email protected] ~]# df 
Filesystem                   1K-blocks   Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root   8563152 752220   7375940  10% /
tmpfs                           508060      0    508060   0% /dev/shm
/dev/xvda1                      495844  33477    436767   8% /boot
时间: 2024-10-05 11:12:21

xen利用URL的centos镜像文件安装(三)的相关文章

centos 安装 网络安装使用本地镜像文件安装

有时很无奈,无磁盘,U盘就只有4G而一个centos的盘是4.16G,如何将它装好网络安装,对不起,请你要使用20M以上的带宽,且注意使用网络启动方法 没有条件,创造条件也要上: 网络安装方式,需要下载其镜像,其镜像下载路径为:http://mirrors.163.com/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-netinstall.iso 使用iso工具做一下centos的安装u盘, 具体方法,http://jingyan.baidu.com/arti

利用系统镜像文件安装.Net框架的方式

最近重装系统之后,在安装部分程序时需要.NET3.5框架,在线安装时间较长,网上搜到了一个很好的解决办法.利用windows系统镜像.首先将镜像加载到驱动中比如L,然后在cmd中输入 dism.exe /online /enable-feature /featurename:netfx3  /Source:L:\sources\sxs 等待十分钟吧...

Docker官方Centos镜像下安装Elasticsearch【详细步骤】

运行docker镜像[官方centos] 启动容器 docker run -it -d -p 9000-9900:9000-9900 --name cenosElasticsearch centos docker run -it -d -p 9200:9200 -p 9300:9300 --name cenosElasticsearch3 e11524101e04 查看容器并进入 docker ps docker attach e584c6fb2eff 这里启动容器选择了一段ip和主机ip映射「

CentOS kickstart及引导镜像文件制作

安装CentOS操作系统,一般会选择通过光盘安装,光盘中有Packages所有的rpm包文件.repodata所有包的元数据文件.以及RPM-GPG-KEY-CentOS-#(版本)的公钥文件(主要作用就是验证RPM包的来源性和数据完整性验证)等. 其中的isolinux目录下文件vmlinuz和initrd.img是特殊的内核和引导文件,光盘中的bootloader程序会识别别加载vmlinuz和initrd.img使之成为一个临时的OS接下来会启动anaconda这个自动安装程序,自动去安装

CentOS 7 镜像文件各个版本区别

CentOS ISO 镜像文件的功能 引导安装 CentOS ISO 镜像文件包含有安装程序,官方称其为 Anaconda,用来引导安装 CentOS 提供 CentOS 的安装文件 镜像文件不一定包含我们安装所需要 CentOS,可能只有安装程序,用以引导安装 提供额外软件 不只是在安装过程中可以提供额外软件,在已经安装使用的系统中也可以挂载该 ISO 镜像文件,使用其中的软件安装包 修复 CentOS 也就是我们常说的光盘救援系统 CentOS 7 镜像文件各个版本区别 CentOS 7 有

Docker自制CentOS镜像

系统环境:CentOS 7.3 将yum源切换到阿里源 可以直接写成一个脚本 #!/bin/sh mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo mv /etc/yum.repos.d/epel.repo /etc/y

centos的软件安装方法rpm和yum

centos的软件安装大致可以分为两种类型: [centos]rpm文件安装,使用rpm指令  类似[ubuntu]deb文件安装,使用dpkg指令 [centos]yum安装   类似[ubuntu]apt-get安装 rpm命令 (一)查询系统装已经安装的软件信息 对于一个rpm包来说,都是有"-"和"."构成的,基本上有以下几部分组成: * 包名 * 版本信息 * 发布版本号 * 运行平台,当出现noarch,代表的是软件可以平台兼容 1)查询系统中已经安装的

关于Docker官方CentOS镜像无法启动mysqld的总结

很多童鞋反映,在Docker官方CentOS镜像中安装了Mysql server后,无法正常启动. 无法正常启动表现为两种情况: 1> 初始完数据库后,mysqld启动报错 2> systemctl start mysqld或者service mysqld start报错 首先重现一下现场. 第一种情况 一.启动CentOS镜像,安装Mysql Server 注意,Docker官方CentOS镜像latest版本是7.1.CentOS 7 yum源中默认没有Mysql Server的. 关于如

Centos6两个镜像文件的合并方法

1.相关目录: /mnt/dvd1和/mnt/dvd2 用于挂载 Centos 镜像 /mnt/dvd3 合并后的镜像文件 /mnt/iso ISO储存 mkdir -p /mnt/dvd1 /mnt/dvd2 /mnt/dvd3 /mnt/iso 2.上传 Centos 镜像到服务器,挂载 Centos 镜像文件 mount -o loop/mnt/iso/CentOS-6.5-x86_64-bin-DVD1.iso /mnt/dvd1 mount -o loop /mnt/iso/CentO