Kvm

ls 命令的輸出混淆了 XFS 上的 KVM 原始映像

  • November 7, 2016

使用 在原始映像上創建新 VM 後virt-install,我嘗試驗證該映像是否為稀疏文件,但無法使用該ls命令確定。

ls -ls myvm.img
1048576000 -rw------- 1 root root 1073741824000 Nov 4 15:49 myvm.img

由此看來,它似乎是一個 1 TB 的映像,僅分配了大約 1 GB 的空間。但是,如果我使用 -h 標誌,我會得到:

ls -lsh myvm.img
1001G -rw------- 1 root root 1000G Nov 4 15:49 myvm.img

同樣,du命令顯示:

du -h myvm.img
1001G myvm.img

還有這個:

qemu-img info myvm.img
file format: raw
virtual size: 1.0T
disk size: 1.0T

如果我嘗試備份映像,它會嘗試複製整個 1 TB:

tar -Scf myvm.tar myvm.img

那麼這裡發生了什麼?根據第一個命令,似乎有一些跡象表明它是一個稀疏文件,但似乎不是。這是 XFS 的奇怪之處嗎?

ls並且du不要互相矛盾。(它們使用相同的系統呼叫)。

ls -s以塊為單位列出大小(1 KB

$$ * $$預設情況下)。 1048576000 * 1024 = 1073741824000

$$ * $$咳咳,千字節。

引用自:https://unix.stackexchange.com/questions/321720