Kvm
ls 命令的輸出混淆了 XFS 上的 KVM 原始映像
使用 在原始映像上創建新 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
$$ * $$咳咳,千字節。