KVM虛擬機器磁碟加密

2021-10-03 05:01:56 字數 2495 閱讀 6465

最近在找虛擬機器磁碟加密的資料,發現網上資料還是比較少,在這裡彙總一下。

之前qcow2格式的磁碟預設加密方式似乎已經不再支援,官方推薦luks或dm-crypt加密。

$ man qemu-img

...use of qcow / qcow2 encryption is thus strongly discouraged.

users are recommended to use an alternative encryption

technology such as the linux dm-crypt / luks system.

...

建立luks格式磁碟,data為要設定的磁碟密碼。luks好像不支援空洞模式,申請的空間大小會完全預分配。(如有錯誤,歡迎指正。)

$ qemu-img create -f luks --object secret,data=123456,id=sec0 -o key-secret=sec0 demo.luks 10g
有乙個qcow2的映象,且是shutdown狀態

新建乙個luks映象,並且與上述qcow2相等大小

$ qemu-img create -f luks --object secret,data=123456,id=sec0 \

-o key-secret=sec0 demo.luks 10g

將qcow2轉換為luks

$ qemu-img convert --target-image-opts --object secret,data=123456,id=sec0 \

-f qcow2 demo.qcow2 -n driver=luks,file.filename=demo.luks,key-secret=sec0

此處uuid可以通過qemu-img info demo.luks檢視

修改uuid

'no' private=

'yes'

>

fbae4c81-0d6c-4ed1-9e73-581eb8b7131f

$ virsh secret-define secret.xml 

secret fbae4c81-0d6c-4ed1-9e73-581eb8b7131f created

(這裡的密碼就是給磁碟加密時使用的密碼123456)

$ virsh secret-set-value 7d195d98-6a06-4bb9-a0e9-6a2fde302f31 $mysecret
注:密值是base64的(mysecret=printf %s "123456" | base64

注:產生的secret以及密碼在/etc/libvirt/secrets/中存在

預設kvm虛擬機器配置檔案目錄/etc/libvirt/qemu/

如果是從cdrom引導項就啟用加密,則需要修改boot引導裝置

啟動虛擬機器。虛擬啟動後就是使用的加密的磁碟

$ virsh define file.xml

$ virsh start domain

通過qemu-system-x86_64可以建立qcow2格式的磁碟,並採用luks加密

$ qemu-img create --object secret,id=sec0,data=123456 -f qcow2 \

-o encrypt.format=luks,encrypt.key-secret=sec0 base.qcow2 10g

通過qemu-system-x86_64安裝虛擬機器,可通過vnc安裝。

qemu-system-x86_64 --object secret,id=sec0,data=123456 \

-drive driver=qcow2,file.filename=base.qcow2,encrypt.key-secret=sec0 \

-cdrom ./iso/ubuntu-16.04.6-desktop-amd64.iso \

-boot d -m 1024 -enable-kvm -vnc :1

更改kvm虛擬機器磁碟大小

kvm 虛擬機器的磁碟大小可通過命令 qemu img resize filename size 來改,要注意的是resize只支援raw格式的磁碟檔案,如果想更改qcow2等格式的磁碟大小,需先用qemu img convert 轉換磁碟格式後才能更改大小 另外,用命令改完大小後需重啟kvm虛擬機...

KVM虛擬機器調整磁碟大小

首先備份原虛擬機器檔案 cp vm.qcow2 vm.qcow2.bak 檢視虛擬機器分割槽情況 virt df h vm.qcow2 建立乙個新的虛擬機器磁碟檔案,並設定想要的磁碟大小 qemu img create f qcow2 vm big.qcow2 100g 調整分割槽大小 virt r...

KVM複製虛擬機器,KVM轉殖虛擬機器

1.關閉要轉殖的虛擬機器 2.語法 virt clone o 原虛擬機器 n 新虛擬機器 f 新虛擬機器存放的路徑 virt clone o centos7.0 n xuegod110 f var lib libvirt images xuegod110.img qcow2格式 virt clone...