如何在 Xen dom0 下判断 domU 的硬盘使用率?

在 Xen 环境下我们可以很容易在 dom0 上通过 xm top 命令得到 domU 的当前运行状态信息,比如 domU 的 CPU 使用率,占用内存,IO 读写,网络等,但是无法知晓 domU 硬盘的使用情况,用了多少 inode、多少空间,还剩多少,是否快爆满、是否应该通知客户升级 Xen 硬盘等。这时候需要一种办法能得到 domU 上的硬盘信息,不一定要特别准确,只要不太离谱就行。我们使用 dumpe2fs 这个工具来打印客户的硬盘使用率,需要注意的是这个工具只针对 ext2/ext3/ext4 文件系统格式有效,也就是说只能用在那些使用 ext2/3/4 文件系统的 domU 中。

如果 Xen domU 使用的是文件格式的镜像:

# dumpe2fs -h /var/vps/images/vpsee.img
dumpe2fs 1.39 (29-May-2006)
Filesystem volume name:   
Last mounted on:          
Filesystem UUID:          e1f1f647-2098-4cfa-a1a3-9a44d4f93348
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              2567264
Block count:              5120256
Reserved block count:     256012
Free blocks:              2674639
Free inodes:              1018476
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      621
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         16352
Inode blocks per group:   511
Filesystem created:       Sat Nov  7 06:25:55 2009
Last mount time:          Sat Sep  8 13:37:54 2012
Last write time:          Sat Sep  8 13:37:54 2012
Mount count:              3
Maximum mount count:      21
Last checked:             Fri Mar 23 12:34:20 2012
Check interval:           15552000 (6 months)
Next check after:         Wed Sep 19 12:34:20 2012
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:		  128
Journal inode:            8
First orphan inode:       1242758
Default directory hash:   tea
Directory Hash Seed:      a62d3cd5-9789-49bf-86c7-efee3d0286d4
Journal backup:           inode blocks
Journal size:             128M

如果 Xen domU 使用的是 LVM 格式的镜像:

# dumpe2fs -h /dev/vol-vps/vpsee_img 

从上面的 Inode count, Block count, Free blocks, Free inodes, Block size 等就可以判断出硬盘的使用率情况。

评论 (5 Comments)

  1. domU运行中可以把使用的LVM挂载到dom0上,但是无法写操作,可以查看。没发现有副作用。

  2. 嗯,可以挂载,不过这样做不太好,特别是 domu io 繁重的时候,还有如果挂载后忘了卸载那可就麻烦了,不知道哪天会出现哪事~

  3. 您好,我有一个虚拟机,配置文件如下:
    name = “udom”
    uuid = “9c3cab2d-5737-4178-bbe3-953d21246621”
    maxmem = 1024
    memory = 1024
    vcpus = 1
    cpus = “0”
    bootloader = “/usr/bin/pygrub”
    on_poweroff = “destroy”
    on_reboot = “restart”
    on_crash = “restart”
    vfb = [ ]
    disk = [ “phy:/dev/VolGroup00/centos,xvda,w”, “phy:/dev/VolGroup00/centosswap,xvdb,w”, “phy:/dev/VolGroup00/centos-template,xvdd,w”, “phy:/dev/VolGroup00/centosdata,xvdg,w” ]
    vif = [ “mac=00:16:3e:3f:xx:xx,bridge=avpublic”, “script=vif-nop, mac=00:0c:29:87:xx:xx”, “mac=00:16:3e:66:xx:xx,bridge=avprivate” ]

    想请教一下,如何将这个虚拟机转成VMDK格式,保持系统配置不变,然后拿到VMWARE上运行?
    我试过用qemu-img convert -f raw :/dev/VolGroup00/centos -O vmdk centos.vmdk将虚拟机转成vmdk,但拿到VMWARE上运行不起来,提示找不到操作系统。

  4. @ccavb
    你可以试试这里提到的 VMware vCenter Converter 免费工具,http://www.vpsee.com/2012/10/upgrade-redhat-7-3-to-centos-3-1/

  5. VMware vCenter Converter 是可以转的。有点麻烦的是需要转到ESXI SERVER上。。有没有手动提出虚拟机的方式 ??

发表评论