背景:我正在复制一个大小为 200GB,但分配了 16GB 块的稀疏 qcow2 VM 映像。我尝试了各种方法来在同一服务器中复制这个稀疏文件,并获得了一些初步结果。环境为 RHEL 6.6 或 CentOS 6.6 x64。
ls -lhs srcFile
16G -rw-r--r-- 1 qemu qemu 201G Feb 4 11:50 srcFile
Run Code Online (Sandbox Code Playgroud)
通过 cp - 最佳速度
cp --sparse=always srcFile dstFile
Performance Notes:
Copied 200GB max/16GB actual VM as 200GB max/26GB actual, bloat: 10GB
Copy time: 1:02 (mm:ss)
Run Code Online (Sandbox Code Playgroud)
Via dd - 最佳整体表现者
dd if=srcFile of=dstFile iflag=direct oflag=direct bs=4M conv=sparse
Performance Notes:
Copied 200GB max/16GB actual VM as 200GB max/21GB actual, bloat: 5GB
Copy time: 2:02 (mm:ss) …
Run Code Online (Sandbox Code Playgroud) 对于具有 24 个 1.2TB 磁盘(和 1TB RAM)的Dell R920,我希望设置 RAID 5 配置以实现快速 IO。该服务器将用于托管 KVM 虚拟机,这些虚拟机将读取/写入各种大小的文件,包括非常大的文件。我对数据安全不是很感兴趣,因为如果服务器由于任何原因出现故障,我们只会在更换故障部件后从裸机重新配置服务器。 因此,性能是主要关注点。 我们正在考虑 RAID 5,因为它允许我们将数据分布在多个心轴上,从而为我们提供更好的性能,虽然不是我们主要关注的问题,但也为我们提供了一些数据保护。我们的网卡是双 10Gbps。
我将此问题仅限于 RAID 5,因为我们认为这将提供最佳性能。只有当有令人信服的性能原因时,我们才会考虑其他因素。但是,我想我更喜欢与 RAID 5 配置相关的答案。
好的,综上所述,这是我们目前的配置思路:
如果条带大小是数据驱动器的总和,那么我认为每个驱动器约 46.5KB 将为我们提供非常好的吞吐量。如果条带大小是每个主轴,那么我就错了。
条带大小是否也是单个文件占用的大小?例如,如果有一个 2KB 的文件,选择 1MB 的条带大小是否意味着我们几乎浪费了整兆字节?或者多个文件可以存在于一个条带中吗?
最后,当我们安装 CentOS 6.5(或最新版本)时,我们是否需要做一些特殊的事情来确保文件系统以最佳方式使用 RAID?例如,mkfs.ext4有一个选项-E stride我被告知应该对应于 RAID 配置。但是,在 CentOS 安装过程中,有没有办法做到这一点?
非常感谢您对配置 RAID 5 以实现快速 IO …