kvm(七)客户机vm主机磁盘扩容

vm主机:vm4

os:centos 6.5

qcow2格式存储的扩容方式:

一、图形化工具 (virt-manager)

二、lvm方式

三、resize命令行拉升空间

四、virt-resize命令行


先安装个工具

1
yum -y  install  libguestfs-tools


方式一、图形化工具

原始信息

wKiom1WwXzaiaJbJAACZ2k-9wa8376.jpg

使用virt-manager很容易,直接在虚拟的属性中点击“添加硬件”----“storage”选择多大的空间,驱动类型,缓存模式。然后点击完成。注意,有些硬盘是支持热插拔的,有些不支持。除了IDE格式的硬盘外,其他的都支持热插拔,这就意味着,如果添加的是IDE的硬盘的话,需要对虚拟机 进行重启,使他识别新添加的硬盘。

wKiom1WwXdPjKFzoAAQv5wVLEOE186.jpg

重启后查看结果:

wKiom1WwYLKTTd6UAAGrbhC3pvs106.jpg

wKioL1WwYq7hKdSFAAG9QLC1ECk068.jpg

方法二:lvm方式扩展原分区

思路:qcow2格式磁盘,直接通过qemu-img生成一块qcow2磁盘,然后通过虚拟机系统lvm逻辑卷管理方式进行管理,扩展磁盘空间。

1、查看原分区信息

wKiom1WwlwCieUqGAAFUz02Beyg681.jpg

2、生成一块qcow2磁盘

1
[root@Aries kvm] # qemu-img create -f qcow2 vm4_add.qcow2 5G

wKioL1WwmY2CM1KAAADqVc0BCUU206.jpg

3、新增配置文件

1
[root@Aries kvm] # virsh edit vm4

红色区域为新增

wKioL1Wwm4HCLuaXAAGJFTucpGo823.jpg

4、启动vm,进行分区

1
[root@Aries kvm] # virsh start vm4

wKiom1WwmdzwhC2gAAJdStZG-QY085.jpg

wKiom1Wwmk3SlNwdAAK0szYvnwo474.jpg

5、创建pv,扩展lvm

wKiom1Wwm7PhhS9aAAOwmDN_mb4228.jpg

wKiom1WwnfGgFfMRAACfHrSLwvg900.jpg


方法三:resize命令行拉升空间

1、此方式只支持raw格式,所以需要先把qcow2转换为raw

1
[root@Aries kvm] # qemu-img resize vm4.raw +2G

wKiom1WwrFbx8FODAAMwxuBKAnE154.jpg

2、登录vm,格式化分区,

1
[root@Aries kvm] # virsh start vm4

  Ps:可以采用单独格式化分区,进行挂载方式,也可以是lvm方式,后续操作略

方式四:virt-resize命令行

思路:一般采用挂载的方法在主机侧添加了一块盘,有没有一种方法可以直接对硬盘进行拉伸。qemu-img中提供了一个resize的命令,但是该命令只是单纯的 简单了拉升或者缩小了一个raw的img镜像大小,对于其中的分区却不能进行修改。我需要对其中的的分区进行拓展。采用自带的插件virt-resize进行拓展。该命令首先是获取原来的分区信息,还 有其他文件信息。然后对新的镜像进行重新分区、格式化。最后拷贝原镜像中的文件到新文件系统中,再用新拓展的镜像替换原有镜像。因为实际采用copy的方 式,所以他花的时间比较长,如果是一个大镜像不建议使用此方法

具体解决方案。

前提安装libguestfs-tools工具包。关闭虚拟机

1、新建镜像

1
qemu-img create -f raw vm4_add.img 10G

wKioL1W16_-QH35GAAEyK_Ekh6k552.jpg

2、使用virt-resize进行拉升分区 (此命令可以针对分区进行扩展;virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 olddisk newdisk)

1
virt-resize -- expand    /dev/sda1  /kvm/vm4 .img  /kvm/vm4_add .img

wKiom1W16jyiupVwAAKGymDJwHY250.jpg

Ps:此时间很长,请耐心等待

3、使用新扩展的镜像代替原镜像并启动

1
2
3
4
[root@Aries kvm] # mv vm4_add.img vm4.img
mv :是否覆盖 "vm4.img" ? y
[root@Aries kvm] # virsh start vm4
域 vm4 已开始

virt-resize的优势:能对虚拟机中的特定的分区进行拓展。并且能够拓展windows镜像。不需要登录到虚拟机里面进行任何操作。
 
缺点:拓展的时候需要关机。对于大的镜像,拓展的时间比较长。

wKiom1W17CCDwAsUAAC8pQV-jRs874.jpg



本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1678796

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KVM(Kernel-based Virtual Machine)是一种开源的全虚拟化解决方案,它允许将Linux内核转变为一个虚拟化的hypervisor。在KVM中,宿主机是运行KVM虚拟机的主机系统,而客户机则是在宿主机上运行的虚拟机。 要获取宿主机信息,客户机可以采用以下几种方法: 1. 使用QEMU Guest Agent:QEMU Guest Agent是QEMU项目提供的一个用于与宿主机交互的工具。它可以通过virtio-serial接口与虚拟机进行通信。客户机通过安装和启动QEMU Guest Agent,并发送特定的查询命令,就可以获取宿主机的各种信息,如宿主机的CPU信息、内存使用情况、网络配置等。 2. 使用libvirt:libvirt是一个开源的虚拟化管理库,它提供了一套API用于管理和监控虚拟化技术(如KVM)。通过libvirt客户机可以连接到宿主机,并使用相关API获取宿主机的信息,如宿主机的虚拟化技术、硬件配置、网络设置等。 3. 使用网络通信:客户机可以通过网络通信的方式获取宿主机信息。例如,客户机可以使用SNMP(Simple Network Management Protocol)协议向宿主机发送查询请求,并获取宿主机的网络状态、系统负载等信息。 需要注意的是,获取宿主机信息可能需要一些特定的权限和配置。在实际操作中,客户机可能需要在宿主机上安装相关的软件或驱动,或者配置一些权限设置才能成功获取宿主机信息。 总之,通过QEMU Guest Agent、libvirt或网络通信等方式,KVM客户机可以与宿主机进行交互,并获取宿主机的各种信息,以实现更加灵活和高效的虚拟化管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值