Chinaunix首页 | 论坛 | 博客
  • 博客访问: 853412
  • 博文数量: 581
  • 博客积分: 7803
  • 博客等级: 少将
  • 技术积分: 3653
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-27 08:21
文章分类

全部博文(581)

文章存档

2013年(7)

2012年(414)

2011年(159)

2009年(1)

分类:

2012-03-23 12:23:08

使用 LVM 技术提升 Xen 虚拟机性能的实现

你知道吗?使用LVM分区作为Xen的文件存储,不仅可以最大发挥LVM的性能,而且还可以很方便的管理虚拟机。下面,晓辉将介绍这是如何实现的。

环境: 5.7 x86_64

1、卸载/data1,将其做为LVM分区

umount /data1

fdisk -l 命令的输出:

Disk /dev/sda: 898.3 GB, 898319253504 bytes 255 heads, 63 sectors/track, 109214 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 51006 409601272+ 83 Linux /dev/sda3 51007 52918 15358140 83 Linux /dev/sda4 52919 109214 452197620 5 Extended /dev/sda5 52919 54830 15358108+ 83 Linux /dev/sda6 54831 56135 10482381 83 Linux /dev/sda7 56136 56396 2096451 82 Linux swap / Solaris /dev/sda8 56397 56460 514048+ 83 Linux /dev/sda9 56461 109214 423746473+ 83 Linux

将大分区/dev/sda9 建立物理卷

# pvcreate /dev/sda9 Physical volume "/dev/sda9" successfully created

pvscan命令输出:

PV /dev/sda9 lvm2 [404.12 GB] Total: 1 [404.12 GB] / in use: 0 [0 ] / in no VG: 1 [404.12 GB]

2、使用vgcreate命令建立volume groupm名字为xen-volume2

# vgcreate xen-volume /dev/sda9 Volume group "xen-volume" successfully created

再看pvscan命令的输出,和前一次不一样了:

PV /dev/sda9 VG xen-volume lvm2 [404.11 GB / 404.11 GB free] Total: 1 [404.11 GB] / in use: 1 [404.11 GB] / in no VG: 0 [0 ]

再看看vgdisplay命令的输出:

# vgdisplay -v xen-volume2 Using volume group(s) on command line Finding volume group "xen-volume" --- Volume group --- VG Name xen-volume 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 404.11 GB PE Size 4.00 MB Total PE 103453 Alloc PE / Size 0 / 0 Free PE / Size 103453 / 404.11 GB VG UUID JWIYoU-eaBA-MVdN-NX9Q-EEB0-sme7-Cxo85D --- Physical volumes --- PV Name /dev/sda9 PV UUID H4ovdJ-GwoB-rfOK-jLbG-Px68-r1QG-SFF3my PV Status allocatable

3、在上面建立的名为“xen-volume2”的volume group上创建一个容量为150G的,名称为“3-34”的logic volume:

# lvcreate -L 150G -n 3-34 xen-volume2 Logical volume "xen-lv" created

查看Logic volume的device node,这个device node的命名规则是volume group + logic volume:

# ls -al /dev/mapper/ 总计0 drwxr-xr-x 2 root root 80 Feb 23 10:29 . drwxr-xr-x 14 root root 4120 Feb 23 10:29 .. crw------- 1 root root 10, 62 Feb 23 10:21 control brw-rw---- 1 root disk 253, 0 Feb 23 10:29 xen--volume-3--34

另外,在/dev目录下有一个以volume group为名字的目录,这个目录下有一个以logic volume为名字的软链接文件,这个文件指向/dev/mapper下的device node。

# ls -al /dev/xen-volume2/ 总计0 drwxr-xr-x 2 root root 60 Feb 23 10:29 . drwxr-xr-x 14 root root 4120 Feb 23 10:29 .. lrwxrwxrwx 1 root root 29 Feb 23 10:29 3-34 -> /dev/mapper/xen--volume-3--34

查看Logic volume的属性:

# lvdisplay /dev/xen-volume2/3-36 --- Logical volume --- LV Name /dev/xen-volume/3-34 VG Name xen-volume LV UUID RMM48V-huJV-dKca-Gra0-f6sr-WNxS-9In3B0 LV Write Access read/write LV Status available # open 0 LV Size 150.00 GB Current LE 38400 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256

4、在/etc/fstab文件里找到data1分区哪一行,将其注释掉,防止重启时候出错。

#LABEL=/data1 /data1 ext3 defaults 1 2

5、安装一个 虚拟机

以/dev/xen-volume2/3-37为xen硬盘分区,安装一个4G内存,150G硬盘的linux 虚拟机

1)建立3.36 lvm分区50G,名字为3-36

lvcreate -L 50G -n 3-37 xen-volume2

2)virt-install -n 3.37 -p -r 2048 --vcpus=4 -f /dev/xen-volume2/3-36 -l --nographics

意思是名字为3.37 ,半、内存为2G 、cpu核心数4、硬盘所在分区/dev/xen-volume2/3-37、网络地址  不使用图形界面。

附注:测试 file 和 LVM 写速度

测试命令

dd if=/dev/zero of=test.bin bs=4K count=512K ;dd if=/dev/zero of=test.bin bs=4K count=512K ;dd if=/dev/zero of=test.bin bs=4K count=512K

Xen 使用 LVM 作为 os tap:

母机写速度 331M/s

2147483648 bytes (2.1 GB) copied, 6.17998 seconds, 347 MB/s 2147483648 bytes (2.1 GB) copied, 6.56825 seconds, 327 MB/s 2147483648 bytes (2.1 GB) copied, 6.67982 seconds, 321 MB/s

虚拟机(linux)写速度 292M/s 相当于母机的88%

2147483648 bytes (2.1 GB) copied, 7.34302 seconds, 292 MB/s 2147483648 bytes (2.1 GB) copied, 7.91667 seconds, 271 MB/s 2147483648 bytes (2.1 GB) copied, 6.86898 seconds, 313 MB/s

Xen 使用 file 作为 os tap:

母机写速度 171M/s

2147483648 bytes (2.1 GB) copied, 13.8047 seconds, 156 MB/s 2147483648 bytes (2.1 GB) copied, 11.737 seconds, 183 MB/s 2147483648 bytes (2.1 GB) copied, 12.2207 seconds, 176 MB/s

虚拟机(linux)写速度57.2M/s 相当于母机的33%

2147483648 bytes (2.1 GB) copied, 43.2957 seconds, 49.6 MB/s 2147483648 bytes (2.1 GB) copied, 36.5314 seconds, 58.8 MB/s 2147483648 bytes (2.1 GB) copied, 33.9732 seconds, 63.2 MB/s

总结:为什么要混合使用 file 和 LVM ?

根据这两种技术的优缺点和技术特性,在跑MySQL的 Xen Linux上,应充分利用 LVM 做为虚拟机os载体,尽量发挥 LVM 的性能优势。而 file 虽然写性能差,但是迁移方便,这是它的优势。

总之,使用的时候可根据具体需求合理选择 file 和 LVM 作为虚拟机操作系统载体。

阅读(256) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~