热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

当前位置 :| 主页>Linux教程>Linux入门>

Linux上的虚拟化技术 Xen 初学者指南

来源: 作者: 时间:2008-09-10 Tag: 点击:

[root@localhost ~]# cd /opt/fedora5vm
[root@localhost fedora5vm]# cp fedora.fc5.xen.cfg fc5vm.cfg
我们要对fc5vm.cfg做一下修改;
在fc5vm.cfg中,我们会看到如下的内容:
kernel = "/boot/vmlinuz-2.6-xenU"
memory = 128
name = "fedora.fc5"
nics = 1
dhcp = "dhcp"
disk = ['file:/xen/fedora/fedora.fc5.img,sda1,w', 'file:/xen/fedora/fedora.swap,sda2,w']
root = "/dev/sda1 ro"
首先我们看kernel 这行,这行是定义虚拟操作系统内核的,我们要用到我们安装xen是所安装的内核。要在虚拟平台/boot目录中找。比如我用Slackware虚拟 Fedora 。那虚拟平台就是Slackware。我应试在Slackware的/boot中找文件名中包含vmlinuz和xenU字样的文件。比如我找以的是:
[root@localhost ~]# ls -lh /boot/vmlinuz*xenU*
lrwxrwxrwx 1 root root 21 2006-04-12 07:49 /boot/vmlinuz-2.6-xenU -> vmlinuz-2.6.12.6-xenU
lrwxrwxrwx 1 root root 21 2006-04-12 07:49 /boot/vmlinuz-2.6.12-xenU -> vmlinuz-2.6.12.6-xenU
-rw-r--r-- 1 root root 1.1M 2006-04-12 07:49 /boot/vmlinuz-2.6.12.6-xenU
我们看到有类似的三个文件,实际上只有一个,也就是 vmlinuz-2.6.12.6-xenU,其它的都是他的链接文件。所以我们在kernel行中指定内核时,可以用这三个中的任何一个;比如我们用 vmlinuz-2.6-xenU;
memory是指定内存大小的,我们设置被虚拟的Fedora 5的虚拟内存大小是 128M;
name 是定义虚拟操作系统的名字的,可以通过xm list中显示出来,我们也改简单点,改为fc5
nics=1 不变
dhcp 这行,是用来指定获取Fedora 5系统的IP是通过DHCP获取的,不过您也可以指定IP。可以不要这行;
vif = ['mac=aa:00:00:00:00:11'] 用来指定Fedora 5的网卡的物理地址;可以自己定义。
ip = "192.168.1.144" 用来指定虚拟网卡的IP
netmask="255.255.255.0" 用来指定掩码
disk这行是用来定义Fedora所处的物理分区映射点,及物理交换分区及映射点的;因为物理分区是通过phy:来指定的。所以我们得改一改。因为我们已经把Fedora放在了/dev/hda5了。另外交换分区在哪呢?可以通过swapon -s来查看物理交换分区,要在虚拟平台中查看;比如我得到的是/dev/hda8是交换分区。所以disk这行就应该这样写:
disk = ['phy:hda5,sda1,w','phy:hda8,sda2,w']
不过真实物理分区的映射点,比如/dev/hda5映射到了/dev/sda1,交换分区/dev/hda8映射到了/dev/sda2。映射过后,Fedora的root文件系统就用映射后的/dev/sda1。慢慢理解;物理分区的映射点是可以在Linux系统设备定义的许可范围内进行。自己尝试着换一换映射点。如果Fedora的root所处的物理分区的映射点改变后,Fedora的root=的值也得跟着改变。另外还要改Fedora系统中的/etc/fstab文件;
root一行,来指定Fedora的所有的虚拟物理分区(就是映射点)。映射到哪里了呢?Fedora 安装到了/dev/hda5,映射后虚拟到了/dev/sda1。所以Fedora系统引导时就寻找/dev/sda1做为文件系统。
所以root这行可写为:
root = "/dev/sda1 ro"
所以我们可以这样写Fedora 5的引导配置文件;
第一种:如果是用DHCP来获取IP:
kernel = "/boot/vmlinuz-2.6-xenU"
memory = 128
name = "fc5"
nics = 1
vif = ['mac=aa:00:00:00:00:11']
dhcp = "dhcp"
disk = ['phy:hda5,sda1,w','phy:hda8,sda2,w']
root = "/dev/sda1 ro"
第二种:如果是指定IP的话:
kernel = "/boot/vmlinuz-2.6-xenU"
memory = 128
name = "fc5"
nics = 1
vif = ['mac=aa:00:00:00:00:11']
disk = ['phy:hda5,sda1,w','phy:hda8,sda2,w']
root = "/dev/sda1 ro"
ip = "192.168.1.144"
netmask="255.255.255.0"
再举一例:
比如Fedora 被安装在了/dev/hda5分区,物理交换分区为/dev/hda8。通过DHCP获得IP。我想映射/dev/hda5到/dev/hda5,并且想映射/dev/hda8到/dev/hda8。我们应该如何修改一些配置文件呢?
Fedora的引导文件内容应该是:
kernel = "/boot/vmlinuz-2.6-xenU"
memory = 128
name = "fc5"
nics = 1
vif = ['mac=aa:00:00:00:00:11']
dhcp = "dhcp"
disk = ['phy:hda5,hda5,w','phy:hda8,hda8,w']
root = "/dev/hda5 ro"
然后我们应该再把装有Fedora的/dev/hda5分区挂载,然后修改Fedora系统的/etc/fstab。注意:不是修改虚拟平台的/etc/fstab。不要弄混了!!!!
应该先挂载Fedora 5所处的分区:
[root@localhost ~]# mount /dev/hda5 /mnt/fedora/
然后修改Fedora 5的/etc/fstab文件,也就是/mnt/fedora/etc/fstab文件:找到如下两行:
/dev/sda1 / ext3 defaults 1 1
/dev/sda2 none swap sw 0 0
改为:
/dev/hda5 / ext3 defaults 1 1
/dev/hda8 none swap sw 0 0
接着再umount /mnt/fedora
[root@localhost ~]# umount /mnt/fedora
7.16 引导Fedora 5 ;
引导运行Fedora 5.0就好办了,就是用xm 工具来引导;首先要确认你的Fedora 5的配置文件放在哪里。比如我是放在了/opt/fedora5vm中。并且文件名为fc5vm.cfg。所以我就可以这样来引导Fedora 5。
[root@localhost ~]# /usr/sbin/xm create -c /opt/fedora5vm/fc5vm.cfg
7.17 虚拟操作系统网卡不能激活的处理方法 ;
modprobe: FATAL: Could not load /lib/modules/2.6.12.6-xenU/modules.dep:
No such file or directory
如果出现类似上面的现象,请复制虚拟平台的中的/lib/modues/下的2.6.12.6-xenU 到Fedora系统中;
方法是先挂载Fedora 所处的物理分区,然后用cp -rp 来复制;
首先要关掉Fedora,然后再复制;
[root@localhost ~]# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 462 1 r----- 2192.9
fc5 2 128 1 -b---- 6.4
以上面虚拟操作系统的ID为准,比如fc5的ID是 2,就要运行如下命令;
[root@localhost ~]# xm destroy 2
然后mount 挂载Fedora所处的物理分区/dev/hda5;
[root@localhost ~]# mount /dev/hda5 /mnt/fedora
[root@localhost ~]# mkdir /mnt/fedora/lib/modules
注:在Fedora中的/lib目录中创建modules。如果有了就不创建;
[root@localhost ~]# cp -rp /lib/modules/2.6.12.6-xenU/ /mnt/fedora/lib/modules/
[root@localhost ~]# chmod -R 755 /mnt/fedora/lib/modules/
[root@localhost ~]# umount /mnt/fedora
7.2 Fedora 安装运行于一个映像文件中;
7.21 下载Fedora 5.0的基础系统;
请到: http://jailtime.org
7.22 解压和提取相应文件;
我们把下载下来的Fedora 5 基础系统,存放到/opt/fedora5vm目录中;然后解压;
[root@localhost ~]# mkdir /opt/fedora5vm
[root@localhost ~]# mv fedora.fc5.20060401.img.tgz /opt/fedora5vm
[root@localhost ~]# cd /opt/fedora5vm
[root@localhost fedora5vm]# tar zxvf fedora.fc5.20060401.img.tgz
[root@localhost fedora5vm]# ls
fedora.fc5.20060401.img.tgz fedora.fc5.img fedora.fc5.xen.cfg fedora.swap
7.23 修改引导运行Fedora的配置文件;
我们从fedora.fc5.20060401.img.tgz 解压出来一个fedora.fc5.xen.cfg ,这个就是用来引导Fedora 5的配置文件。我们改一改以适合我们的需要。我们把这个文件复制为fc5vm.cfg
[root@localhost ~]# cp /opt/fedora5vm/fedora.fc5.xen.cfg /opt/fedora5vm/fc5vm.cfg
fc5vm.cfg 内容如下:
kernel = "/boot/vmlinuz-2.6-xenU"
memory = 128
name = "fc5"
nics = 1
vif = ['mac=aa:00:00:00:00:11']
dhcp = "dhcp"
disk = ['file:/opt/fedora5vm/fedora.fc5.img,sda1,w', 'file:/opt/fedora5vm/fedora.swap,sda2,w']
root = "/dev/sda1 ro"
注解:
首先我们看kernel 这行,这行是定义虚拟操作系统内核的,我们要用到我们安装xen是所安装的内核。要在虚拟平台/boot目录中找。比如我用Slackware虚拟 Fedora 。那虚拟平台就是Slackware。我应试在Slackware的/boot中找文件名中包含vmlinuz和xenU字样的文件。比如我找以的是:


相关文章:
linux U盘启动盘制作
Linux设置启动程序
free -m
多核技术与并发多线程技术介绍
理解Linux的性能
section.2 booting and shutting down 引导与关机
Linux — 目录的读权限与执行权限
Linux — 硬链接与符号链接
Linux裸设备总结
linux系统文件综述
Linux下硬盘数据恢复与分区表恢复
./configure命令常用选项详解
浅谈如何学习linux
grub双系统启动顺序更改
Linux 下实现远程开机
Linux系统清除Grub的几种方法
AIX如何才能看出网线是否插好?
vxvm 逻辑卷管理中遇到的问题
linux系统文件认识
Linux守护进程列表
关于/dev/null
FreeBSD学习笔记
Linux简明教程
linux任重道远
在Linux里设置环境变量的方法(export PATH)
关于.bashrc和.vimrc不能自动被执行的问题
linux优秀网站列表
关于swap,虚拟内存和page的区别
Linux系统下系统目录详解
Cooperative Linux