proxmox虛擬機中添加外部硬盤


  使用了proxmox也有一段時間了,以前一直對proxmox虛擬機的硬盤導入概念比較模糊,今天趁有時間總結一下。

  按照我個人理解,虛擬機建立完成后,可以在web gui中直接手動添加硬盤,硬盤可以添加在diretory中,也可以添加在local-lvm中 ,proxmox安裝完成后,默認存在lvm的thin-pool,即local-lvm對應/dev/pve/data,默認存在local目錄,對應/var/lib/vz。實際操作時,在datacenter層級手動新建diretory,名稱為test,對應目錄/okok,允許存放disk image,如下圖所示:

 

1) 在web gui中操作為vmid為300的虛擬機添加新的磁盤(默認磁盤的大小為32G,磁盤格式為qcow2),如下:

以上實際的文件位置在/okok/images/300/vm-300-disk-0.qcow2

對以上文件進行文件信息的查詢,如下:

 

 

 

對應命令行qemu-img -f qcow2 /okok/imges/300/vm-300-disk-0.qcow2   使用qemu-img創建qcow2文件請參考我的博文

然后qm set 300 -virtio1 (或者-ide1、 -sata1 、-scsi1) test:300/vm-300-disk-0.qcow2 

 

2)web gui添加lvm thin類型的磁盤

 以上web gui對應命令行方式:lvcreate -V 32G -T pve/data -n vm-300-disk-1

lvs命令查看是否創建成功

mkfs.ext4 /dev/data/vm-300-disk-1 這一步不確定是否需要

qm set 300 -virtio1 local-lvm:vm-300-disk-1,size=32G(size參數是否需要待確定)

 

3)自己在本機上創建img等文件,作為虛擬機的硬盤

dd if=/dev/zero of=/root/test.img count=100 bs=1M  創建100M的test.img文件

qm importdisk 300 /root/test.img local-lvm --format raw(format參數可以省略)或者qm importdisk 300 /root/test.img local(這里的local目錄需要有存放disk image的權限)

qm importdisk命令的使用如下: vmid指虛擬機id,source指img文件的位置,storge指pve的本機可以存儲disk image的位置 --format指定要轉換成的目標格式

 

3)從外部導入ovf或者ova

3.1)比較典型的應用場景,通過ovf(通常一個ovf文件附帶幾個vmdk文件,vmdk文件通常代表vm的磁盤)導入routeros虛擬機 或者 通過ova文件方式虛擬機

實際上ova格式的文件可以理解為一個打包文件(該ova文件可以在linux下直接使用tar xvf test.ova直接解包),其中包括ovf和vmdk文件,ovf文件其中就包含虛擬機的內存,網卡等硬件配置。此時pve導入ovf文件時時不需要提前創建虛擬機的,直接在命令中通過ovf的mainfest信息導入虛擬機的硬件配置,如下:

qm importovf 300 /root/ros.ovf local-lvm --format qcow2 

以上添加ros.ovf文件后,需要在gui后者cli命令行中將磁盤attch為ide,然后還需要降入mode以及serial參數,如下:

,model=VMware%20Virtual%20IDE%20Hard%20Drive,serial=00000000000000000001  這樣做的目的是為了破解ros

 

 qm importovf命令格式:(看下面的option中存在--dryrun表示不創建vm,只是查看mainfest配置)

  3.2)如果只有vmdk文件沒有ovf文件,那么只能先創建虛擬機,然后通過qm importdisk 300 /root/test.vmdk local-lvm來將vmdk磁盤導入到虛擬機中。qm importdisk后,在/etc/pve/qemu-server/vmidx.conf配置文件下-unused0:local-lvm:vm-300-disk-4這樣的方式呈現,需要在web gui中attach下,或者干脆在命令行中直接指定qm set 300 -virtio3:local-lvm/vm-300-disk-4,size=100M 

 

總結一下:

proxmox可以添加2種外部硬盤:

1)把外部硬盤硬塞給proxmox,主要是把外來硬盤文件放置 相應虛擬機的硬盤默認位置,參考這里的文檔(https://foxi.buduanwang.vip/virtualization/372.html/)中的方法1,這種方法在實際啟動虛擬機的時候可能容易出現pve鏈接克隆報錯Linked clone feature is not supported for drive 'scsi0' 當出現這種錯誤時請參考https://foxi.buduanwang.vip/virtualization/pve/525.html/

2)先將外部硬盤 通過importdisk導入到虛擬中,參考文檔https://foxi.buduanwang.vip/virtualization/372.html/中的 方法2

 


免責聲明!

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



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