欢迎光临
我们一直在努力

Xen在Debian Wheezy使用LVM

Xen在Debian使用LVM

作者:Jason Norwood-Young jason [at] freespeechpub dot co dot za

所以你有一些严重的服务器需求。 你想要一堆服务器,有几个操作系统,运行自己的疯狂网站做正确的事情,为世界服务,使之成为一个更好的地方。 只有一个问题 – 你很穷 太糟糕的是,AWS服务器和Rackspace服务器启动,而不会计算他们上班的时间,每次收到帐单时都会哭泣。

不要担心 – 你可以拥有你想要的东西,比那些云服务器的成本更低,特别是如果你需要24/7/365。 通过虚拟化,您可以使用一个beeeg服务器来承载大量的小型服务器。 几乎就像拥有自己的云!

本教程包括在Debian Wheezy之上安装Xen和您的第一个虚拟机。 如果您正在使用Squeeze,请查看Falko Timme的教程 ,该教程用作我的灵感(即使我们做的事情有所不同)。

选择一个服务器来运行它

所以我使用德国Hetzner 。 为什么? 因为他们血腥便宜 使用虚拟环境,您真正寻找的是很多内存。 内存越多,虚拟系统越多,那么它们就越大。 我有两台32GB的服务器,可以让我运行大约8台服务器,每个服务器在1GB到4GB之间,无需麻烦。 这不是任何形式的建议,除了每个月向我们提供辛苦赚来的现金外,我与赫兹纳没有任何关系。

您正在寻找的是一个提供者,将为您提供一个根服务器,便宜,拥有大量内存,以及远程重启和抢救的能力,以防您真的搞砸。

1.安装Xen

我假设您已经安装了Wheezy,您以root用户身份登录,并且已经完成了您需要做的所有apt-get更新和apt-get升级。 所以让我们开始吧!

apt-get install xen-linux-system xen-tools

这安装了Xen,一些高级内容,以及我们稍后将用于创建虚拟映像的非常有用的xen工具。

接下来我们要告诉Xen如何处理网络。 我有一个小小的坦白说:我不是一个网络的人。 其实我憎恶网络。 这是互联网的管道,我拒绝弯腰,显示水管工的裂缝。 而Xen网络很复杂,路由奇怪,桥梁神秘,还有什么其他的。 所以我只是做最简单,最快捷,最脏的解决方案 – 我坚持NAT模式。 (不,我真的不知道NAT是什么,但它有效,好吗?停止提问)

pico /etc/xen/xend-config.sxp

取消注释以下两行:

    (network-script network-nat)    (vif-script     vif-nat)

即使我们已经安装了Xen,但实际上并没有运行。 Xen在内核级别上运行,这意味着你实际上必须引导进入Xen。

首先,我们需要告诉Debian启动Xen而不是其通常的内核:

dpkg-divert –divert /etc/grub.d/08_linux_xen –rename /etc/grub.d/20_linux_xenupdate-grub

然后我们需要重新启动:

reboot

我知道你不能等待ssh进入你的新的,令人敬畏的Xen系统,但再给它一次重新启动。

好的,现在试试吧。

现在怎么样?

你呢? 我们好吗 好。 我们继续吧

2.控制Xen

所以现在你想确保Xen实际上正在运行。 在Squeeze上,你可以运行uname -r ,你会看到如下: 2.6.32-5-xen-amd64 。 对于人类未知的一些神秘原因,这在Wheezy上不起作用,反而是这样做的:

xen dmesg

你应该看到像:

(XEN) Xen version 4.1.4 (Debian 4.1.4-3+deb7u1) (carnil@debian.org) (gcc version 4.7.2 (Debian 4.7.2-5) ) Sun May  5 14:44:49 UTC 2013(XEN) Bootloader: GRUB 1.99-27+deb7u2(XEN) Command line: placeholder(XEN) Video information:(XEN)  VGA is text mode 80x25, font 8x16(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds(XEN) Disc information:(XEN)  Found 2 MBR signatures(XEN)  Found 2 EDD information structures...

如果你没有看到,你做错了事情。 回去再试一次。 对于其他人,成功! 恭喜! 你现在有一个很棒的Dom0实例!

多米诺 你叫谁?

放松吧 Dom0或Domain 0,是您的主机服务器,您现在的东西是的底部。 客户服务器被称为DomU,可能是因为它也听起来有点侮辱。

xm list

Name                                        ID   Mem VCPUs      State   Time(s)Domain-0                                     0 31089     8     r——      8.8

该命令列出了我们所有的虚拟服务器,包括Dom0。 目前,这是我们唯一运行的服务器。

我们可以为xm做很多工作,包括xm create ,它带来一个服务器, xm destroy ,它杀死一个服务器, xm reboot重启服务器,以及xm top ,它监视所有正在运行的服务器。

3.配置LVM

您可以创建Xen服务器作为块设备或LVM实例。 我喜欢LVM,因为它更加manly,它也使得waaay更容易调整分区稍后。

首先,我们需要一个空的,未安装的驱动器来放置LVM。 我没有一个空的,未安装的驱动器,所以我只是要从我的服务器上偷一个。

df -h

Filesystem                                              Size  Used Avail Use% Mounted onrootfs                                                 1008G  915M  956G   1% /udev                                                     10M     0   10M   0% /devtmpfs                                                   3.0G  292K  3.0G   1% /run/dev/disk/by-uuid/5642a4c4-1bcb-49e2-b89c-7d754e6a521a 1008G  915M  956G   1% /tmpfs                                                   5.0M     0  5.0M   0% /run/locktmpfs                                                   9.2G     0  9.2G   0% /run/shm/dev/md1                                                496M   34M  437M   8% /boot/dev/md3                                                1.7T  196M  1.7T   1% /home

1.7TB /家? 你是认真的吗? 这似乎是完全不必要的。

pico /etc/fstab

评论错误的驱动器

#/dev/md/3 /home ext4 defaults 0 0

卸载驱动器

umount /dev/md3

对,现在我们可以创建我们的LVM分区了。

pvcreate /dev/md3

  Writing physical volume data to disk "/dev/md3"  Physical volume "/dev/md3" successfully created

vgcreate xen-vol /dev/md3

vgdisplay

  --- Volume group ---  VG Name               xen-vol  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               1.71 TiB  PE Size               4.00 MiB  Total PE              448996  Alloc PE / Size       0 / 0  Free  PE / Size       448996 / 1.71 TiB  VG UUID               wa0QCN-lBc1-545B-zMwf-vIuS-VXXI-GZAfbW

正义!

4.配置Xen工具

Xen Tools使我们的Xen生活变得更加容易,特别是在创建新服务器时。 但首先我们需要配置一下。

pico /etc/xen-tools/xen-tools.conf

lvm = xen-volsize   = 20Gb      # Disk image size.memory = 4Gb    # Memory sizeswap   = 512Mb    # Swap sizegateway    = 192.168.1.2netmask    = 255.255.0.0broadcast  = 192.168.1.255mirror = http://ftp.de.debian.org/debian/mirror_precise = http://archive.ubuntu.com/ubuntu # (and any others you want)serial_device = hvc0disk_device = xvda #defaultcopyhosts = 1

5.创建客服务器

主要事件的时间! 这是您每次要创建新的Xen客户机服务器时重复的过程。

对于我们的第一个测试服务器,我将做一些比我们在xen-tools.conf中设置的默认值更小的东西。 您可以根据需要覆盖命令行上的任何默认值。 由于我们没有使用dhcp服务器,所以每次都需要设置“hostname”和“ip”。 一切都是可选的。

xen-create-image –hostname=test –ip=192.168.1.99 –memory=512Mb –size=5G –swap=256Kb

General Information--------------------Hostname       :  testDistribution   :  wheezyMirror         :  http://ftp.de.debian.org/debian/Partitions     :  swap            256Kb (swap)                  /               5G    (ext3)Image type     :  fullMemory size    :  512MbKernel path    :  /boot/vmlinuz-3.2.0-4-amd64Initrd path    :  /boot/initrd.img-3.2.0-4-amd64Networking Information----------------------IP Address 1   : 192.168.1.99 [MAC: 00:16:3E:27:33:2D]Netmask        : 255.255.0.0Broadcast      : 192.168.1.255Gateway        : 192.168.1.2Creating swap on /dev/xen-vol/test-swapDoneCreating ext3 filesystem on /dev/xen-vol/test-diskDoneInstallation method: debootstrapRunning hooksDoneNo role scripts were specified.  SkippingCreating Xen configuration fileDoneNo role scripts were specified.  SkippingSetting up root passwordGenerating a password for the new guest.All doneLogfile produced at:     /var/log/xen-tools/test.logInstallation Summary---------------------Hostname        :  testDistribution    :  wheezyIP-Address(es)  :  192.168.1.99RSA Fingerprint :  de:92:b7:63:55:20:74:46:d3:de:cc:ff:55:22:69:24Root Password   :  MlkaIn8

这将为我们创建配置文件和分区,但不为我们启动服务器。 配置文件位于/etc/xen/hostname.cfg。 如果您需要更改内存,可以直接编辑此文件。

让我们开始服务器

xm create /etc/xen/test.cfg

Using config file "/etc/xen/test.cfg".Started domain test (id=1)

什么是很酷的是,“测试”将添加到我们的/ etc / hosts文件中,这意味着我们可以这样做:

ssh test

使用您在xen-create-image输出结尾处收到的密码,然后输入!

确保你可以看到interwebs:

ping google.com

PING google.com (173.194.70.113) 56(84) bytes of data.64 bytes from fa-in-f113.1e100.net (173.194.70.113): icmp_req=1 ttl=48 time=6.05 ms64 bytes from fa-in-f113.1e100.net (173.194.70.113): icmp_req=2 ttl=48 time=6.03 ms^C--- google.com ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1001msrtt min/avg/max/mdev = 6.030/6.044/6.058/0.014 ms

喝啤酒

你应得的!

7.将IP地址指向虚拟服务器

您将需要从ISP(称为子网)一堆IP地址。 我每月支付一个额外的8个IP地址。 但让他们直接进入你的虚拟服务器需要一些工作。

pico /etc/network/interfaces

auto br0iface br0 inet static  address 192.168.1.2  netmask 255.255.0.0  pre-up brctl addbr $IFACE  post-down brctl delbr $IFACE

/etc/init.d/networking restart

ifconfig br0

br0       Link encap:Ethernet  HWaddr 82:18:d1:b8:37:c9          inet addr:192.168.1.2  Bcast:192.168.255.255  Mask:255.255.0.0          inet6 addr: fe80::9118:d1ff:feb8:37c9/64 Scope:Link          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1          RX packets:0 errors:0 dropped:0 overruns:0 frame:0          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:0          RX bytes:0 (0.0 B)  TX bytes:172 (172.0 B)

ip addr add 80.1.2.41 dev eth0

iptables -A PREROUTING -t nat -p all -i eth0 -d 80.1.2.41 -j DNAT –to 192.168.1.99

在使用xen-create时使用–bridge = br0 。 对于现有的/etc/xen/*.cfg文件,请编辑此行:

    vif         = [ 'ip=192.168.1.99,mac=00:15:3F:B4:AC:34' ]

看起来像这样:

    vif         = [ 'ip=192.168.1.99,mac=00:15:3F:B4:AC:34','bridge=br0' ]

如有必要,销毁并创建虚拟服务器。

赞(0) 打赏
未经允许不得转载:老赵部落 » Xen在Debian Wheezy使用LVM
data-ad-format="auto" data-full-width-responsive="true">

评论 抢沙发