热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

在Ubuntu系统上安装和配置Xen虚拟机

服务器硬盘已经升级了,还在等内存,内存是和硬盘一起订的货不知道怎么还没到,终于发现前天RAID0的测试结果为什么不正常,因为有个硬盘有问题,昏~新买的刚拆包装的硬盘居然就有问题。现在大多数SUN服务器上只有2GB-8GB的内存,升级后应该达到8GB-32

服务器硬盘已经升级了,还在等内存,内存是和硬盘一起订的货不知道怎么还没到,终于发现前天 RAID 0 的测试结果为什么不正常,因为有个硬盘有问题,昏~新买的刚拆包装的硬盘居然就有问题。现在大多数 SUN 服务器上只有 2GB-8GB 的内存,升级后应该达到 8GB-32GB,这样就可以给每个 Xen 虚拟机更多的内存了。我们有一些操作系统还是32位的,现在也必须升级到64位以应付大内存的到来。今天在一台 Sun Fire X2200 M2 上最小化安装64位的 Ubuntu,升级更新后开始安装和配置 Xen. 下面的安装步骤和配置过程基于 Ubuntu 9.04 Server 版本,CentOS 版本可以参看:在 CentOS 上安装和配置 Xen,Debian 版本可以参看:在 Debian 上安装和配置 Xen,OpenSolaris 版本参看:在 OpenSolaris 上安装和配置 Xen,NetBSD 版本参看:在 NetBSD 上安装和配置 Xen.

安装 Xen

安装支持 Xen 的相关工具:

$ sudo apt-get install ubuntu-xen-server

下载和安装支持 Xen 的 Linux 内核:


http://security.debian.org/debian-security/pool/updates/main/l/linux-2.6/linux-modules-2.6.26-2-xen-amd64_2.6.26-17lenny2_amd64.deb



http://security.debian.org/debian-security/pool/updates/main/l/linux-2.6/linux-image-2.6.26-2-xen-amd64_2.6.26-17lenny2_amd64.deb


$ sudo dpkg -i linux-modules-2.6.26-2-xen-amd64_2.6.26-17lenny2_amd64.deb
$ sudo dpkg -i linux-image-2.6.26-2-xen-amd64_2.6.26-17lenny2_amd64.deb

安装成功后,检查 Xen 内核是否已经装好:

$ sudo vi /boot/grub/menu.lst
...
title       Xen 3.3 / Ubuntu 9.04, kernel 2.6.26-2-xen-amd64
root        (hd0,0)
kernel      /xen-3.3.gz
module      /vmlinuz-2.6.26-2-xen-amd64 root=/dev/mapper/nvidia_igcjceec3 ro cOnsole=tty0
module      /initrd.img-2.6.26-2-xen-amd64
...

重启系统后检查一下是否是 Xen 的内核以及 Xen 是否启动:

$ uname -r
2.6.26-2-xen-amd64
$ sudo xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  1879     2     r-----      6.6
创建和安装 guest

如果把正在运行的 Xen 内核的操作系统看成 host 的话,那么运行在 host 上面的操作系统就可以看成 guest。先建一个目录用来存放所有的 guest 操作系统的 image,vm01.img,vm02.img,等等,1个 guest 对应1个 image. 使用 xen-create-image 后会在 /vm 下生成以 hostname 命名的目录,这个目录下会有 vm01.vpsee.com/disk.img,vm01.vpsee.com/swap.img 两个镜像文件。

$ sudo mkdir /vm
$ sudo xen-create-image --hostname=vm01.vpsee.com \
--ip=172.16.39.101 --gateway=172.16.38.1 --netmask=255.255.254.0  \
--dist=feisty --mirror=http://archive.ubuntu.com/ubuntu --size=10gb \
--memory=512mb --swap=512mb --arch=amd64 --dir=/vm \
--boot --passwd --role udev --dir=/etc/xen --force

可以根据需要调整 /etc/xen-tools/xen-tools.conf

进入 guest

安装成功后就可以登录 guest 了,

$ sudo xm console vm01

如果要退出 guest 的话,用 Ctrl + ],就会回到 host。

如果想每次启动 host 时自动启动 guest 的话:

$ sudo ln -s /etc/xen/vm01 /etc/xen/auto
更懒的办法

如果觉得安装 guest 操作系统太麻烦,可以到 http://stacklet.com/ 下载一个已经装好的镜像文件,调整 Xen guest 的配置文件,然后在 host 下启动 guest 镜像就可以了。

$ wget http://stacklet.com/sites/default/files/ubuntu/
ubuntu.9-04.x86-64.20090514.img.tar.bz2
$ tar jxvf ubuntu.9-04.x86-64.20090514.img.tar.bz2
$ sudo mv ubuntu.9-04.x86-64.xen3.pygrub.cfg /etc/xen/ubuntu.9-04.cfg
$ sudo vi /etc/xen/ubuntu.9-04.cfg
$ sudo mv ubuntu.9-04.x86-64.img /vm/ubuntu.9-04.img
$ sudo xm create -f ubuntu.9-04.cfg
Using config file "/etc/xen/ubuntu.9-04.cfg".
Error: Device 2049 (vbd) could not be connected. Failed to find an unused loop device
$ sudo vi /etc/modules
loop max_loop=64
$ sudo xm list
$ sudo xm console ubuntu.9-04

从 http://stacklet.com/ 下载的镜像文件的初始用户名和密码为:root/password

增加 swap

如何给 guest 系统(domU)增加 swap,这里有介绍。


推荐阅读
author-avatar
mobiledu2502900677
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有