kvm虚拟机磁盘空间扩展与xen虚拟机磁盘空间扩展思路一致。原因在于xen/kvm默认的虚拟机磁盘格式为raw,所以方式可以通用。

raw磁盘格式扩展思路如下

(1) 新添加一块raw格式的磁盘加入到KVM虚拟机,然后通过虚拟机系统lvm逻辑卷管理方式进行管理,扩展磁盘空间。

(2) 直接通过dd命令扩展现有虚拟机磁盘大小,扩展之后,原磁盘大小增大,进入虚拟机系统后,直接通过fdisk分区新添加的空间,然后将该分区并入lvm逻辑卷中,扩大磁盘空间。

qcow2磁盘格式扩展思路如下

(1) 可以采用raw磁盘格式磁盘的扩展方式一致的方式进行。

(2) qcow2格式磁盘,直接通过qemu-img 直接扩展qcow2磁盘, 新添加一块raw格式的磁盘加入到KVM虚拟机,然后通过虚拟机系统lvm逻辑卷管理方式进行管理,扩展磁盘空间。

下面将开始通过qcow2格式添加磁盘。

方式一:添加一块qcow2磁盘加入虚拟机

1.  查看现在虚拟机磁盘信息

(1)  磁盘大小与格式信息

查看虚拟机磁盘格式。

查看磁盘格式信息

进入虚拟机,查看磁盘容量。

[root@test01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg-root .7G .1G .4G % /
/dev/hda1 99M 24M 71M % /boot
tmpfs 249M 249M % /dev/shm

(2) 添加一块qcow2磁盘

# qemu-img create -f qcow2 test01_add.qcow2 2G 

(3) 添加一块qcow2磁盘信息加入配置文件

[root@node1 data]# virsh shutdown oeltest01
域 oeltest01 被关闭 [root@node1 data]#
[root@node1 data]# virsh list --all
Id 名称 状态
----------------------------------------------------
- oeltest01 关闭
- oeltest02 关闭
- oeltest03 关闭
- wintest01 关闭 在配置文件中加入如下内容: # virsh edit oeltest01 <disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/data/test01_add.qcow2'/>
<target dev='hdb' bus='ide'/>
</disk>

(4) 启动虚拟机并配置磁盘

# virsh start oeltest01

# virsh console oeltest01

2.  配置LVM扩展磁盘

(1) 分区

(2) 扩展lvm逻辑卷。

方式二:直接扩展qcow2磁盘

接上文恢复测试环境。

(1)  关闭虚拟机。

(2)  删除配置文件中第二块磁盘信息

(3)  通过kvm虚拟机快照备份中创建的快照恢复虚拟机。

1. 直接扩展qcow2磁盘

(1)  查看磁盘

# virsh edit oeltest01

<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/data/test01.qcow2'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='' bus='' target='' unit=''/>
</disk>

(2)  直接扩展qcow2磁盘

# qemu-img resize test01.qcow2 +2G

经过前后对比,磁盘大小已由7G扩展到9G,已扩展,qcow2磁盘格式必须采用此方式进行扩展,不要使用dd方式,dd方式适用于raw格式。

2. 进入系统开始扩展磁盘

(1) 查看分区大小

[root@test01 ~]# fdisk -l 

Disk /dev/hda:  MB,  bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes Device Boot Start End Blocks Id System
/dev/hda1 * Linux
/dev/hda2 8e Linux LVM Disk /dev/dm-: MB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes Disk /dev/dm- doesn't contain a valid partition table Disk /dev/dm-: MB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes Disk /dev/dm- doesn't contain a valid partition table
[root@test01 ~]#

(2) 开始分区

[root@test01 ~]# fdisk /dev/hda

过程如下,将扩展的空间分成一个区。

查看现在磁盘空间

(3) 开始创建物理卷,加入卷组,扩展逻辑卷。

到此kvm虚拟机扩展磁盘空间成功,当虚拟机磁盘格式换成qcow2后,确实有很多需要注意的地方,qcow2格式支持动态扩展与快照功能,虽然性比raw稍差,但确实很实用。

kvm虚拟机扩展磁盘空间的更多相关文章

  1. centos虚拟机扩展磁盘空间(经历无数坑,血一样总结,史上最全)

    第一步 在vmware中将虚拟机关机后,鼠标右键设置,直接点击扩展加自己想要扩展的数量就可以了,这个比较简单不多说. 2 第二步 设置后进系统查看空间大小变化,实际并没有什么变化,我用的命令是df - ...

  2. VmWare为Fedora虚拟机扩展磁盘

    1.根据步骤为虚拟机扩展磁盘空间. 查看步骤 2.进入Fedora系统 以下步骤为修改扇区,将扩展磁盘划分为分区 运行fdisk -l,命令执行结果的第一行显示了磁盘名称,同时可以看到当前磁盘分区情况 ...

  3. Centos7在虚拟机中扩展磁盘空间

    说明 情况:已经在VirtualBox虚拟机创建了一个磁盘并已经装好了系统,发现磁盘空间太小,需要再添加一个磁盘的大小.或者说Centos7系统需要扩展磁盘空间. 步骤 1.VirtualBox新建磁 ...

  4. VMwave下Ubuntu扩展磁盘空间

    VMwave下Ubuntu扩展磁盘空间 Ubuntu原预装磁盘空间20G,随着系统安装软件越来越多,空间慢慢不够用. 打算安装DB2,许扩展磁盘空间. 环境: No LSB modules are a ...

  5. VirtualBox下Linux(centos)扩展磁盘空间

    最近在Linux里做文件合并,做分词,磁盘空间不够,把扩展磁盘空间方法记录一下. 1.在VirtualBox安装路径下(例如C:\Program Files\Oracle\VirtualBox> ...

  6. virtualBox下Centos系统扩展磁盘空间

    (1)查看空间容量: 打开windows命令终端.然后打开virtualbox安装目录,找到VBoxManage.exe,拖动到终端里面.输入命令:list hdds,回车. 我安装的位置是 : C: ...

  7. Linux虚拟机扩展磁盘

    Linux虚拟机扩展磁盘 1.虚拟机关机,Vmware中扩展磁盘 2.虚拟机开机,查看磁盘大小 [root@hadoop6 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmp ...

  8. 增加VirtualBox虚拟机的磁盘空间大小(Host:Win7 VirtualBox5.0.16 VM:Win10)

    1 前言 网上关于增加VirtualBox虚拟机的磁盘空间大小的文章非常非常多,这里我之所以再写一篇,是因为在参照这些文章做的时候,由于VirtualBox的版本更新以及其他一些环境问题,碰到到一些问 ...

  9. 虚拟机vmware centos7 扩展磁盘空间

    0.思路 创建一个新的逻辑分区,将新的逻辑分区格式化ext3(或其他类型)的文件系统,mount到磁盘空间不够的文件系统,就跟原来的分区/文件系统一样的使用 1.准备 1.1 注意使用VMware自带 ...

随机推荐

  1. MySQL数据库篇之初识数据库

    主要知识点: 一.数据库概述 二.mysql安装与基本管理 1️⃣ 数据库概述 1.什么是数据(Data)? 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音. ...

  2. Unity内存优化

    [Unity内存优化] 1.在Update方法或循环中,少用string类,因为string类的每次操作都会调用new生成新字符串对象.用StringBuilder代替string,StringBui ...

  3. nginx 多域名配置,采用多配置文件的方式

    nginx 中多域名配置,目前采用多配置文件的方式. 配置过程比较简单. 首先在 nginx 目录下创建子目录 vhosts . 在 vhosts 目录中创建对应域名的配置文件.如有域名 898hi. ...

  4. Linux下各种解压命令

    本文介绍了linux下的压缩程式tar.gzip.gunzip.bzip2.bunzip2.compress .uncompress. zip. unzip.rar.unrar等程式,以及如何使用它们 ...

  5. [Training Video - 3] [Groovy in Detail] What is a groovy class ?

    log.info "starting" // we use class to create objects of a class Planet p1 = new Planet() ...

  6. js 获取ur参数 只要问号后面的那段传进url

    //获取url中的参数 function getUrlParam (pName, win) { var sUrl; if (typeof (win) == 'string') { sUrl = win ...

  7. 谈谈Vue.js——vue-resource全攻略

    本篇文章主要介绍了谈谈Vue.js——vue-resource全攻略,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧   概述 上一篇我们介绍了如何将$.ajax和Vue. ...

  8. C++11新特性之auto

    auto的使用  c++11引入了auto类型说明符,auto让编译器通过初始值来推算变量的类型,所以auto定义的变量必须有初始值.  使用auto也能在一条语句中声明多个变量,因为一条声明语句只能 ...

  9. iframe是怎么跳转的

    在main.jsp中 <iframe frameborder="0" marginheight="0" marginwidth="0" ...

  10. js总结33 :javascript-DOM节点属性

    1 设置节点属性三个方法: 获取:getAttribute(名称) 设置:setAttribute(名称, 值) 删除:removeAttribute(名称) 举个例子: <!DOCTYPE h ...