目前移动硬盘存储了 16T 的数据,目录结构如下
目前需要迁移到另一个硬盘上,使用过 fastcopy ,速度太慢了,只有 0.06M/s,全部拷完,公司都倒闭了,如下图

求助 v 友还有什么方法,可以快速进行拷贝呢?
1
47jm9ozp 20 小时 14 分钟前
dd?
|
2
gtese 20 小时 12 分钟前
用 robocopy 命令? 要么用备份恢复大法?
|
3
malusama 20 小时 12 分钟前 zip 打包一下再 copy 啊
|
4
xmdbb 20 小时 9 分钟前 让老板增资,这样公司就没那么快倒闭了
|
5
ihuihui 20 小时 9 分钟前
必然是先打包再拷,而且打包不要选压缩。
|
6
wniming 20 小时 9 分钟前
dd 到固态
|
7
milkpuff 20 小时 5 分钟前
拷贝分区。是否可行
|
8
duanxianze 20 小时 3 分钟前
应该有办法整盘克隆吧,走顺序读取会快一些,类似 DiskGenius 似乎有这样的功能
|
9
opengps 20 小时 3 分钟前 先打个压缩包,你这么小的文件,可能不满一个块大小,实际根本用不了 16T
|
10
bzw875 20 小时 0 分钟前
有没有可能是移动硬盘 4kb 读取性能慢,跟写入设备没关系。
先复制 100MB 小文件到 SSD 上看看速度吧 |
11
liyafe1997 19 小时 59 分钟前
直接 dd 或用类似 dd 的方式,直接把整个文件系统弄过去,而不是以文件为单位拷
|
12
Leao9203 19 小时 56 分钟前 via Android 7zip 直接 tar 归档一下,不需要压缩,速度最快,如果有上云需要,也可以做分包,经常用来跟朋友发送大文件用
|
13
MIUIOS 19 小时 55 分钟前
小文件,SSD 的噩梦
|
14
Leao9203 19 小时 54 分钟前 via Android
大量传输小文件太考验源和目标磁盘的 4K 性能了
|
15
0x5c0f 19 小时 54 分钟前
试一试 robocopy 多线程模式, 可能会有好的效果
|
16
realJamespond 19 小时 53 分钟前
fastcopy 一个 20 年前的工具
|
17
MossFox 19 小时 50 分钟前 via Android
迁移到另一个硬盘上,如果是整个盘就这些文件,Windows 直接拿例如 DiskGenius 整个分区复制过去。不用按文件复制。
|
18
lisxour 19 小时 50 分钟前
压缩包其实也多大作用,因为还是需要疯狂打开文件疯狂 io ,这是最耗时的,只能直接克隆扇区
|
19
opengps 19 小时 48 分钟前
|
20
elron 19 小时 48 分钟前
分区 copy
|
21
TsubasaHanekaw 19 小时 46 分钟前
直接扇区复制,吃满磁盘连续性能
|
22
rlds 19 小时 45 分钟前
两个一样大的硬盘直接试试用 diskgenius 的分区对拷?
|
23
RobinHuuu 19 小时 44 分钟前 via iPhone
猜测都是 hdd ?
|
24
Chihaya0824 PRO 扇区复制就完事了,别按文件拷贝
|
25
coderwitt 19 小时 40 分钟前
哥们,如果你的全是纯文本文件,试试 rsync,直接增量同步,放那跑着就行
如果你是二进制文件,找增量备份或者快照软件,直接对这个目录打个快照,恢复到另一块盘里 |
26
ntedshen 19 小时 39 分钟前
把硬盘拆了
能翻倍 |
27
festoney8 19 小时 22 分钟前
最快的方法是扇区复制、克隆硬盘,无 4K 读写,推荐在 PE 系统操作
|
28
ritziiiiii 19 小时 21 分钟前
条件允许的话,可以暂时把两边的硬盘调换一下,先解燃眉之急
|
29
Eason1900 19 小时 19 分钟前
最快的办法就是把移动硬盘物理连接到目标机器上直接使用。
然后再后面慢慢同步去 |
30
deplives 19 小时 18 分钟前
先 tar 打包不压缩
再传输,全是小文件,直接考本硬盘 4k 随机读写跟不上的 不行就直接扇区复制 |
31
kzfile 18 小时 57 分钟前
看起来像是瓦片
|
32
wxf666 18 小时 55 分钟前
这种巨量小文件,存进数据库里(如 SQLite ),是不是会好很多?
NTFS 文件系统,每个文件元数据(文件名、长度、时间、权限等)起码占 1KB ( MFT 主文件表里),文件内容还要浪费 < 4KB 用于簇对齐。读写文件还得经过复杂的权限校检、杀毒软件放行等。(估计 WinPE 里会快些) 数据库就轻量很多。8 年前 SQLite [测试]( https://sqlite.org/fasterthanfs.html ),随机读写 10KB 小文件,比文件系统快 35%,节省 20% 空间。转移/备份时也是顺序读写,能全速吃满硬盘。。 |
33
jiagm 18 小时 48 分钟前 via Android
@realJamespond fastcopy 目前仍然有在持续开发。
|
34
zhengwenk 18 小时 42 分钟前
直接把这个硬盘安装到目标机器得了
|
35
wxf666 18 小时 41 分钟前
@festoney8 诶,你们觉得,要是能顺序读取硬盘的同时,分析出是哪个文件的内容(应该能通过 MFT 主文件表,获取每个文件数据分布范围吧)。若该文件读完整了,就写入到另一个硬盘里,应该会快很多吧。。
或者,获得所有文件数据分布范围后,按在硬盘上的顺序,依次读取这些文件,磁头不用频繁移动,也能节省大量时间?(也算近乎顺序读取了?) |
36
laminux29 18 小时 31 分钟前
前期架构错了,后期就没办法。
首先机械硬盘的随机 IO 就是慢,其次移动机械硬盘的性能更差劲,慢上加慢。 下次这种需求,老老实实换 NVME 吧。 ps.小文件 + 机械硬盘,数据库来了也没辙。 |
37
wxf666 18 小时 19 分钟前
@jiagm #33 fastcopy 有利用 35 楼说的「分析文件内容在硬盘上的分布,按硬盘顺序读取,减少磁头频繁移动,从而节省大量时间。若文件有碎片,在内存里缓存一部分,读完整再写入」原理吗?感觉是真的可行的。。
如果还没有这样的软件,感觉楼主 @CristianoRonaldo 可以找论坛里,那帮用 AI 很厉害的人,快速写个这样的小工具出来用? |
38
wxf666 18 小时 15 分钟前
@laminux29 #36 数据库在随机读写里面的小文件时快不了多少,但作为一个大文件,整体去备份 / 迁移,应该能顺序读取,吃满硬盘性能吧。。
另外,你觉得 35 楼说的「分析文件内容在硬盘上的分布,按硬盘顺序读取,减少磁头频繁移动,从而节省大量时间。若文件有碎片,在内存里缓存一部分,读完整再写入」原理,是可行的吗? |
39
xkou233 18 小时 14 分钟前
winhex 直接拷盘吧 之前拷贝十几个 T 都是这样
|
40
liuzimin 18 小时 4 分钟前 via Android
我记得以前 AI 给过我一个 linux 下的思路,是通过一条命令,一边压缩的同时一边解压的方式传输。
|
41
xxbing 17 小时 51 分钟前
rsync ???
|
42
zushi000 17 小时 44 分钟前
用 diskgens 克隆
|
43
standin000 17 小时 33 分钟前
@wxf666 估计软件架构是手搓的数据库,所以一直存放小文件
|
46
zdl0929 17 小时 14 分钟前
最快应该是整盘克隆
dd if=/dev/sdX of=/dev/sdY bs=64M status=progress 其次应该是直接 tar 到 对应机器目录(别先 tar 再传,避免中间文件) tar -cf - . | pv | tar -xf - -C /mnt/target |
47
clarkethan 17 小时 5 分钟前
如果两边都是 NTFS ,可以考虑用 Clonezilla ,只拷贝使用了的簇,几乎顺序 io ,也没有文件元数据 io 开销
|
48
wxf666 17 小时 2 分钟前
@festoney8 对呀,就是一个个文件去读,但按照它们内容在硬盘上顺序,去决定文件列表,这样磁头就不需要频繁移动,减少寻道时间,尽量将随机读写,转化成顺序读写了吧?
实在不行,就手动分析物理硬盘上,每个 4K 块数据,属于哪个文件的呗。然后顺序读取分区,提取数据缓存在内存里,哪个文件缓存完了(可能有文件碎片成多个 4K 块),就写入到另一个硬盘里。 别说不可能,各种碎片整理软件,都能知道每个文件每一块碎片,在物理磁盘上的偏移范围。。 |
49
abc0123xyz 16 小时 38 分钟前
直接复制硬盘分区
|
50
leeyaunlong 16 小时 35 分钟前
你这移动硬盘应该拆出来装 pc 上再复制啊.
|
51
carlojie 16 小时 7 分钟前
让我想起来天量数据迁移,使用人工搬运
|
52
Reficul 15 小时 38 分钟前
按文件系统拷贝,linux 下面 umount 了之后直接 dd 整个块设备到新硬盘。类似`dd if=/dev/sda of=/dev/sdb`。另外新设备要比老设备大,否则你得先缩文件系统。
按文件拷贝多线程也没用,瓶颈都在 io 上。 |
53
inorobot 15 小时 27 分钟前
16T 的机械盘,怎么拷都得几天,还是得上 SSD ,
把移动硬盘拆了,连电脑上用 |
54
festoney8 15 小时 1 分钟前
@wxf666 #48 我感觉哪怕是按磁盘位置优化过读取顺序,仍然会被 NTFS 元数据影响,比如每个写入操作都会伴随 MFT 、bitmap 的修改,还是会带来随机访问,只有绕过文件系统才能提升速率
|
55
TimePPT PRO 整盘拷贝吧,之前在公司管理过几十 T 稀碎文件,单文件都很小。上个硬盘拷贝机直接插上不用管,很快的。
|
56
Co1e 14 小时 34 分钟前
看看评论 学习学习
|
57
wxf666 14 小时 27 分钟前
@festoney8 #54 Windows 不至于每写一个文件,就强制落盘 $MFT 吧,应该能内存里缓存一段时间,积攒一堆新文件元数据,再一起写入,平摊随机读写成本,转换成大量顺序读写?
其实感觉楼主应该换新方法存储了,否则 NTFS 每次读写都得额外访问 $MFT 、校检权限、杀毒软件放行等,严重拖慢速度,特别是像现在的备份 / 迁移时。。 感觉巨量小文件存数据库里更优,元数据很轻量,且能和文件内容放在一起,减少几次随机 IO (视索引 B+ 树层级而定)。还不用 4K 簇对齐,更充分利用硬盘空间。备份 / 迁移时,还能大文件整体拷贝,吃满硬盘性能。 如果实在要以文件系统形式,对其他程序提供服务,可以用些 fuse 手段。或者参考 RamDisk 它们怎么实现文件读写接口的,它们随机读写文件速度极快,因此这个抽象层应该不会有太多性能损耗。。 现在 AI 这么发达,上述应该不难实现,论坛首页都一堆讨论 AI 的 v 友,请教下他们,或者出点小钱让其帮忙,应该就行了。。 |
58
laminux29 7 小时 45 分钟前
@wxf666 移动机械硬盘的 debuff 被拉满了,再怎么吃满硬盘性能,硬盘性能也就可怜的那一点点。换架构才是解决问题的关键。
35 楼同理,架构没搞好,再优化也没用。 数据证明: 台式机机械硬盘,4k 速度,读平均为 0.7 MB/s ,写平均为 1.5 MB/s 。 SATA-SSD ,4k 速度,读平均为 25 MB/s ,写平均为 70MB/s 。 NVME-SSD ,4k 速度,读平均为 96.9 MB/s ,写平均为 272 MB/s 。 自己看看差了多少倍吧。这就像一句名言:选择大于努力。 |
60
0superx0 4 小时 54 分钟前
我能想到的只有 dd 是最快的了
|
61
cheneydog 4 小时 39 分钟前
拷完了公司倒闭,永远拷不完公司就永远不会倒闭。
|
62
dode 4 小时 3 分钟前
首选硬盘镜像,其次是调小当前分区大小,再硬盘镜像
|
63
eric3797 4 小时 2 分钟前
restic 备份到移动硬盘,再从移动硬盘恢复到目标硬盘,速度基本都是满速
|
64
Haku 3 小时 45 分钟前
先 tar 再移吧
|
65
zjyl1994 3 小时 40 分钟前
看看 diskgenuis 之类的,整个盘克隆,这样顺序读写最快。要不然这么碎的文件隔着一层文件系统快不到哪里去
|
66
5ssl 3 小时 30 分钟前
利用 tar for windows 对大量文件进行快速打包
tar -cvf /wwwroot.tar d:/wwwroot |
67
oisadfo 3 小时 26 分钟前
什么平台,什么文件系统,windows 的 ntfs 等文件系统,有很多工具,搜下 分区克隆或者磁盘克隆
|
68
zxjxzj9 3 小时 23 分钟前
问了下 ai 有个点子我觉得可以,就是自己定义一个简单的二进制文件把数据打包进去(不是压缩包协议)然后整块传输。sqlite 有事务这个机制在估计也不是很适合
|
69
kasusa 3 小时 17 分钟前
硬盘对拷设备来搞。
放那慢慢拷。几天完事了。 |
70
CristianoRonaldo OP 谢谢各位,今天上午试了一下 diskgenuis ,整盘拷贝,速度非常快,2000MB/min ,
这部分数据的使用,会挂 ftp ,提供给业务系统,想过入库 minio 这些文件系统,但是太慢了,就直接挂 FTP 了。 ![]() |
71
CristianoRonaldo OP |
73
yulgang 2 小时 53 分钟前
当然是做磁盘镜像啊
|
74
lswlray 2 小时 32 分钟前
@CristianoRonaldo 你是用 DG 的 克隆磁盘 ?克隆分区? 扇区复制?
|
75
CristianoRonaldo OP @lswlray #74 克隆磁盘不行,两边盘大小不一样,选的复制文件
|
76
dosmlp 2 小时 17 分钟前
分区克隆,然后再在目标硬盘上调整分区大小就行了
|
77
Gilfoyle26 1 小时 39 分钟前
|