我是一名研究生,我所在的小组维护着Linux集群。群集的每个节点都有自己的本地磁盘,但是这些本地磁盘相对较小,没有自动备份。因此,该组拥有一个具有许多TB存储空间的文件服务器。我是Linux的相对新手,所以我不确定文件服务器在速度,网络能力等方面的规格是什么。我确实从经验中知道本地磁盘在I / O方面比文件服务器快得多。大约有十几个人使用文件服务器。
使用cp
〜20 GB的文件从文件服务器复制到本地磁盘之一平均需要大约11.5分钟的实时时间(根据time
)。我知道此cp
操作的效率不是很高,因为(1)time
告诉我该副本的系统时间仅为〜45秒;并且因为(2)top
在复制期间进行检查时,%CPU相当低(通过检查,平均大约为0-10%)。
使用cp
将大约20 GB的文件从本地磁盘上的一个文件夹复制到同一本地磁盘上的另一个文件夹所花费的时间更少-实时约为9分钟(根据,系统时间约为51秒time
)。因此,显然文件服务器比预期的要慢于本地磁盘,但可能不会慢很多。我很惊讶从本地复制到同一本地的速度不超过9分钟。
我需要将大约200个大文件(每个〜20 GB)从文件服务器复制到本地磁盘之一。因此,我的问题是:在Linux中复制大文件是否有更快的选择cp
? (或者cp
我可以使用任何标记来加快复制速度吗?)即使我能以某种方式节省一分钟的复制时间,也将极大地帮助您。
我确定要购买新的,速度更快的硬件磁盘,但是我无法访问这些资源。我也不是系统管理员,我只是一个(新手)用户,所以我无法访问有关磁盘负载的更多详细信息。我确实知道,虽然每天有大约十二个人使用文件服务器,但我是唯一使用此特定节点/本地磁盘的人。
dd
和rsync
比较哪一个更快的工作环境中的
dd
,但是我只是尝试过rsync
。根据,实时时间约为11.5分钟,系统时间约为1.5分钟time
。
/dev/sda1
到复制/dev/sdb1
比从一个位置复制/dev/sda1
到另一个/dev/sda1
分区或另一个分区上的复制要更快,/dev/sda
因为硬盘不必在读写之间进行其他搜索(假设传统的硬盘具有旋转的磁盘和移动磁头; SSD明显不同)。