歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> KVM中Linux虛擬機的硬盤添加方法

KVM中Linux虛擬機的硬盤添加方法

日期:2017/2/28 14:52:08   编辑: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的方 式,所以他花的時間比較長,如果是一個大鏡像不建議使用此方法

Copyright © Linux教程網 All Rights Reserved