如何设置Xen 4.3在Debian Wheezy(7.0.2)然后升级到Jessie
版本1.0
作者:Peter Okupski <okupski [at] widzew [dot] net>
这将是XEN(dom0-hypervisor)和一个虚拟系统(domU-guest)的快速简便的设置。 我想测试XEN是VMware之后的第二个经验,因为许多网页已经过时,并且有许多旧的修复错误和错误。 我已经决定用XEN给它一个旋转。
重要的提示:
谁将从本教程中获益:只有初学者想要测试简单的虚拟机,而不需要任何真正的云设备,如XenOrchestra,Cloudstack,Opencloud以及任何使用XAPI进行Xen Cloud Platform(XCP)的任何操作。我希望这样可以为任何人需要一个真正的云设备,至少具有web gui和几个用于存储/内存/ CPU分配的功能,目前它们不能应用于简单的Xen Xypervisor(或者它太多的工作:)
谁不是:对于任何需要任何高可用性和真正的云设备的用户/公司
我鼓励所有Xen新手观看这个视频,以获得Xen的感受和理解。
教程将分为以下几个部分:- Debian安装快速简单的LVM设置
- 升级到Jessie,所以我们将最新的XEN修复
- XEN 4.3安装
- XEN几个调整提示
- XEN简单桥设置
- XEN设置使用模板创建主机
- 用oneliner创建第一个domU Guest系统;)
使用LVM设置简单的Debian安装
我建议使用非官方(但Debian)已经具有Broadcom网卡和其他需要的非免费固件的ISO,这可能会打破这个好的和简单的过程。
Debian Unoffcial iso的debian安装程序初始设置后,请选择如下所示的自定义分区设置:我创建了以下分区:
装载点 | 尺寸 | 评论 |
/ boot | 200 MB | (主要)(新分区的位置:开始)(ext3)(可引导标志:on < - 重要,否则您的系统将无法启动!) |
交换 | 1GB | (逻辑)(新分区的位置:开始)(dom0 mem将被切成512M) |
/ | 6GB | (逻辑)(新分区的位置:开始)(ext3) |
我们可以将其余的磁盘设置为LVM。我们需要接受更改并将其写入磁盘。
您的安装应该完成,您需要将grub写入磁盘。之后安装将重启。 安装完你的分区应该是这样的:root@xen-dom0:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 6.0G 2.0G 2.4G 30% /
udev 10M 0 10M 0% /dev
tmpfs 38M 268K 38M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 266M 0 266M 0% /run/shm
/dev/sda1 180M 28M 140M 17% /boot
现在我们将安装lvm,并创建第一个物理卷。
apt-get install lvm2
pvcreate /dev/sda7
Physical volume "/dev/sda7" successfully created root@xen-dom0:/etc/xen-tools# pvscan PV /dev/sda7 lvm2 [273.51 GiB] Total: 1 [273.51 GiB] / in use: 0 [0 ] / in no VG: 1 [273.51 GiB] root@xen-dom0:/etc/xen-tools# pvdisplay "/dev/sda7" is a new physical volume of "273.51 GiB" --- NEW Physical volume --- PV Name /dev/sda7 VG Name PV Size 273.51 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 1vKp2c-KbmM-w8Ql-noOe-U00J-hlr0-FsKwOM |
是时候创建卷组(vg0)(注意在创建之前更改字母p / v!)
vgcreate vg0 /dev/sda7
Volume group "vg0" successfully created |
让我们看看,如果一切顺利。
vgdisplay
--- Volume group --- VG Name vg0 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 273.51 GiB PE Size 4.00 MiB Total PE 70018 Alloc PE / Size 0 / 0 Free PE / Size 70018 / 273.51 GiB VG UUID 2a3kn9-DvVA-3Qac-g4Wz-f2Xo-s5hk-Yh5fBc |
设置LVM后,我们可以使用这些不必要的包来移除我们的dom0:
apt-get remove bsd-mailx exim4 exim4-base exim4-daemon-light nfs-common
然后我们可以安装很少我们需要/可能需要:
apt-get install mc screen ssh debootstrap python iproute bridge-utils libcurl3-dev
纯粹的Debian 7.0.2安装后大约需要760MB。
rootfs 4.6G 764M 3.7G 18% / |
2.升级到Debian Jessie
现在我们可以升级到测试(Jessie),因为我们需要XEN尽可能的新鲜
使用这个生成器 - 它会节省你的时间:)和几个错误。 或者在/etc/apt/sources.list中将“wheezy”更改为“jessie”,将“stable”更改为“testing”。
/etc/apt/sources.list
deb http://ftp.pl.debian.org/debian testing main contrib non-free deb-src http://ftp.pl.debian.org/debian testing main contrib non-free deb http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb-src http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free |
第一:
apt-get update; apt-get -y upgrade
在更新过程中,将要求您重新启动服务 - 选择是。 接下来我们将下载我们需要的所有.deb(仅为了安全起见):
apt-get -y --download-only dist-upgrade
然后我们可以进行真正的更新。最好在此之后重新启动,所以内核将从3.2变为3.11。
apt-get -y dist-upgrade
整理:
apt-get clean; apt-get autoclean;apt-get autoremove
3. XEN 4.3安装
首先我们应该检查我们的CPU是否支持硬件虚拟化
egrep '(vmx|svm)' --color=always /proc/cpuinfo输出应该是这样的
root@xxxx:~# egrep '(vmx|svm)' --color=always /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority
然后我们可以处理安装XEN:管理程序,xen感知内核和xen工具。 这可以通过metapackage来完成:
apt-get install xen-linux-system xen-tools
Debian Wheezy使用Grub 2,默认情况下首先列出正常的内核,然后只列出Xen虚拟机管理程序及其内核。您可以通过更改Grub的Xen配置脚本(20_linux_xen)的优先级来更改此选项以使Grub 2更愿意启动Xen )要高于标准的Linux配置(10_linux)。 这最容易使用dpkg-divert完成:
dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen
对Grub配置进行任何更新后,您必须运行以下命令来应用配置:
update-grub
Xen调试
- 将Dom0内存设置为512Mb并禁用“气球”,因此DomU将永远不会占用Dom0的内存
- 防止逻辑卷上的虚拟机出现在引导菜单中
- 禁用Xendomains保存并恢复
- 仅为dom0设置第一个CPU
1.将Dom0内存设置为512Mb,并禁用baluning
/etc/xen/xend-config.sxp
(dom0-min-mem 512) (enable-dom0-ballooning no) |
2.防止逻辑卷上的虚拟机出现在引导菜单中
修改grub:/ etc / default / grub
#allocate memory to dom0 GRUB_CMDLINE_XEN="dom0_mem=512M" # Disable OS prober GRUB_DISABLE_OS_PROBER=true |
update-grub;reboot
3.禁用Xendomains保存并恢复
/ etc / default / xendomains
#XENDOMAINS_SAVE=/var/lib/xen/save XENDOMAINS_SAVE= #XENDOMAINS_RESTORE=true XENDOMAINS_RESTORE=false |
4.仅限dom0到第1个CPU
默认情况下,所有CPU在dom0和所有domU(guest)之间共享。 如果客户使用CPU时间太多,可能会破坏dom0的责任。 为了避免这种情况,可以向dom0授予一个(或多个)处理器内核,并将其固定到dom0。
将以下选项添加到/ etc / default / grub中以将一个cpu内核分配给dom0:
/ etc / default / grub
# Xen boot parameters for all Xen boots GRUB_CMDLINE_XEN="dom0_mem=512M dom0_max_vcpus=1 dom0_vcpus_pin" # Disable OS prober GRUB_DISABLE_OS_PROBER=true |
请记住运行update-grub之后!
update-grub还要在 /etc/xen/xend-config.sxp中进行这些更改:
/etc/xen/xend-config.sxp
(dom0-cpus 1) |
!! 在重新启动之前,请检查您是否更新了grub ,然后重新启动服务器!
XEN简单桥设置
大多数设置将使用BRIDGEed配置,如果您正在计划简单的环境就足够了,但是如果您需要VLAN或任何ACL等,我强烈建议您使用OpenVSwitch。
这是一个简单的桥梁的简单版本:
apt-get install bridge-utils
我们需要编辑: / etc / network / interfaces
/ etc / network / interfaces
##The loopback network interface |
/etc/init.d/networking restart
并检查你的桥梁是否已经出现
brctl show
bridge name bridge id STP enabled interfaces xenbr0 8000.001a6479cd8c no eth0 |
6. XEN-Tools设置为虚拟机使用模板(guest-domU)
现在让我们用模板创建我们的第一个新的domU的形象。 我们需要编辑文件:
/etc/xen-tools/xen-tools.conf
lvm = vg0 # your volume group which we created before install-method = debootstrap # This will launch debian installer size = 10Gb # Disk image size. memory = 512Mb # Memory size swap = 2Gb # Swap size noswap = 1 # Don't use swap at all for the new system. fs = ext4 # use the EXT3 filesystem for the disk image. dist = `xt-guess-suite-and-mirror --suite` # Default distribution to install. image = sparse # Specify sparse vs. full disk images. gateway = 10.0.9.1 # Your gateway, that dom0 is also using with bridge netmask = 255.255.255.0 # no comments needed;) broadcast = 10.0.9.255 # Your broadcast bridge = xenbr0 # Here we should use the bridge we created, xen will make it into eth0 on domU. cachedir = /var/cache/xen-tools/archives/ # Place for *.debs for further use passwd = 1 #This will ask for a root password to create on new machine kernel = /boot/vmlinuz-`uname -r` #It will use same kernel as dom0 is using( this is crucial, to avoid problems) initrd = /boot/initrd.img-`uname -r` #Same here for initrd mirror = `xt-guess-suite-and-mirror --mirror` mirror = ftp://ftp.pl.debian.org/debian/ #Enter you mirror of debian ext3_options = noatime,nodiratime,errors=remount-ro #Simple options to apply for new machine ext2_options = noatime,nodiratime,errors=remount-ro xfs_options = defaults reiserfs_options = defaults btrfs_options = defaults boot = 1 # Do we want to boot our new machine after creating it. Hell yeah! |
7.创建第一个domU访客
现在我们可以创建我们的第一个domU主机:xen-create-image --hostname domU-test --dist=jessie --vcpus=4 --ip=10.0.9.101
这将需要大约3-4分钟,具体取决于连接速度,CPU和磁盘速度。 一旦完成,我们可以查找它,如果它的工作。
xm list
Name ID Mem VCPUs State Time(s) Domain-0 0 512 1 r----- 93.8 domU-test 1 512 4 -b---- 23.9 |
我建议阅读xen-create-image -help ,因为它将给你一个想法,你可以改变它提供选项来创建任何distribution.Example:运行命令后和所有其他的东西,你可能需要。 还可以选择生成图像并将其用于准备启动系统模板,而无需每次运行安装程序3分钟。
现在,您可以使用ssh登录到新的主机。
下面你可以找到本教程中使用的链接: