Fla*_*ame 49 linux hard-drive dd
我正在尝试使用 dd 从我的硬盘驱动器中找出大副本的最佳大小。我试图找出使用它的最佳块大小,我认为这是该驱动器的硬件块大小。
Tho*_*att 49
该lsblk命令这是伟大的:
lsblk -o NAME,PHY-SeC
Run Code Online (Sandbox Code Playgroud)
结果:
NAME PHY-SEC
sda 512
??sda1 512
??sda2 512
??sda5 512
Run Code Online (Sandbox Code Playgroud)
hlo*_*dal 33
Linux 在文件中公开物理扇区大小/sys/block/sdX/queue/physical_block_size
。虽然,为了获得最佳性能,您可能应该使用不同的尺寸和措施进行一些测试。我能不能 找到 一个 明确的 答案中,使用完全相同的物理块大小将得到最佳的结果(虽然我认为它不可能是一个不错的选择)。
小智 30
$ sudo hdparm -I /dev/sda | grep -i physical
Physical Sector size: 4096 bytes
Run Code Online (Sandbox Code Playgroud)
我的不是一个完整的答案,但我希望它也有帮助。
这里有一些来自http://mark.koli.ch/2009/05/howto-whole-disk-backups-with-dd-gzip-and-p7zip.html
为了更快地备份,它可以帮助确定您要备份的磁盘设备的最佳块大小。假设您要备份 /dev/sda,以下是使用 fdisk 命令确定最佳块大小的方法:
rescuecd#/> /sbin/fdisk -l /dev/sda | grep Units
Units = cylinders of 16065 * 512 = 8225280 bytes
Run Code Online (Sandbox Code Playgroud)
请注意 fdisk 输出显示“16065 * 512 的柱面”。这意味着磁盘上每个块有 512 个字节。您可以通过将块大小增加 2 到 4 的倍数来显着提高备份速度。在这种情况下,最佳块大小可能是 1k (512*2) 或 2k (512*4)。顺便说一句,贪婪并使用 5k (512*10) 的块大小或过多的东西无济于事;最终系统将在设备本身出现瓶颈,您将无法从备份过程中挤出任何额外的性能。(强调)
我怀疑给定配置的接近最优和最优块大小之间的性能差异可以忽略不计,除非数据集很大。事实上,FixUnix 的一位用户(2007 年的帖子)声称他的最佳时间只比次优时间快 5%。也许您可以通过使用“集群”大小或文件系统块大小的倍数来提高效率。
当然,如果您移动到最佳块大小的任一侧太远,您就会遇到麻烦。
最重要的是,使用绝对最佳的块大小,您可能只会获得大约 5% 的性能(即每小时 3 分钟),因此请考虑是否值得您花时间和精力进行进一步研究。只要远离极端值,就不应该受苦。