爛泥: KVM虛擬機Linux系統增加硬盤


本文由秀依林楓提供友情贊助,首發於爛泥行天下

Linux虛擬機在使用過程中,硬盤空間不夠使用。由於前期沒有做LVM,所以只能手動添加新的硬盤。

給虛擬機添加硬盤有兩種方法:

1、通過virsh attach-disk命令添加一塊硬盤到系統中,即時生效,但系統重啟后新硬盤會消失。

2、通過修改虛擬機配置文件進行添加,永久生效。

現在我來一一介紹方法一和方法二。

方法一、通過virsh attach-disk命令添加硬盤

首先看看在未添加新硬盤系統的分區情況。

fdisk –l

df –h

clip_image001

從上圖我們可以看到目前系統中只有一塊硬盤vda,而且被分成3個分區,其中vda1為系統啟動分區。

下面開始添加硬盤:

先使用 qemu-img添加一塊新的硬盤

qemu-img create -f qcow2 /vhost/testdisk.img 20G

clip_image002

現在開始使用virsh attach-disk命令把新硬盤添加到虛擬機上。

virsh attach-disk ilanni01 /vhost/testdisk.img vdb

clip_image003

該命令的意思是把/vhost/testdisk.img硬盤添加到虛擬機ilanni01中,並且該硬盤在虛擬機系統中顯示的硬盤名稱為vdb。

現在在系統中查看是否已經掛載該硬盤,使用fdisk命令,如下圖:

clip_image004

以上操作是在虛擬機運行是,進行操作的。

現在我們把虛擬機關閉然后,再添加看看。

virsh destroy ilanni01

virsh list --all

clip_image005

再次使用virsh attach-disk添加新的硬盤vdc,如下命令:

virsh attach-disk ilanni01 /vhost/test1.img vdc

clip_image006

通過上圖我們可以發現,通過virsh attach-disk添加硬盤時,只能是虛擬機運行時才能添加,而且是即時生效的。

現在我們重新啟動虛擬機看看,如下圖:

fdisk –l

clip_image007

通過上圖,我們可以看到通過virsh attach-disk命令添加的硬盤在重啟系統后,添加的新硬盤失效。

那么現在我們來看第二種方法通過修改配置文件來添加新硬盤。

要通過修改配置文件來添加硬盤,我們首先要關閉虛擬機,否則無法正常添加。

關閉虛擬機,然后使用virsh edit命令修改虛擬機的主配置文件。

虛擬機的所有配置文件都存放在/etc/libvirt/qemu,如下圖:

clip_image008

編輯虛擬機配置文件,如下圖:

clip_image009

配置文件中,我們找到有關硬盤的代碼:

<disk type='file' device='disk'>

<driver name='qemu' type='qcow2' cache='none'/>

<source file='/vhost/ilanni01.img'/>

<target dev='vda' bus='virtio'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>

</disk>

現在我們在</disk>這之后,添加如下的代碼

<disk type='file' device='disk'>

<driver name='qemu' type='qcow2' cache='none'/>

<source file='/vhost/testdisk.img'/>

<target dev='vdb' bus='virtio'/>

</disk>

注意其中type表示硬盤的格式

file表示硬盤所在的路徑

dev表示硬盤在系統中顯示的硬盤名稱

bus表示硬盤的接線類型,如果是windows系統一般是ide。

clip_image010

clip_image011

添加完畢后,我們來啟動虛擬機看看實際的效果。

clip_image012

clip_image013

可以看到硬盤已經被添加進來了。

第一種方法和第二種方法的區別,以上兩種方法都能添加硬盤。

但是如果是使用第一種方法添加的硬盤,使用virsh edit ilanni01編輯時,是無法看到第一種方法添加的硬盤的,同時在系統重啟添加的硬盤會消失。也就是說使用第一種方法添加的硬盤是在ilanni01.xml這個配置文件中看不到的。

除此之外,如果是卸載硬盤,通過第一種方法添加的一定要在虛擬機運行時卸載。否則會報錯,但是還會把該磁盤卸載掉。而且在此之前對硬盤的操作、分區,等都還存在。

卸載硬盤我們可以使用virsh detach-disk命令,如下圖:

virsh detach-disk ilanni01 --target vdb

clip_image014

使用virsh detach-disk ilanni01 --target vdb 也可以卸載通過virsh edit ilanni01添加的硬盤。但是此時配置文件ilanni01.xml中還是有此信息的。使用 virsh attach-disk ilanni01 /vhost/testdisk.img vdb命令可以再增加,系統重啟后還是存在的。

綜上所述,在我們添加硬盤時,建議還是使用第二種方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM