我對 nova 在啟動實例時建立的 qcow2 交換檔案有一些疑問。
我啟動了兩個實例,分別具有 1G 和 8G 交換記憶體。因此,我驗證了在目錄中創建了四個磁碟_bare
:
$ ls -lh _base/swap*
-rw-r--r-- 1 libvirt-qemu kvm 1.0G Jun 16 18:18 swap_1024
-rw-r--r-- 2 nova nova 1.0T Jun 16 18:18 swap_1024_1024
-rw-r--r-- 1 libvirt-qemu kvm 8.0G Jun 16 18:18 swap_8192
-rw-r--r-- 2 nova nova 8.0T Jun 16 18:18 swap_8192_8192
$ du -h _base/swap*
4.0K swap_1024
4.0K swap_1024_1024
4.0K swap_8192
4.0K swap_8192_8192
這兩個disk.swap
檔案是在實例目錄中建立的:
$ ls -lh */disk.swap
-rw-r--r-- 1 libvirt-qemu kvm 246M Jun 17 13:18 7fc49638-ae40-4f69-ac48-cf4ed330b61d/disk.swap
-rw-r--r-- 1 libvirt-qemu kvm 2.3M Jun 12 23:54 f3dfa134-4f7a-4cb3-af40-b4d43a5c2942/disk.swap
$ du -h */disk.swap
246M 7fc49638-ae40-4f69-ac48-cf4ed330b61d/disk.swap
2.2M f3dfa134-4f7a-4cb3-af40-b4d43a5c2942/disk.swap
$ qemu-img info 7fc49638-ae40-4f69-ac48-cf4ed330b61d/disk.swap
image: 7fc49638-ae40-4f69-ac48-cf4ed330b61d/disk.swap
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: 245M
[...]
backing file: /var/nova-data/instances/_base/swap_1024
[...]
$ qemu-img info f3dfa134-4f7a-4cb3-af40-b4d43a5c2942/disk.swap
image: f3dfa134-4f7a-4cb3-af40-b4d43a5c2942/disk.swap
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 2.2M
[...]
backing file: /var/nova-data/instances/_base/swap_8192
[...]
所以,我有以下疑問:
- 為什麼創建
swap_1024
和swap_8192
文件作為文件的 qcow2 支援文件disk.swap
?- 使用 qcow2 磁碟和 CoW(寫入時複製)不會節省空間。看起來,用於交換文件的 CoW 方法並沒有為我們帶來任何真正的優勢;
- 為什麼創建
swap_1024_1024
和swap_8192_8192
?- 創建 1T 和 8T qcow2 檔案有意義嗎? nova-compute 是否隨時使用它們?