`
qzc
  • 浏览: 17723 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

KVM中给Linux虚拟机增加磁盘空间的方法

阅读更多

  最近虚拟机中运行的东西比较多,很多。而刚启动的时候虚拟机分配的磁盘比较少,随着日志还有平时的上传文件的积累,磁盘空间报警了。网上查了下资料,自己也做了下实验。总结下给虚拟机增加磁盘的硬盘空间的方法。
  对于sda/vda等格式的硬盘
  环境:centos 6.1
  虚拟机的属性:domainname   test
  Disk path       /var/lib/libvirt/images/test.img
  硬盘分区:
  [root@localhost ~]# df -hT
  Filesystem    Type    Size Used Avail Use% Mounted on
  /dev/vda1     ext4    6.8G 3.2G 3.3G 50% /
  tmpfs        tmpfs    499M     0 499M   0% /dev/shm
  需要添加硬盘空间。
  方法1
  思路,既然是少一块硬盘,那么我们就直接给虚拟机加一块硬盘就好了,然后直接挂载到根分区的一个目录下面。这样我根分区的硬盘空间就扩展了。
  解决方法1
  A,生成一块新的硬盘
  使用virt-manager很容易,直接在虚拟的属性中点击“添加硬件”----“storage”选择多大的空间,驱动类型,缓存模式。然后点击完成。注意,有些硬盘是支持热插拔的,有些不支持。除了IDE格式的硬盘外,其他的都支持热插拔,这就意味着,如果添加的是IDE的硬盘的话,需要对虚拟机进行重启,使他识别新添加的硬盘。
  如果采用virsh命令添加的话。采用命令
  #qemu-img create -f raw test_add.img 10G
  //说明,生成一块新的raw格式的空盘
  #virsh attach-disk test /var/lib/libvirtd/images/test_add.img vdb —cache none
  或者#virsh edit test 在xml中的disk后面添加如下几行。
  <disk type='file' device='disk'>
  <driver name='qemu' type='raw' cache='none'/>
  <source file='/var/lib/libvirt/images/test_add.img'/>
  <target dev='vdb' bus='virtio'/>
  </disk>
  B,在虚拟机中对硬盘进行格式化
  登录到虚拟机中,首先查看是否能新识别硬盘
  #fdisk -l         查看是否回显示新添加的硬盘/dev/vdb
  然后,对vdb进行格式化,
  #mkfs.ext4 /dev/vdb
  接下来,新建一个目录用来挂载新的硬盘
  #mkdir   /test
  #mount /dev/vdb /test
  最后,将该挂载添加到开机启动中
  #blkid /dev/vdb           //获取硬盘的UUID
  /dev/vdb: UUID="19fc1d1d-7891-4e22-99ef-ea3e08a61840" TYPE="ext4"
  #vim /etc/fstab             //添加开机加载,在最后一行加入
  UUID=19fc1d1d-7891-4e22-99ef-ea3e08a61840 /test ext4 defaults        1 2
  到此方法一,添加完毕
  方法2,直接拉升分区
  思 路,采用挂载的方法是而外添加了一块盘,有没有一种方法可以直接对硬盘进行拉伸。qemu-img中提供了一个resize的命令,但是该命令只是单纯的 简单了拉升或者缩小了一个raw的img镜像大小,对于其中的分区却不能进行修改。我需要对其中的的分区进行拓展。很碰巧红帽子提供这种插件可以时间。此方法是采用红帽子自带的插件virt-resize进行拓展。该命令首先是获取原来的分区信息,还 有其他文件信息。然后对新的镜像进行重新分区、格式化。最后拷贝原镜像中的文件到新文件系统中,再用新拓展的镜像替换原有镜像。因为实际采用copy的方 式,所以他花的时间比较长,如果是一个大镜像不建议使用此方法
  具体解决方案。
  前提安装libguestfs-tools工具包。关闭虚拟机
  #yum -y install libguestfs-tools
  A,新建一个大镜像
  #qemu-img create -f raw test_extend.img 15G
  注意,这里的img大小是你需要拓展的总大小
  B,使用virt-resize进行拉升分区
  #virt-resize —expand   /dev/vda1 /var/lib/libvirt/images/test.img /var/lib/libvirt/images/test_new.img
  注意,此时间很长,请耐心等待
  C.使用新扩展的镜像代替原镜像
  #mv /var/lib/libvirt/images/test_new.img /var/lib/libvirt/images/test.img
  D,启动虚拟机
  #virsh start test
  拓展完成,
  virt-resize的优势:能对虚拟机中的特定的分区进行拓展。并且能够拓展windows镜像。不需要登录到虚拟机里面进行任何操作。
  缺点:拓展的时候需要关机。对于大的镜像,拓展的时间比较长。
  对于LVM格式的虚拟机
  如果你的硬盘格式支持LVM。那么你的硬盘拓展将容易许多,LVM支持硬盘的在线扩容。相当方便。
  方法步骤:
  #lvcreate -L 40G -n lv_vm_test1 VolGroup
  #virsh attach-disk test /dev/mapper/VolGroup/lv_vm_test vdb
  注意,有可能碰到权限问题。请先修改/dev/mapper/VolGroup/lv_vm_test的权限,是虚拟机可以挂载。
  进入虚拟机的操作:
  #pvcreate /dev/vdb
  #vgextend VolGroup /dev/vdb
  #vgs
  #lvextend -l +100%FREE /dev/VolGroup/lv_root
  #resize2fs -p /dev/VolGroup/lv_root
  优势:拓展时间很快,支持动态扩展。
  缺点,不适合window的拓展。

分享到:
评论

相关推荐

    kvm虚拟机扩大磁盘空间

    扩大 KVM 虚拟机的磁盘空间是指在虚拟机中增加存储容量,以满足不断增长的数据存储需求。 在 KVM 中,磁盘空间可以通过扩展 qcow2 文件来实现。qcow2 是一种常用的虚拟机磁盘格式,支持动态扩展和快照功能。下面将...

    KVM virsh命令管理虚拟机

    在IT领域,虚拟化技术是不可或缺的一部分,而KVM(Kernel-based Virtual Machine)是Linux内核中的一个模块,它允许Linux系统作为一款强大的虚拟化平台。在这个环境中,virsh是用于管理KVM虚拟机的命令行工具,提供...

    linux虚拟机依赖包.rar

    "linux虚拟机依赖包.rar"这个压缩包很可能包含了运行Linux虚拟机所需的各类依赖软件和配置文件。在Linux上运行虚拟机,通常会用到如KVM(Kernel-based Virtual Machine)、VirtualBox、Xen或VMware等虚拟化平台。...

    KVM服务器添加虚拟机

    本文详细介绍了如何在KVM服务器上安装并配置Kali Linux虚拟机的过程,包括创建磁盘映像、安装虚拟机、常见问题解决方法以及配置网络访问等内容。通过遵循上述步骤,用户可以成功地在其KVM服务器上运行并管理Kali ...

    kvm虚拟机安装介绍,KVM

    KVM项目采用了QEMU中针对x86架构的部分,并进行了一些改造,形成了可以控制KVM内核模块的用户空间工具——QEMU-KVM。用户通过QEMU-KVM工具来创建和管理虚拟机。 2. **Libvirt**:Libvirt是一个软件集合,包括了一套...

    KVM 虚拟机安装

    如果执行指令后有类似返回,则证明 KVM 模块加载正常,否则检查 BIOS 中是否开启了 CPU VT 支持。 4. 安装 virtsh virt-install 管理工具 使用以下命令安装 virtsh virt-install 管理工具: `yum install libvirt...

    Linux虚拟机

    【Linux虚拟机】在IT行业中,虚拟化技术已经成为不可或缺的一部分,尤其在开发、测试和部署环境中。Linux虚拟机,特别是CentOS,是一个广泛使用的开源操作系统,因其稳定性、安全性及与企业的良好兼容性而受到青睐。...

    kvm qemu 虚拟机

    总的来说,KVM和QEMU虚拟机提供了一种强大且灵活的方法,使Linux用户能够在单个系统上运行多个虚拟环境,涵盖了从桌面操作系统到嵌入式系统的广泛需求。通过熟练掌握这两项技术,IT专业人员可以在测试、开发、教学和...

    linux虚拟机环境的配置

    Linux虚拟机环境的配置是指在物理机上安装和配置虚拟机 SOFTWARE,以便在虚拟机中运行Linux操作系统。虚拟机可以模拟完整的硬件系统功能,提供了一个完全隔离的环境,可以像使用实体机一样对虚拟机进行操作。 ...

    使用libvirt管理kvm虚拟机.txt

    此命令会将指定的XML配置文件中的信息读取并应用到Libvirt中,正式定义一个新的KVM虚拟机。 2. **修改KVM虚拟机配置文件** 有两种方法可以修改KVM虚拟机的配置文件: - 方法1:直接编辑配置文件 ```bash ...

    Linux 虚拟机的安装

    在IT行业中,虚拟化技术是不可或缺的一部分,尤其在服务器管理和开发测试环境中,Linux虚拟机的安装扮演着重要的角色。本文将详细阐述如何安装Linux虚拟机,重点围绕“源码”和“工具”这两个标签展开。 首先,让...

    KVM虚拟机的应用

    KVM(Kernel-based Virtual Machine)是一种开源的全虚拟化解决方案,它直接集成在Linux内核中,能够将Linux系统转换为一个虚拟机监控器,允许在宿主机上运行多个独立的客户操作系统。KVM的优势在于其性能高、兼容性...

    CentOS8安装KVM虚拟机详解.docx

    CentOS 8 安装 KVM 虚拟机详解 ...CentOS 8 安装 KVM 虚拟机需要检测 CPU 是否支持 VT 技术,安装 KVM 环境,创建虚拟机磁盘,并安装虚拟机。整个过程需要注意权限、语言设置和虚拟机配置等问题。

    KVM虚拟机的性能优化

    在IT行业中,虚拟化技术是不可或缺的一部分,而KVM(Kernel-based Virtual Machine)作为Linux内核中的一个模块,为用户提供了一种高效、安全的虚拟化解决方案。本讲座聚焦于KVM虚拟机的性能优化,旨在帮助技术人员...

    创建第一台kvm虚拟机、系统配置、模板准备、克隆虚拟机操作及配置.docx

    KVM(Kernel-based Virtual Machine)是基于 Linux 内核的开源虚拟机解决方案。它可以在 Linux 主机上运行多个虚拟机,每个虚拟机可以运行不同的操作系统。下面是创建第一台 KVM 虚拟机、系统配置、模板准备、克隆...

    openstack安装windows虚拟机的方法(Hyperisor为kvm)

    2. **硬盘驱动**:优化虚拟机磁盘I/O操作,提高读写速度。 3. **内存膨胀驱动**:支持虚拟机内存资源的超分配,允许虚拟机使用的内存总量超过物理主机的实际可用内存。更多关于内存膨胀的信息可参考[IBM的文章]...

    Redhat Linux虚拟机安装视频

    虚拟硬盘应选择动态分配,这样可以节省磁盘空间,因为系统会根据需要逐步占用。 接下来,进入安装过程。在虚拟机软件中,选择"使用ISO映像"作为启动介质,并指定你之前下载的Redhat Linux ISO文件路径。然后,启动...

    虚拟机安装Linux

    对于初学者,推荐选择自动分区,这样虚拟机软件会自动为你划分合适的磁盘空间。同时,创建一个root管理员账号和普通用户账号,确保系统的安全性和易用性。 一旦安装完成,你可以通过虚拟机软件的网络设置,使虚拟机...

Global site tag (gtag.js) - Google Analytics