關於OpenStack nova和交換文件的疑問

關於OpenStack nova和交換文件的疑問

我對 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_1024swap_8192文件作為文件的 qcow2 支援文件disk.swap
    • 使用 qcow2 磁碟和 CoW(寫入時複製)不會節省空間。看起來,用於交換文件的 CoW 方法並沒有為我們帶來任何真正的優勢;
  • 為什麼創建swap_1024_1024swap_8192_8192
    • 創建 1T 和 8T qcow2 檔案有意義嗎? nova-compute 是否隨時使用它們?

相關內容