Linux虚拟机经常假死通常是由于VMware Tools无法识别剪贴板格式等问题导致的文件系统死锁
解决办法:不要使用并发性比较差的ext4文件系统,而是使用并发性比较好的xfs文件系统
btrfs并发性也比较好,但是btrfs基于写时复制,在虚拟机里使用容易造成虚拟硬盘体积膨胀
虚拟机很少有原地缩小分区大小的需求,xfs的这个限制影响不大,使用xfsdump和xfsrestore等方式已经足够
虚拟硬盘可通过sudo vmware-toolbox-cmd disk shrink /命令先填0再压缩虚拟硬盘缩小虚拟硬盘实际占用空间
xfs删除大量小文件的性能问题早已解决
----
btrfs的优点:
1、基于写时复制copy-on-write(COW),从根源上避免各种可靠性、并发性等问题
2、分区大小容易调整(扩大缩小分区均可在线调整)
3、有数据校验,避免数据损坏
4、有压缩、快照、子卷、RAID、磁盘配额等功能
5、自动识别SSD并为SSD优化文件系统算法并启用TRIM
6、Windows文件系统驱动维护较为活跃(WinBtrfs)
btrfs的缺点:写时复制大量丢弃的元数据/文件数据碎片可能导致性能降低、物理硬盘寿命降低和虚拟硬盘体积膨胀
注意:元数据写时复制是btrfs的核心特性,nodatacow挂载选项、chattr +C只能关闭可选的文件数据写时复制,而且只对新创建的文件有效(对挂载/目录来说,相当于对新创建的文件自动chattr +C,对文件来说,相当于要求后续写入尽可能原地更新)
----
参考资料:
Btrfs - ArchWiki (archlinux.org)
XFS - ArchWiki (archlinux.org)