1. 程式人生 > >kvm虛擬機擴展磁盤空間

kvm虛擬機擴展磁盤空間

borde ddr xen 支持 學習 boot alt inux lds

kvm虛擬機磁盤空間擴展與xen虛擬機磁盤空間擴展思路一致。原因在於xen/kvm默認的虛擬機磁盤格式為raw,所以方式可以通用。

raw磁盤格式擴展思路如下

(1) 新添加一塊raw格式的磁盤加入到KVM虛擬機,然後通過虛擬機系統lvm邏輯卷管理方式進行管理,擴展磁盤空間。

(2) 直接通過dd命令擴展現有虛擬機磁盤大小,擴展之後,原磁盤大小增大,進入虛擬機系統後,直接通過fdisk分區新添加的空間,然後將該分區並入lvm邏輯卷中,擴大磁盤空間。

xen虛擬化實戰系列(四)之xen虛擬機擴展磁盤空間一法 http://koumm.blog.51cto.com/703525/1285460

xen虛擬化實戰系列(五)之xen虛擬機擴展磁盤空間再一法http://koumm.blog.51cto.com/703525/1285489

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 5.7G 3.1G 2.4G 57% /
/dev/hda1 99M 24M 71M 25% /boot
tmpfs 249M 0 249M 0% /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虛擬化學習筆記(十)之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=‘0‘ bus=‘0‘ target=‘0‘ unit=‘0‘/>
</disk>

(2) 直接擴展qcow2磁盤

# qemu-img resize test01.qcow2 +2G

技術分享圖片

經過前後對比,磁盤大小已由7G擴展到9G,已擴展,qcow2磁盤格式必須采用此方式進行擴展,不要使用dd方式,dd方式適用於raw格式。

2. 進入系統開始擴展磁盤

(1) 查看分區大小

[root@test01 ~]# fdisk -l

Disk /dev/hda: 9663 MB, 9663676416 bytes
255 heads, 63 sectors/track, 1174 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 913 7229250 8e Linux LVM

Disk /dev/dm-0: 6308 MB, 6308233216 bytes
255 heads, 63 sectors/track, 766 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/dm-0 doesn‘t contain a valid partition table

Disk /dev/dm-1: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/dm-1 doesn‘t contain a valid partition table
[root@test01 ~]#

(2) 開始分區

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

過程如下,將擴展的空間分成一個區。

技術分享圖片

查看現在磁盤空間

技術分享圖片

(3) 開始創建物理卷,加入卷組,擴展邏輯卷。

技術分享圖片

到此kvm虛擬機擴展磁盤空間成功,當虛擬機磁盤格式換成qcow2後,確實有很多需要註意的地方,qcow2格式支持動態擴展與快照功能,雖然性比raw稍差,但確實很實用。

kvm虛擬機擴展磁盤空間