美文网首页
libvirt 管理工具扩展虚拟机磁盘分区

libvirt 管理工具扩展虚拟机磁盘分区

作者: My熊猫眼 | 来源:发表于2022-11-06 11:10 被阅读0次

使用libvirt 扩展虚拟机磁盘的方法:
libvirt 工具支持KVM/Qemu,xen, lxc,openvz, esx, hyperv 等虚拟化,是一个使用及其广泛的虚拟化管理工具.

vrish , libvirt 的客户端管理工具,常用到的命令有:
virsh list --all 列出所有的虚拟机,注意当前的user, 可能root 并不能列出已经存在的虚拟机,因为权限的问题;
virsh shutdown VM_NAME 通过call ACPI接口关闭虚拟机,如果VM没有开启ACPI 接口,那么不会成功;
virsh destroy VM_NAME 强行通过掉电的方式进行关机,不推荐,除非系统出现问题;
virsh start VM_NAME 开启虚拟机
virsh suspend VM_NAME 休眠虚拟机
virsh resume VM_NAME 恢复虚拟机

virsh dominfo VM_NAME 列出虚拟机的基本信息
virsh dumpxml VM_NAME 列出虚拟机的配置文件,以xml格式的形式,在该配置文件中,可以找到cpu, mem, disk的相关配置,所以比较有用;
virsh edit VM_NAME 编辑虚拟机的配置文件,一般是刚创建的时候使用;
virsh setmem VM_NAME 512000 #给不活动虚拟机设置内存大小为512000
virsh setvcpus VM_NAME 4 #给不活动虚拟机设置cpu个数为4
值得注意的是,virsh 命令本身支持交互模式,这一点非常好用;

磁盘扩容的步骤(linux 环境):

A. 备份原来的磁盘文件, 参考命令如下:

$ sudo cp /var/lib/libvirt/images/vm-gitlab6/ubuntu-kvm/vm-gitlab6-img1.qcow2 /var/lib/libvirt/images/vm-gitlab6/ubuntu-kvm/vm-gitlab6-img1-back.qcow2 

B. 查看磁盘的使用情况, 参考命令如下:

$ sudo virt-df -h vm-gitlab6-img1.qcow2 
W: kvm binary is deprecated, please use qemu-system-x86_64 instead 
Filesystem                                Size       Used  Available  Use% 
vm-gitlab6-img1.qcow2:/dev/sda1            18G       1.1G        16G    6% 

C. 创建新的虚拟磁盘,指定 磁盘大小,这个磁盘将用来替换原来的磁盘(这个过程并不会检查系统中的空间是否足够分配指定的大小,所以确保系统有足够空间是我们需要关注的,这个过程基本不会失败,速度非常快,以下指定创建一个40GB的新磁盘):

$ sudo qemu-img create -f qcow2 vm-gitlab6-img1-big.qcow2 40G 

D. 通过virt-resize 命令对需要扩容的分区进行扩容,其过程基本是这样的:
从原来的磁盘获取分区信息,然后把用户指定的分区进行逻辑上的扩容,其余分区保持不变;最后把这个新的分区表写入到新的磁盘;从而在新磁盘上实现对分区的扩容操作;以下是扩展原来磁盘的/dev/sda1分区,并保留其他分区不变的操作过程,以及相应的提示;

$ sudo virt-resize --expand /dev/sda1 vm-gitlab6-img1.qcow2 vm-gitlab6-img1-big.qcow2 
Examining vm-gitlab6-img1.qcow2 ... 
W: kvm binary is deprecated, please use qemu-system-x86_64 instead 
********** 
Summary of changes: 
/dev/sda1: This partition will be resized from 18.6G to 32.5G.  The 
    filesystem ext4 on /dev/sda1 will be expanded using the 'resize2fs' 
    method. 

/dev/sda2: This partition will be left alone. 

********** 
Setting up initial partition table on vm-gitlab6-img1-1.qcow2 ... 
Copying /dev/sda1 ... 
 100% ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 00:00 
Copying /dev/sda2 ... 
 100% ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 00:00 
W: kvm binary is deprecated, please use qemu-system-x86_64 instead 
Expanding /dev/sda1 using the 'resize2fs' method ... 

Resize operation completed with no errors.  Before deleting the old 
disk, carefully check that the resized disk boots and works correctly. 

E.
以上完成了新磁盘的分区分配,然后用 virsh-df 命令查看新磁盘分区情况:

$ sudo virt-df -h vm-gitlab6-img1-big.qcow2 

W: kvm binary is deprecated, please use qemu-system-x86_64 instead 
Filesystem                                Size       Used  Available  Use% 
vm-gitlab6-img1-big.qcow2:/dev/sda1          32G       1.1G        29G    4% 

F.
最后是重命名这个新的磁盘和老的磁盘名称,这样就无需从系统层面做变更, 然后进行开机验证; 如果一切都OK, 那么就可以直接删除原来的老磁盘;

$ sudo rm vm-gitlab6-img1.qcow2 $ sudo mv vm-gitlab6-img1-big.qcow2 vm-gitlab6-img1.qcow2 $ sudo chmod 755 vm-gitlab6-img1.qcow2 

相关文章

  • libvirt 管理工具扩展虚拟机磁盘分区

    使用libvirt 扩展虚拟机磁盘的方法:libvirt 工具支持KVM/Qemu,xen, lxc,openvz...

  • [Linux] 开发环境软件列表

    smartmontools=== 磁盘信息 qemu libvirt=== qemu虚拟机 和 libvirt 管...

  • Libvirt了解

    为什么需要Libvirt? 1.Hypervisor比如qemu-kvm 的命令行虚拟机管理工具参数众多,难于使用...

  • 银河麒麟V10创建kvm虚拟机

    一、安装libvirt libvirt提供一整套的API,用于管理KVM虚拟机,其他图形化界面(virt-mana...

  • Libvirt 学习笔记

    简单说就是 KVM 的管理工具。 其实,Libvirt 除了能管理 KVM 这种 Hypervisor,还能管理 ...

  • 磁盘分区

    磁盘分区:linux磁盘分区主要分为三种:主磁盘分区、扩展磁盘分区、逻辑分区主分区:至少一个、最多4个,且主分区+...

  • fdisk

    一、磁盘分区原理与规则 磁盘分区类型:主分区,扩展分区,逻辑分区 分区规则: 1、主分区+扩展分区的数量不能超过4...

  • KVM 维护常用命令

    KVM 维护常用命令 kvm虚拟机的配置文件位置:/etc/libvirt/qemu 修改虚拟机的相关配置sudo...

  • Libvirt虚拟机实战

    安装Centos 7系统示例 挂载iso文件 增加磁盘空间 关闭虚拟机 执行如下命令增加空间 启动虚拟机 在虚拟机...

  • 磁盘管理(一)

    摘要:4.1 df命令 4.2 du命令 4.3/4.4 磁盘分区 扩展学习 parted分区...

网友评论

      本文标题:libvirt 管理工具扩展虚拟机磁盘分区

      本文链接:https://www.haomeiwen.com/subject/krxzartx.html