kvm虚拟化学习笔记(十一)之kvm虚拟机扩展磁盘空间

简介:

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)  磁盘大小与格式信息

查看虚拟机磁盘格式

1
[root@node1 kvm] # virsh edit CentOS6.5-01

2d55ed3ce011249f9b2cc98bcb38c084.png-wh_

查看磁盘格式信息

df39334dceb9a5de801c78ae70c4532a.png-wh_

开启虚拟机CentOS6.5-01

fac02a7c2bbdb1ca2aa31949959ea925.png-wh_

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

655ab3bb3078d2ff0ce12d38b9264272.png-wh_

(2) 添加一块qcow2磁盘

# qemu-img create -f qcow2 CentOS6.5-01_add.qcow2 2G 

a4e9d232bea1db41e0847a96f8d2458b.png-wh_

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

28a5338866b726222b48c7df7dc317b1.png-wh_

在配置文件中加入如下内容:

1
[root@node1 kvm] # virsh edit CentOS6.5-01
1
2
3
4
5
6
     <disk  type = 'file'  device= 'disk' >
       <driver name= 'qemu'  type = 'qcow2'  cache= 'none' />
       < source  file = '/data/kvm/CentOS6.5-01_add.qcow2' />
       <target dev= 'vdb'  bus= 'virtio' />
       #保存自动生成<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
     < /disk >

667cd164ab7a8bdcc89fe5e9c12b74c3.png-wh_

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

# virsh start CentOS6.5-01

# virsh console CentOS6.5-01

9e59dffe3322edb01e0b955c55027b0b.png-wh_

2.  配置LVM扩展磁盘

(1) 分区

ddf661ae4cdab5adc463f2be64183cba.png-wh_

(2) 扩展lvm逻辑卷。

1
2
3
4
5
6
# pvcreate /dev/vdb1
# vgextend vg /dev/vdb1
# vgs
# lvextend -l +100%FREE /dev/vg/vg-root
# resize2fs /dev/vg/vg-root
# df -h

方式二:直接扩展qcow2磁盘

接上文恢复测试环境。

(1)  关闭虚拟机。

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

(3)  通过kvm虚拟化学习笔记(十)之kvm虚拟机快照备份中创建的快照恢复虚拟机。

1. 直接扩展qcow2磁盘

(1)  查看磁盘

1
[root@node1 kvm] # virsh edit CentOS6.5-01
1
2
3
4
5
6
7
8
   <devices>
     <emulator> /usr/libexec/qemu-kvm < /emulator >
     <disk  type = 'file'  device= 'disk' >
       <driver name= 'qemu'  type = 'qcow2'  cache= 'none' />
       < source  file = '/data/kvm/CentOS6.5-01.qcow2' />
       <target dev= 'vda'  bus= 'virtio' />
       <address  type = 'pci'  domain= '0x0000'  bus= '0x00'  slot= '0x05'  function = '0x0' />
     < /disk >

(2)  直接扩展qcow2磁盘

# qemu-img resize CentOS6.5-01.qcow2 +2G

d77e0d0d200a6c87883664b8d8f48100.png-wh_

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

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

(1) 查看分区大小

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[root@CentOS6 ~] # fdisk -l
 
Disk  /dev/vda : 9663 MB, 9663676416 bytes
16 heads, 63 sectors /track , 18724 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical /physical ): 512 bytes / 512 bytes
I /O  size (minimum /optimal ): 512 bytes / 512 bytes
Disk identifier: 0x0004628f
 
    Device Boot      Start         End      Blocks   Id  System
/dev/vda1    *           3         409      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/vda2              409        1449      524288   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/vda3             1449       14564     6609920   83  Linux
Partition 3 does not end on cylinder boundary.
 
Disk  /dev/vdb : 2147 MB, 2147483648 bytes
16 heads, 63 sectors /track , 4161 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical /physical ): 512 bytes / 512 bytes
I /O  size (minimum /optimal ): 512 bytes / 512 bytes
Disk identifier: 0xe4d732ad
 
    Device Boot      Start         End      Blocks   Id  System
/dev/vdb1                1        4161     2097112+  8e  Linux LVM
[root@CentOS6 ~] #

(2) 开始分区

1
2
[root@CentOS6 ~] # fdisk /dev/vda
过程如下,将扩展的空间分成一个区。

700e7b86350f6a0d98e9a8de227ee620.png-wh_

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

1
2
3
4
5
6
# pvcreate /dev/vda4
# vgextend vg /dev/vda4
# vgs
# lvextend -l +100%FREE /dev/vg/vg-root
# resize2fs /dev/vg/vg-root
# df -h

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



本文转自 dengaosky 51CTO博客,原文链接:http://blog.51cto.com/dengaosky/1984137,如需转载请自行联系原作者

相关文章
|
15天前
|
KVM 虚拟化
虚拟化技术概述及KVM环境安装
关于虚拟化技术概述及KVM环境安装的教程,涵盖了虚拟化的定义、分类、管理工具,以及KVM的系统需求、安装步骤和使用指南。
41 11
虚拟化技术概述及KVM环境安装
|
6天前
|
存储 SQL 数据挖掘
虚拟化数据恢复—VMware虚拟机vmdk文件被误删除的数据恢复案例
虚拟化数据恢复环境: 某品牌服务器(部署VMware EXSI虚拟机)+同品牌存储(存放虚拟机文件)。 虚拟化故障: 意外断电导致服务器上某台虚拟机无法正常启动。查看虚拟机配置文件发现这台故障虚拟机除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。管理员联系VMware工程师寻求帮助。VMware工程师尝试新建一个虚拟机来解决故障,但发现ESXi存储空间不足。于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除,然后重建一个虚拟机并且分配固定大小的虚拟磁盘。
|
10天前
|
存储 SQL 数据挖掘
虚拟化数据恢复—EXSI虚拟机误还原快照的数据恢复案例
虚拟化技术原理是将硬件虚拟化供不同的虚拟机使用,一台物理机上可以有多台虚拟机。人为误操作或者物理机故障会导致上层虚拟机不可用,甚至虚拟机里的重要数据丢失。下面给大家分享一个vmware虚拟化误操作还原快照的数据恢复案例。 虚拟化数据恢复环境: 一台由物理机迁移到EXSI上面的虚拟机,迁移完成后做了一个快照。该虚拟机上运行SQL Server数据库,记录了几年的数据。 EXSI虚拟化平台上一共有数十台虚拟机,EXSI连接了一台EVA存储,所有的虚拟机(包括故障虚拟机)都放在EVA存储上。
|
16天前
|
存储 虚拟化
使用DiskGenius工具来实现物理机迁移虚拟机,实现虚拟化
【9月更文挑战第1天】使用 DiskGenius 工具可将物理机迁移到虚拟机,实现系统与数据的虚拟化。此过程包括:安装 DiskGenius 和准备虚拟化平台;备份物理机数据;使用 DiskGenius 备份磁盘;在虚拟化软件中创建新虚拟机并导入磁盘备份;配置及调整虚拟机设置;测试性能并优化资源分配。这有助于测试、开发及系统管理。
|
26天前
|
存储 Linux 调度
KVM 虚拟化的功能特性
【8月更文挑战第24天】虚拟化技术创建实体资源的虚拟版本,提升资源利用率。KVM(Kernel-based Virtual Machine)作为全虚拟化解决方案,借助Linux内核实现Hypervisor功能,通过模块化方式提供高效的虚拟化环境。
|
2月前
|
存储 安全 虚拟化
虚拟化数据恢复—虚拟机数据丢失导致Hyper-V服务瘫痪数据恢复
虚拟化数据恢复环境: 一台服务器上部署的Hyper-V虚拟化平台,虚拟机的硬盘文件和配置文件放在一台某品牌MD3200存储中。该存储中有一组由4块硬盘组建的raid5磁盘阵列,还有一块大容量硬盘存放虚拟机数据文件的备份。 虚拟化故障: MD3200存储中虚拟机数据文件丢失,导致Hyper-V服务瘫痪,虚拟机无法使用。
虚拟化数据恢复—虚拟机数据丢失导致Hyper-V服务瘫痪数据恢复
|
29天前
|
Linux KVM 虚拟化
在Linux中,KVM和Docker在Linux虚拟化中的区别是什么?
在Linux中,KVM和Docker在Linux虚拟化中的区别是什么?
|
3月前
|
Unix Linux 虚拟化
虚拟机VMware知识积累
虚拟机VMware知识积累
|
27天前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
45 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
30天前
|
编解码 Linux 虚拟化
超详细VMware虚拟机安装Win10操作系统过程图解
这篇文章提供了一个详细的VMware虚拟机安装Windows 10操作系统的图解教程,包括了从创建虚拟机到安装操作系统的全过程,以及安装后的一些基本设置,如屏幕分辨率调整等。作者还提到了后续会分享关于磁盘分区的创建过程。
超详细VMware虚拟机安装Win10操作系统过程图解