ROS软路由论坛 ROSABC.com

 找回密码
 会员注册

Xen

2006-6-7 12:56| 发布者: ROSABC| 查看: 5162| 评论: 0

摘要: Xen虚拟化概述虚拟化techonogies使单个物理设备执行多个不同的操作系统。RouterOS软路由的虚拟化支持,允许运行多个副本RouterOS软路由的SOFWARE的,甚至其他支持的操作系统。需要注意的是虚拟化技术的支持,取决于 ...
Xen虚拟化概述

虚拟化techonogies使单个物理设备执行多个不同的操作系统。RouterOS软路由的虚拟化支持,允许运行多个副本RouterOS软路由的SOFWARE的,甚至其他支持的操作系统。需要注意的是虚拟化技术的支持,取决于系统架构,并不是所有的RouterOS软路由的支持架构,让虚拟化。
能够运行非RouterOS软路由的SOFWARE允许用户运行的应用程序,不包括在RouterOS软路由的。
Xen是Xen的X86机器,是基于Linux的Xen虚拟机的RouterOS软路由的虚拟化系统。
x86的虚拟化支持

实施虚拟化支持x86架构的系统上使用Xen管理程序(http://www.xen.org)。这使RouterOS软路由的运行其他操作系统的支持Xen半虚拟化的“虚拟机”(客人),RouterOS软路由的软件(主机)控制。
RouterOS软路由的软件版本从3.11开始支持x86架构系统的虚拟化。要启用虚拟化支持“XEN”包必须安装。
主机RouterOS软路由的软件设置的虚拟机,这样,他们使用文件中的RouterOS软路由的主机文件系统的磁盘映像(次)。此外,主机RouterOS软路由的设立本身和虚拟机之间的虚拟以太网接口。这使得虚拟机参与网络RouterOS软路由的主机软件的控制下。
为了执行虚拟机中的操作系统,您需要:
支持Xen半虚拟化的操作系统内核
OS磁盘映像
(可选)初始RAM磁盘使用,同时启动操作系统在VM
RouterOS软路由的图像用于在VM启动,操作系统内核和初始RAM磁盘是没有必要的 - 指定RouterOS软路由的磁盘映像是足够的。RouterOS软路由的图像中可以创建虚拟机使用的2种方式:
通过拍摄图像从现有的RouterOS软路由的支持虚拟化的x86安装(版本> = 3.11)
或通过使用特殊的RouterOS软路由的功能,RouterOS软路由的图像中使用的虚拟机(注意,这些功能不产生RouterOS软路由的图像,从物理介质可以被复制并成功运行!)。
后一种方法更加灵活,因为允许用户指定磁盘映像的大小。
为了能够在虚拟机中运行非RouterOS软路由的操作系统,你需要Linux内核,磁盘映像和初始RAM磁盘文件(如有必要)。
请注意,一个磁盘上的图像在同一时间只能用于一个虚拟机。
创建RouterOS软路由的图像使用VM

要创建RouterOS软路由的图像中使用VM使用“/ xen的RouterOS软路由的图像”命令的:
[管理员@ MikroTik的] / XEN>的RouterOS软路由的图像文件名= ros1.img文件大小= 32

[管理员@ MikroTik的] / XEN> /文件打印
 #名称类型大小创建时
 0 ros1.img IMG文件33554432 jun/06/2008 14:47:23
这将产生32MB的RouterOS软路由的图像,是准备在虚拟机中使用。RouterOS软路由的图像是基于主机系统SOFWARE和因此包含所有SOFWARE的的包,是安装在主机系统上,但不包含主机配置。
此外,“RouterOS软路由的形象”,“配置脚本”文件中的参数,可以用来放初始配置脚本中创建的映像。该脚本将运行在第一次开机图像。
VM配置

所有虚拟化的x86架构相关的功能配置“/ xen的”的菜单下。
主机RouterOS软路由的可用内存
默认情况下,所有的内存可与主机系统的系统与1GB内存,例如:
[管理员@ MikroTik的]> /系统资源打印
                   在线时长:2m4s
                  版本:“3.9”
              内存:934116kB
             总内存:963780kB
                      CPU:“英特尔(R)”
                CPU数:2
            CPU频率:2813MHz
                 CPU负载:0
           自由硬盘空间77728884kB的
          总硬盘空间:79134596kB
  写教派重启以来:989
         写教派总数:989
        架构,名称:“X86”
               板,名称:“X86”
[管理员@ MikroTik的]> / xen的全局设置打印
  内存主要为:无限
在某些情况下,这可能会限制分配必要的内存正在运行的guest虚拟机的能力,因为主机系统中可能已经使用的内存,例如文件系统缓存的目的。因此,建议配置主机系统(精确值限制依赖于主机系统上使用什么SOFWARE功能 - 一般来说,同样的规则适用为选择定期RouterOS软路由的安装的物理内存量)的内存限制:
[管理员@ MikroTik的]> /系统资源打印
                   在线时长:2m4s
                  版本:“3.9”
              内存:934116kB
             总内存:963780kB
                      CPU:“英特尔(R)”
                CPU数:2
            CPU频率:2813MHz
                 CPU负载:0
           自由硬盘空间77728884kB的
          总硬盘空间:79134596kB
  写教派重启以来:989
         写教派总数:989
        架构,名称:“X86”
               板,名称:“X86”
[管理员@ MikroTik的]> / xen的全局设置打印
  内存主要为:无限
[管理员@ MikroTik的]> / xen的全局设置设置内存为主要= 128
@ MikroTik的[管理]> /重新启动系统
重新启动,是吗?[Y / N]:
?
不久,系统将重新启动

 ....

[管理员@ MikroTik的]> /系统资源打印
                   在线时长:1m5s
                  版本:“3.11”
              内存:114440kB
             总内存:131272kB
                      CPU:“英特尔(R)”
                CPU数:2
            CPU频率:2813MHz
                 CPU负载:0
           自由硬盘空间77728884kB的
          总硬盘空间:79134596kB
  写教派重启以来:794
         写教派计:794
        架构,名称:“X86”
               板,名称:“X86”
创建RouterOS软路由的VM
假设,RouterOS软路由的的形象“ros1.img”,运行RouterOS软路由的,可以创建新的虚拟机:
[管理员@ MikroTik的] / xen的>外接名称= ROS1磁盘图像= HDA:ros1.img内存= 64控制台的telnet端口= 64000
[管理员@ MikroTik的] / XEN>打印详细
标志:X  - 残疾人,C  - 配置改变
 0 X名=“ROS1”磁盘图像=“HDA:ros1.img”的的initrd =“内核=”内核命令行=“CPU数= 1内存= 64重量= 256
     控制台的telnet端口= 64000状态=禁用
通过以下参数“add”命令:
磁盘图像= HDA:ros1.img - 这些参数指定文件的“ros1.img”在主机文件系统将被设置为磁盘“HDA”(主IDE主)在客户机系统中;
内存= 64 - 指定来宾VM的内存量;
控制台的远程登录端口= 64000 - 指定主机系统将监听64000端口上,一次telnet的方式连线,会将客人控制台输出的telnet客户端和接受控制台输入telnet客户端。
很少有其他的设置:
内核和initrd文件 - 虚拟机的内核文件引导和使用初始RAM磁盘文件(如果指定),如前所述,指定RouterOS软路由的图像引导时,这些是没有必要的;
内核命令行 - 命令行传递给Linux内核
CPU计数 - 多少CPU应该提供给VM;
重量 - 比例“重要性”的调度执行多个虚拟机时,此VM。考虑到主机操作系统股份的所有正在运行的guest虚拟机的CPU,重量参数指定比例分担CPU(次),来宾操作系统将得到多个操作系统时,开始争夺CPU资源。主机操作系统的“重量”为256。因此,举例来说,如果客户VM还配置了重256,如果两个操作系统将运行在100%的CPU使用率,都将获得相同份额的CPU。,如果来宾VM将配置重量128,它将只有1/3的CPU。
启动,停止和连接到RouterOS软路由的VM
要启动来宾VM,启用它:
[管理员@ MikroTik的] / XEN>启用ROS1
[管理员@ MikroTik的] / XEN>打印
标志:X  - 残疾人,C  - 配置改变
 #NAME内存权重STATE
 0 ROS1 64 256运行
有2(互相排斥的,因为仅仅是一个虚拟控制台提供给来宾VM)的方式连接到控制台上运行的VM:
通过使用“/ xen的控制台<VM>”命令,或
通过使用telnet程序连接到“控制台telnet的端口”参数中指定的端口。
有多种方式,停止正在运行的VM:
首选的方法是关闭连接到来宾VM来宾VM(例如,登录和发放“/系统关机”命令)。
强制关机从主机RouterOS软路由的使用“/ xen的关机<VM>”命令;
只需禁用VM / xen的“菜单项”,注意,这是最危险的方式,停止正在运行的VM,因为来宾VM可以离开它的文件系统的损坏状态(禁止进入虚拟机VM,拔下电源物理设备是一样的)。
VM关机状态“/ xen的”的菜单中可以确认:
[管理员@ MikroTik的] / XEN>关机ROS1

[管理员@ MikroTik的] / XEN>打印
标志:X  - 残疾人,C  - 配置改变
 #NAME内存权重STATE
 0 ROS1 64 256关机
为了引导VM即关机,你必须禁用和启用V??M进入“/ xen的”菜单或使用“/ xen的启动<VM的名称>”命令。
也有“/ xen的重新启动<VM名>”命令,可以用来重新启动运行中的来宾VM,但必须考虑到帐户使用该命令dagerous的 - ,虽然它指示来宾VM重新启动,在大多数情况下,它不会引起客人刷新其文件系统和正确终止。
如果任何来宾VM相关的设置被更改为“/ xen的”菜单进入虚拟机,如果来宾VM运行,这些设置不会立即应用(因为这将涉及破坏虚拟机并再次启动)。实际上,VM被标记为“配置变更”,将应用新的设置,在下次重新启动。例如:
[管理员@ MikroTik的] / XEN>打印
标志:X  - 残疾人,C  - 配置改变
 #NAME内存权重STATE
 0 ROS1 64 256运行
@ MikroTik的[管理] / XEN>集ROS1内存= 32
[管理员@ MikroTik的] / XEN>打印
标志:X  - 残疾人,C  - 配置改变
 #NAME内存权重STATE
 0 C ROS1 32 256运行
[管理员@ MikroTik的] / XEN>关机ROS1

[管理员@ MikroTik的] / XEN>打印
标志:X  - 残疾人,C  - 配置改变
 #NAME内存权重STATE
 0 ROS1 32 256关机
[管理员@ MikroTik的] / XEN>启动ROS1

[管理员@ MikroTik的] / XEN>打印
标志:X  - 残疾人,C  - 配置改变
 #NAME内存权重STATE
 0 ROS1 32 256运行
此命令后序记忆正在运行的guest实际上是32MB。
重新配置RouterOS软路由的VM映像
RouterOS软路由的配置“/ xen的重新配置的RouterOS软路由的形象”,从现有的RouterOS软路由的图像可以被消灭了,把新的配置脚本(使用VM图像接下来将开始浏览网页时,脚本将被执行):
[管理员@ MikroTik的] / xen的重新配置的RouterOS软路由的图像文件名= ros1.img配置脚本= script.file
配置虚拟网络

为了让来宾VM参与网络,来宾VM连接的虚拟接口,与主机必须被创建。来宾VM的虚拟网络连接,可以被认为是点至点的以太网网络连接,终止在来宾VM /以太网接口“型接口和主机/虚拟以太网接口”界面。通过配置相应的数据转发(通过桥接或路由)/虚拟以太网接口在主机系统,客户VM可以允许参加真正的网络。
客户虚拟机配置的网络接口
网络接口,如以太网接口,将出现在来宾VM中配置“/ xen的接口的”菜单:
[管理员@ MikroTik的] / xen的接口>添加虚拟机= ROS1类型=动态
[管理员@ MikroTik的] / xen的接口的打印细节
标志:X  - 禁用,A  - 活跃
 0虚拟机= ROS1 VM-MAC地址= 02:1 C:AE:C1:B4:B2型=动态静态接口=无
    动态MAC地址= 02:38:19:0 C:F3:98动态桥=无
上面的命令创建来宾VM“ROS1”接口类型为“动态”。
有2种类型的接口:
动态 - 端点主机(虚拟网络连接“/虚拟以太网接口”)将被创建时将引导来宾VM动态。通过使用这种类型的接口用户避免了手动创建虚拟主机连接的端点,灵活性有限,如何连接,可以使用(例如,有没有办法如何可靠地分配IP地址,动态创建的接口)的费用。目前,它只能被自动添加到桥“动态桥”参数指定。此行为是类似于动态WDS无线WDS链路接口。
静态 - 端点必须手动创建虚拟网络连接主机(“/虚拟以太网接口”)。这种类型的接口将来宾VM连接的接口,允许最大的灵活性,因为先前已知的(因此可以添加IP地址,接口可用于过滤规则等),在创建“/虚拟接口的费用以太网“手动。
VM接口有以下参数:
虚拟机 - 这个接口属于哪个虚拟机;
VM-MAC地址-在客户机系统中的以太网接口的MAC地址;
如上述的类型 - 接口类型
静态接口 - 当“类型=静态”,此参数指定“/虚拟以太网接口”,将连接在主机系统与客人;
动态MAC地址- “=动态”,自动创建“/虚拟以太网接口在主机系统时,都会有这样的MAC地址;
动态桥 - 当“类型=动态”,动态创建的“/虚拟以太网接口将自动加入到这座桥的桥口。
配置动态接口
要建立虚拟连接,将有其端点主机动态,使用下面的命令:
[管理员@ MikroTik的] / xen的接口>添加虚拟机= ROS1类型=动态
[管理员@ MikroTik的] / xen的接口的打印细节
标志:X  - 禁用,A  - 活跃
 0虚拟机= ROS1 VM-mac地址= 02:1 C:AE:C1:B4:B2型动态静态接口=无动态MAC地址= 02:38:19:0 C:F3:98动态桥=无
ROS1“虚拟机启用后,可以确认新的虚拟以太网接口是用给定的动态MAC地址:
[管理员@ MikroTik的] / XEN> /接口虚拟以太网打印
标志:X  - 停用,R  - 运行
 #NAME MTU ARP MAC地址
 0 R VIF1 1500启用02:38:19:0 C:F3:98
虚拟以太网接口和来宾VM-MAC地址:
[管理员@游客]> INT以太网打印
标志:X  - 停用,R  - 运行,S  - 从
 #NAME MTU MAC地址的ARP
 0 R ether1的1500 02:1 C:AE:C1:B4:B2启用
配置“动态桥”设置,可以自动添加虚拟以太网接口网桥端口在主机系统的一些桥梁。例如,如果ether1的主机和虚拟机“ROS1”以太网接口“界面之间转发流量是必要的,下面的步骤必须采取:
创建主机系统上的桥梁,并添加“ether1的”网桥端口:
[管理员@ MikroTik的]> /接口桥添加名称= ROS1
[管理员@ MikroTik的]> /接口桥接端口外接桥= ROS1接口= ether1的
接下来,指定自动添加虚拟以太网网桥端口:
[管理员@ MikroTik的] / xen的接口的打印细节
标志:X  - 禁用,A  - 活跃
 0虚拟机= ROS1的vm-MAC地址= 2时01分C:AE:C1:B4:B2型=动态静态接口=无动态MAC地址= 02:38:19:0 C:F3:98动态桥=无
[管理MikroTik的] / xen的接口的设置动态桥=-ROS1
经过这个虚拟以太网接口加入网桥端口主机上:
[管理员@ MikroTik的] / xen的界面/接口桥接端口打印
标志:X  - 禁用,我 - 不活跃,D  - 动态
 #接口桥接的优先路径成本海怡
 0 ether1的,ROS1 0x80的10无
 VIF1 1个D-ROS1 0x80的10无
通过使用类似的配置,用户可以,例如,“管”的所有流量通过来宾VM - 如果有2个物理接口的主机,用户可以创建2座桥梁,桥的所有流量通过访客虚拟机(假设该操作系统在客房配置在这样一种方式,以确保它的接口之间的数据转发)。
配置静态接口
要建立虚连接的端点的主机系统是静态的界面,首先创建静态虚拟以太网接口:
[管理员@ MikroTik的] /接口虚拟以太网>加名=静态ROS1残疾人的=
[管理员@ MikroTik的] /接口虚拟以太网打印
标志:X  - 停用,R  - 运行
 #NAME MTU ARP MAC地址
 0 R VIF1 1500启用02:38:19:0 C:F3:98
 1静态ROS1 1500启用2时03分 - 答:1B:DB:FC:CF
接下来,创建来宾VM接口:
[管理员@ MikroTik的] / xen的接口添加虚拟机= ROS1类型= static静态接口=静态ROS1
[管理员@ MikroTik的] / xen的接口的>打印
标志:X  - 禁用,A  - 活跃
 #型VM虚拟机mac地址
 0àROS1动态02:1 C:AE:C1:B4:B2
 1 ROS1静态02:DF:66:CD:E9:74
现在,我们可以确认,虚拟以太网接口是活动的:
[管理员@ MikroTik的] / xen的界面/接口虚拟以太网打印
标志:X  - 停用,R  - 运行
 #NAME MTU ARP MAC地址
 0 R静态ROS1 1500启用2时03分答:1B:DB:FC:CF
 1 R VIF1 1500启用02:38:19:0 C:F3:98
在客户机系统中:
[管理员@游客]> /以太网接口打印
标志:X  - 停用,R  - 运行,S  - 从
 #NAME MTU MAC地址的ARP
 0 R ether1的1500 02:1 C:AE:C1:B4:B2启用
 1 R ether2 1500 02:DF:66:CD:E9:74启用
在主机系统中的静态接口允许使用的界面,在指定的接口配置,无论是必要的,例如,添加IP地址:
[管理员]> IP地址添加接口MikroTik的静态ROS1地址= 1.1.1.1/24
我们以相似的方式在客户机系统中相应的接口添加IP地址并确认该路由工作:
[管理员@游客]> / IP地址添加接口= ether2地址= 1.1.1.2/24
[管理员@游客]> /平1.1.1.1
1.1.1.1 64字节的ping:TTL = 64时间= 5毫秒
1.1.1.1 64字节的ping:TTL = 64时间<1毫秒
1.1.1.1 64字节的ping:TTL = 64时间<1毫秒
3传输的数据包,3包,0%丢包
往返最小/平均/最大= 0/1.6/5毫秒
运行RouterOS软路由的非系统作为嘉宾

Xen系统管理程序虚拟化的x86架构,用于在RouterOS软路由的允许运行其他操作系统,使用Linux内核,Xen客户支持(DomU的支持在Xen的术语)。
为了运行非RouterOS软路由的系统为RouterOS软路由的主机旅客于,你需要:
操作系统映像文件
OS的Linux内核文件
可选的初始RAM磁盘文件
有几种方法如何准备必要的文件:
使用已经准备好,准备启动映像(最简单的方法);
随着必要的虚拟化软件包安装操作系统,安装的系统(中等复杂程度)和使用图像;
安装操作系统,图像,重新编译Linux内核,Xen下调整系统引导管理程序(最复杂)。
使用现成引导映像
如果你有操作的Debian GNU / Linux为基础的系统,你可以使用Xen安装使用Xen的工具脚本(http://www.xen-tools.org)创建/安装映像,并使用Xen内核和initrd从分发。另一个机会是使用已经准备好的图像,可供下载,例如从http://jailtime.org。需要注意的是图像不包含内核本身,因此这些图像只能用于采取适当的内核和initrd文件后,从实际分布。
此外,在这里,我们提供了一些文件集准备使用在客户虚拟机。
ClarkConnect 4.2社区版SP1图片
从安装ISO(ftp://ftp.clarkconnect.com/4.2/iso/community-4.2.SP1.iso)和额外的的Xen内核包(ftp://ftp.clarkconnect.com/4.2/other/kernel图像准备Xen的2.6.18-8.1.14.3.cc.i686.rpm的)。最小安装软件。
存档包含以下文件:
内核的vmlinuz-2.6.18-8.1.14.3.ccxen
初始RAM磁盘:clark.initrd.rgz clark.otherinitrd.rgz(一方可以使用)
磁盘映像:clark.img
来宾VM要使用此图像,根据RouterOS软路由的(记住,你必须从归档文件上传到您的RouterOS软路由的主机),使用下面的命令:
[管理员] / XEN>添加磁盘= hda的磁盘图像= clark.img的initrd = clark.otherinitrd.rgz内核的vmlinuz-2.6.18-8.1.14.3.ccxen的的内核命令行=“根= / dev/hda1的MikroTik的“内存= 128名称=克拉克
根用户的密码是rootroot。
存档可以在这里下载:http://www.mikrotik.com/download/clark.tar.bz2
CentOS 5.1版本的图像
图像准备使用网络安装ISO(ISO文件的CentOS-5.1-I386 netinstall.iso的,可从镜子在http://isoredirect.centos.org/centos/5/isos/i386/上市)和基于网络的安装。最小安装软件。
存档包含以下文件:
内核的vmlinuz-2.6.18-53.el5xen
头文字RAM盘:centos.initrd.rgz
磁盘映像:centos.img
来宾VM要使用此图像,根据RouterOS软路由的(记住,你必须从归档文件上传到您的RouterOS软路由的主机),使用下面的命令:
[管理员@ MikroTik的] / XEN>添加磁盘= hda的磁盘图像= centos.img的initrd = centos.initrd.rgz内核的vmlinuz-2.6.18-53.el5xen的的内核命令行=“滚装根= / dev/hda1的”内存= 512名称= CentOS的
根用户的密码是rootroot。
存档可以在这里下载:http://www.mikrotik.com/download/centos.tar.bz2
安装操作系统虚拟化支持
简化操作系统安装的方法之一是将其安装在使用一些完全虚拟化软件,如VMware或QEMU图像文件。这允许产生准备使用的图像文件,并且不需要任何额外的硬件。
例如:准备ClarkConnect社区4.2版SP1图片
下面找到如何ClarkConnect 4.2社区版作为来宾VM运行的说明。ClarkConnect安装需要注意的是默认不提供对虚拟化的支持,因此,额外的调整是必要的。
安装ClarkConnect
起初,创建图像将被安装在ClarkConnect:
?/ xen的$的qemu-IMG创建clark.img 1GB
格式化'clark.img'的,FMT =原料,大小= 1048576 KB
下一步,开始安装ClarkConnect安装ISO映像:
?/ xen的$ sudo的QEMU-HDA clark.img的-CDROM社区4.2.SP1.iso的净NIC,VLAN = 0,MACADDR = 00:01:02:03:04:AA-净水龙头,VLAN = 0,IFNAME = TAP0-M 128启动D
继续进行安装,创建一个根分区和交换空间(可选)。考虑磁盘大小时,选择要安装的软件包。在这个例子中盘800MB的根分区的大小和图像其余的用于交换分区。需要注意的是QEMU是指示模拟以太网卡,此卡在安装过程中配置了IP地址10.0.0.23/24。
ClarkConnect安装不提供对虚拟化的支持,默认情况下,因此,虚拟化技术的支持,将必须手动添加。ClarkConnect知道Xen的内核软件包分发分开安装,可在: ftp://ftp.clarkconnect.com/4.2/other/kernel-xen-2.6.18-8.1.14.3.cc.i686.rpm
为了安装这个包,我们必须把它放在新创建的映像。要做到这一点,启动新的形象:
?/ xen的$须藤的qemu-HDA净clark.img的NIC,VLAN = 0,MACADDR = 00:01:02:03:04:AA净水龙头,VLAN = 0,IFNAME = TAP0-M 128
假设使用QEMU虚拟机的网络配置正确,我们可以使用SCP把包文件:
?/ xen的$ SCP ./kernel-xen-2.6.18-8.1.14.3.cc.i686.rpm root@10.0.0.23 :/
的真实性主机'10 .0.0.23(10.0.0.23)'不能成立。
RSA密钥指纹是70:84:B8:C5:6D:62:37:D1:1E:96:29:D0:77:46:6一个:0C。
您确定要继续连接(是/否)?是
警告:永久添加'10 .0.0.23'(RSA)的已知主机的列表。
root@10.0.0.23的密码:
内核xen的-2.6.18-8.1.14.3.cc.i686.rpm的的100%16MB 2.0MB / s的0点08分
接下来,连接,ClarkConnect和安装内核包。请注意这个包是用ClarkConnect 4.2 SP1系统和正确的安装失败并不完全兼容,但考虑到唯一的目的是让这个软件包的安装启用Xen的内核和驱动程序,强制安装好,除了模块依赖文件必须手动创建:
?/ xen的$ SSH root@10.0.0.23
root@10.0.0.23的密码:
最后登录:07:20:34 2008年6月10日星期二
[根@服务器?]#CD /
[根@服务器/]#转我内核的xen 2.6.18-8.1.14.3.cc.i686.rpm的的 - 力 -  nodeps
用途:新的内核封装mkinitrd的[V] [ - ] [ -  rminitrd]
       [ -  initrdfile = <initrd-image>] [ - 可用depmod的]  -  rmmoddep]
       [ - 内核的-args = <args>的] [ - 旗帜= <banner>]
       [ - 生成默认] < - 安装|  - 删除<kernel-version>
       (例如:新内核的pkg  -  mkinitrd的 - 可用depmod  - 安装2.4.7-2)
错误:%后(xen的内核2.6.18-8.1.14.3.cc.i686)SCRIPTLET失败,退出状态1
[根@服务器/]#LS /启动
xen的配置-2.6.18-53.1.13.2.cc的initrd-2.6.18-53.1.13.2.cc.img symvers-2.6.18-8.1.14.3.ccxen.gz的的vmlinuz-2.6.18-53.1.13.2.cc的的SYMS-2.6.18-8.1.14.3.cc
配置,2.6.18-8.1.14.3.ccxen的memtest86 +有关-1.26的System.map-2.6.18-53.1.13.2.cc的vmlinuz-2.6.18-8.1.14.3.ccxen
平头symvers-2.6.18-53.1.13.2.cc.gz的的System.map-2.6.18-8.1.14.3.ccxen的的xen.gz-2.6.18-8.1.14.3.cc
[根服务器/]#可用depmod-V 2.6.18-8.1.14.3.ccxen-F / boot/System.map-2.6.18-8.1.14.3.ccxen
 ....
接下来,复制出一些文件从安装系统:
启用Xen的内核(/ boot/vmlinuz-2.6.18-8.1.14.3.ccxen)
初始RAM磁盘(/ boot/initrd-2.6.18-53.1.13.2.cc.img)
/?/ xen的$ SCP root@10.0.0.23 :/ boot/vmlinuz-2.6.18-8.1.14.3.ccxen。
root@10.0.0.23的密码:
的vmlinuz-2.6.18-8.1.14.3.ccxen的的100%2049KB 2.0MB /秒00:01
/?/ xen的SCP root@10.0.0.23 :/ boot/initrd-2.6.18-53.1.13.2.cc.img。
root@10.0.0.23的密码:
的initrd-2.6.18-53.1.13.2.cc.img的的100%434KB 433.8KB /秒00:00
不执行默认安装ClarkConnect在Xen虚拟控制台登录过程,所以才能有登录RouterOS软路由的虚拟控制台访问“/ xen的控制台<VM>”命令,应该得到图像(MKNOD内部虚拟控制台设备的/ dev / xvc0?204 191)。
默认ClarkConnect初始RAM磁盘不支持Xen虚拟磁盘进行引导,因为它不包含虚拟磁盘驱动程序。为了克服这个问题,必须更新初始RAM磁盘。
手动更新的initrd
一个机会,使初始RAM磁盘,将支持从虚拟磁盘进行引导是手动把虚拟磁盘驱动程序的initrd和更新加载该模块。
起初,我们提取ClarkConnect形象被复制的初始RAM磁盘的内容:
?/ xen的文件的initrd-2.6.18-53.1.13.2.cc.img的的
的initrd-2.6.18-53.1.13.2.cc.img:gzip压缩的数据,从Unix,最后更新:周二2011年06月10 14:01:27 2008年,最大压缩
?/ xen的MV的initrd-2.6.18-53.1.13.2.cc.img的clarkinitrd.gz
?/ xen的$ gunzip解clarkinitrd.gz的
?/ xen的文件clarkinitrd
clarkinitrd::ASCII cpio归档(SVR4没有CRC)
?/ xen的$ mkdir initrd中的
?/ xen的CD的initrd /
?/ XEN / initrd的$须藤的cpio-IDV  - 没有绝对的文件名</ clarkinitrd
箱子
BIN / insmod的
BIN /纳什
BIN / modprobe的
SYSROOT
系统
解放
lib / sd_mod.ko中
lib / libata.ko中
lib / scsi_mod.ko中
lib / ata_piix.ko中
lib/ext3.ko
lib / jbd.ko中
SBIN
开发
dev / console的
dev / systty的
dev/tty3
dev/tty2
dev/tty4以下
DEV / RAM
dev/tty1是
dev / null的
初始化
loopfs
进程
1990块
?/ XEN / initrd的猫的init
#!/ BIN /纳什

挂载吨进程的/ proc /进程
setquiet
回声挂载/ proc文件系统
回声安装的sysfs
挂载吨sysfs中没有/ SYS
回声“加载scsi_mod.ko模块”
insmod的/ lib / scsi_mod.ko中
回声“加载sd_mod.ko模块”
insmod的/ lib / sd_mod.ko中
回声“加载libata.ko模块”
insmod的/ lib / libata.ko中
回声“加载ata_piix.ko模块”
insmod的/ lib / ata_piix.ko中
回声“加载jbd.ko模块”
insmod的/ lib / jbd.ko中
回声“加载ext3.ko模块”
insmod的/ lib/ext3.ko的的
呼应创建块设备
mkdevices为/ dev
呼应创建根设备
mkrootdev为/ dev /根
使用umount / SYS
回声安装根文件系统
安装邻默认 -  RO-T的ext3的/ dev /根/ SYSROOT的
呼应切换到新根
switchroot / SYSROOT
从上面我们可以看到,init脚本initrd映像加载驱动程序SCSI和ATA磁盘,以及EXT3文件系统模块。为了ClarkConnect引导Xen下,我们有适当的Xen内核模块更换硬件驱动程序与Xen的虚拟磁盘驱动程序和EXT3文件系统模块。把这些模块安装ClarkConnect系统:
?/ XEN / initrd的CD LIB /
?/ XEN / initrd的/ lib目录$ LS
ata_piix.ko ext3.ko jbd.ko libata.ko scsi_mod.ko sd_mod.ko
?/ XEN / initrd的/ lib目录$ sudo的RM ata_piix.ko libata.ko scsi_mod.ko sd_mod.k
/?/ XEN / initrd的/ lib目录$ SCP root@10.0.0.23 :/ lib/modules/2.6.18-8.1.14.3.ccxen/kernel/fs/jbd/jbd.ko。
root@10.0.0.23的密码:
jbd.ko 100%70KB 69.8KB /秒
00:00
/?/ XEN / initrd的/ lib目录$ sudo的SCP root@10.0.0.23 :/ lib/modules/2.6.18-8.1.14.3.ccxen/kernel/fs/ext3/ext3.ko。
root@10.0.0.23的密码:
ext3.ko 100%141KB 141.5KB / s的
00:00
/?/ XEN / initrd的/ lib目录$ sudo的SCP root@10.0.0.23 :/ lib/modules/2.6.18-8.1.14.3.ccxen/kernel/drivers/xen/blkfront/xenblk.ko。
root@10.0.0.23的密码:
xenblk.ko 100%22KB 22.0KB /秒
00:00
下一步,更新的init脚本,以便它加载Xen虚拟磁盘驱动器。最终init脚本看起来应该像这样:
?/ XEN / initrd的猫的init
#!/ BIN /纳什

挂载吨进程的/ proc /进程
setquiet
回声挂载/ proc文件系统
回声安装的sysfs
挂载吨sysfs中没有/ SYS
回声“加载xenblk.ko模块”
insmod的/ lib / xenblk.ko中
回声“加载jbd.ko模块”
insmod的/ lib / jbd.ko中
回声“加载ext3.ko模块”
insmod的/ lib/ext3.ko的的
呼应创建块设备
mkdevices为/ dev
呼应创建根设备
mkrootdev为/ dev /根
使用umount / SYS
回声安装根文件系统
安装邻默认 -  RO-T的ext3的/ dev /根/ SYSROOT的
呼应切换到新根
switchroot / SYSROOT
创建initrd文件目录结构已作出修改:
?/ XEN / initrd的发现* | cpio的-O-H NEWC-O .. / clarkinitrd.new
?/ XEN / initrd中找到美元。深度| cpio的OV  - 格式= NEWC> .. / clark.initrd
?/ XEN / initrd的CD .. /
?/ xen的GZIP-C -9 <clark.initrd> clark.initrd.rgz
使用mkinitrd工具
而不是创建初始RAM磁盘手动上述ClarkConnect分布mkinitrd的工具可以使用。Xen内核软件包安装后如上图所示,可以创建初始RAM磁盘命令(注意ClarkConnect这个命令必须执行,例如,在QEMU虚拟机上运行):
[根服务器/]#mkinitrd的clark.otherinitrd.rgz 2.6.18-8.1.14.3.ccxen的 - 省略-SCSI模块 - 省略RAID-模块 - 省略-LVM模块 -  = xenblk
在此之后,新建立clark.otherinitrd.rgz的必须被复制来自ClarkConnect图像。
RouterOS软路由的添加ClarkConnect VM
最后上传文件(不要忘记关闭QEMU执行图像)主办RouterOS软路由的创建来宾VM进入:
[管理员@ MikroTik的] / XEN>打印详细
标志:X  - 禁用
 1 X名=“克拉克”磁盘= hda的磁盘图像=的“clark.img”的initrd =的“clark.otherinitrd.rgz”内核“的vmlinuz-2.6.18-8.1.14.3.ccxen的的”
     内核命令行=“根= / dev/hda1的”CPU数= 1内存= 128重量= 256控制台的telnet端口= 64000状态=禁用
请注意,虚拟机配置文件前面的步骤中所做的。另外要注意的“内核命令行参数提供。这指示ClarkConnect其根文件系统 - 我们提供ClarkConnect“磁盘= hda的”形象,并在安装过程中的根文件系统作为图像中的第一个分区,根文件系统分区/ dev/hda1。
ClarkConnect在首次启动时,它会检测硬件变化,也使虚拟控制台设备上登录。
例如:准备CentOS 5.1版本的图像
CentOS的IR基于RedHat Linux的Linux发行版。分布虚拟化技术的支持,包括必要的软件包,因此安装CentOS的图片,支持虚拟化技术是相当简单的。
安装CentOS 5.1版本
要创建比如CentOS的图像,我们使用QEMU CentOS安装ClarkConnect在以前的例子同样的方式。
创建图像文件,并与CentOS网络安装的ISO映像启动QEMU:
?/ xen的$的qemu-IMG创建centos.img 2GB
格式化'centos.img'的,FMT =原料,大小= 2097152 KB
?/ xen的$ sudo的centos.img的qemu-HDA-CDROM =的CentOS-5.1-i386的netinstall.iso网网卡,VLAN = 0,MACADDR = 00:01:02:03:04:AA净水龙头,VLAN = 0 IFNAME = TAP0-M 256
需要注意的是使用网络安装ISO映像 - 将SOFWARE包从网络下载。这意味着,必须配置和运行QEMU虚拟机的网络连接。
ClarkConnect在前面的例子中,在安装过程中的后续分区方案。创建分区方案示例图像图像可以看出: 
另外在安装过程中选择“虚拟化”SOFWARE集:

当安装完成后,CentOS的图像不引导下QEMU模拟器,因为它不支持运行Xen系统管理程序。不过这不要紧,因为,作为客户已经安装了所有必要的SOFWARE图像。还是这个力量,采取不同的方法从图像中提取必要的文件(ClarkConnect,这是得到了通过连接到虚拟机下运行QEMU和复制文件)。
准备初始RAM磁盘
Xen内核从CentOS的图像和,准备initrd的内容(包括虚拟磁盘驱动器),使用下面的步骤。
安装的根分区的图像使用loopback设备(注意,第一个分区的图像开始,部门63因此,我们使用偏移图像文件指向年初分区:
#安装centos.img / MNT-O回路,偏移= $ [512 * 63]
接下来,复制出来的内核文件:
#的CP / mnt/boot/vmlinuz-2.6.18-53.el5xen号/
我们要prepear initrd文件使用mkinitrd的工具。为了迫使它的工作装形象,使用chroot命令:
#的chroot到/ mnt / BIN / SH
SH-3.1#mkinitrd的centos.initrd.rgz 2.6.18-53.el5xen的 - 省略-SCSI模块 - 省略RAID-模块 - 省略-LVM模块 -  = xenblk
SH-3.1#退出
添加RouterOS软路由的CentOS的VM
现在文件正在运行的guest虚拟机(内核,新的initrd和图像)RouterOS软路由的和适当的进入虚拟机被提上应被用于:
[管理员@ MikroTik的] / XEN>打印详细
标志:X  - 禁用
 0 X名=“CentOS的”磁盘= hda的磁盘图像=的“centos.img”的initrd =的“centos.initrd.rgz”内核“的vmlinuz-2.6.18-53.el5xen的的”
     内核命令行=“滚装根= / dev/hda1的”CPU数= 1内存= 256重量= 256控制台的telnet端口= 64000状态=禁用
请注意,CentOS的内核也传递的参数应该使用哪个分区的根文件系统,类似于ClarkConnect。
添加你最喜爱的基于Linux操作系统的虚拟化支持
为了能够运行您喜爱的OS /分布在来宾VM,它必须支持Xen的DomU的,因此使Xen的支持,最有可能会涉及到重新编译内核。磁盘和虚拟网络接口设备要访问的Xen的NF浏览器blockfront的驱动程序,因此你应该确保这些驱动程序均包含在您的系统中,无论是直接在内核或模块。在编译时必须支持PAE内核。
根据您的分发使用Linux内核,内核源代码有可能是没有对Xen的支持。这可能意味着内核补丁是必要的。在这种情况下,你可以参考使用类似的内核版本和支持Xen的厂商的补丁的分布。
... 一段时间后,也许例子会...

相关阅读


Q:2000617 点击留言

Q:2000617|Archiver|ROS软路由论坛 ROSABC.com

GMT+8, 2019-8-21 08:25 , Processed in 0.097977 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部