欢迎光临
我们一直在努力

Xen:如何将基于图像的客户机转换为基于LVM的客户机

Xen:如何将基于图像的访客转换为基于LVM的访客

版本1.0
作者:Falko Timme

这篇简短的文章解释了如何将使用磁盘映像的Xen guest虚拟机转换/转换为LVM卷。 使用磁盘映像的虚拟机在磁盘IO上非常慢,重,所以使用LVM通常更好。 而且,基于LVM的guest虚拟机更易于备份(使用LVM快照 )。

我不会保证这将为您工作!

1初步说明

要使用基于LVM的guest虚拟机,您需要一个卷组,它具有一些未分配给任何逻辑卷的可用空间。 在这个例子中,我使用大小约为的卷组/ dev / vg0 。 465GB …

vgdisplay

server1:~# vgdisplay
  — Volume group —
  VG Name               vg0
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               465.28 GB
  PE Size               4.00 MB
  Total PE              119112
  Alloc PE / Size       59842 / 233.76 GB
  Free  PE / Size       59270 / 231.52 GB
  VG UUID               gnUCYV-mYXj-qxpM-PEat-tdXS-wumf-6FK3rA

server1:~#

…包含大小约为的逻辑卷/ dev / vg0 / root 。 232GB和逻辑卷/ dev / vg0 / swap_1 (约1GB) – 其余的未分配,可用于Xen guest:

lvdisplay

server1:~# lvdisplay
  — Logical volume —
  LV Name                /dev/vg0/root
  VG Name                vg0
  LV UUID                kMYrHg-d0ox-yc6y-1eNR-lB2R-yMIn-WFgzSZ
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                232.83 GB
  Current LE             59604
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  – currently set to     256
  Block device           254:0

  — Logical volume —
  LV Name                /dev/vg0/swap_1
  VG Name                vg0
  LV UUID                SUI0uq-iTsy-7EnZ-INNz-gjvu-tqLD-rGSegE
  LV Write Access        read/write
  LV Status              available
  # open                 2
  LV Size                952.00 MB
  Current LE             238
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  – currently set to     256
  Block device           254:1

server1:~#

我使用以下命令创建的基于映像的Xen guest虚拟机xen1.example.com:

xen-create-image –hostname=xen1.example.com –size=4Gb –swap=256Mb –ip=192.168.0.101 –memory=128Mb –arch=amd64 –role=udev

这是它的Xen配置文件:

vi /etc/xen/xen1.example.com.cfg

## Configuration file for the Xen instance xen1.example.com, created# by xen-tools 3.9 on Mon Mar  9 19:22:40 2009.###  Kernel + memory size#kernel      = '/boot/vmlinuz-2.6.26-1-xen-amd64'ramdisk     = '/boot/initrd.img-2.6.26-1-xen-amd64'memory      = '128'##  Disk device(s).#root        = '/dev/xvda2 ro'disk        = [                  'file:/home/xen/domains/xen1.example.com/swap.img,xvda1,w',                  'file:/home/xen/domains/xen1.example.com/disk.img,xvda2,w',              ]##  Hostname#name        = 'xen1.example.com'##  Networking#vif         = [ 'ip=192.168.0.101,mac=00:16:3E:F2:DC:FA' ]##  Behaviour#on_poweroff = 'destroy'on_reboot   = 'restart'on_crash    = 'restart'

如您所见,guest虚拟机正在使用两个磁盘映像: /home/xen/domains/xen1.example.com/disk.img (4GB)和/home/xen/domains/xen1.example.com/swap.img(256MB )。

我们需要精确的图像大小,以便我们可以创建相同大小的逻辑卷。 如果您不记得确切的磁盘和交换大小,可以转到存储图像的目录…

cd /home/xen/domains/xen1.example.com

…并运行以下命令 – 它将以人类可读的格式显示图像大小:

ls -lh

2将图像转换为LVM

在我们转换图像之前,我们必须关闭客人:

xm shutdown xen1.example.com

然后,我们创建与磁盘映像大小相同的逻辑卷,例如:

lvcreate -L4G -n xen1_root vg0
lvcreate -L256M -n xen1_swap vg0

这将创建逻辑卷/ dev / vg0 / xen1_root (4GB)和/ dev / vg0 / xen1_swap (256MB):

lvdisplay

server1:~# lvdisplay
  — Logical volume —
  LV Name                /dev/vg0/root
  VG Name                vg0
  LV UUID                kMYrHg-d0ox-yc6y-1eNR-lB2R-yMIn-WFgzSZ
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                232.83 GB
  Current LE             59604
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  – currently set to     256
  Block device           254:0

  — Logical volume —
  LV Name                /dev/vg0/swap_1
  VG Name                vg0
  LV UUID                SUI0uq-iTsy-7EnZ-INNz-gjvu-tqLD-rGSegE
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                952.00 MB
  Current LE             238
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  – currently set to     256
  Block device           254:1

  — Logical volume —
  LV Name                /dev/vg0/xen1_root
  VG Name                vg0
  LV UUID                MQzhrS-OpOt-2IbY-BozD-l5vN-3doB-GRtyMc
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                4.00 GB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  – currently set to     256
  Block device           254:2

  — Logical volume —
  LV Name                /dev/vg0/xen1_swap
  VG Name                vg0
  LV UUID                GHwsIT-a0sj-M72J-OVof-Ydju-Sexf-Ex824b
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                256.00 MB
  Current LE             64
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  – currently set to     256
  Block device           254:3

server1:~#

现在我们可以转换图像如下:

dd if=/home/xen/domains/xen1.example.com/disk.img of=/dev/vg0/xen1_root
dd if=/home/xen/domains/xen1.example.com/swap.img of=/dev/vg0/xen1_swap

(这可能需要很多时间,这取决于图像的大小。)

之后,我们必须打开/etc/xen/xen1.example.com.cfg

vi /etc/xen/xen1.example.com.cfg

…并改变…

[...]disk        = [                  'file:/home/xen/domains/xen1.example.com/swap.img,xvda1,w',                  'file:/home/xen/domains/xen1.example.com/disk.img,xvda2,w',              ][...]

… 至 …

[...]disk        = [                  'phy:/dev/vg0/xen1_swap,xvda1,w',                  'phy:/dev/vg0/xen1_root,xvda2,w',              ][...]

你现在可以再次启动客人了

xm create /etc/xen/xen1.example.com.cfg

如果一切顺利,您可以删除磁盘映像:

rm -f /home/xen/domains/xen1.example.com/disk.img
rm -f /home/xen/domains/xen1.example.com/swap.img

赞(0) 打赏
未经允许不得转载:老赵部落 » Xen:如何将基于图像的客户机转换为基于LVM的客户机

评论 抢沙发