目录
方法一:在阿里云中连接超算,然后使用rsync(速度慢)
方法2:rclone(速度很快,100G只花了大约20min)
方法一:在阿里云中连接超算,然后使用rsync/scp(速度慢)
1.在阿里云中制作密钥
[root@host ~]$ ssh-keygen <== 制作密钥
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 密钥密码,或者按Enter设为空
Enter same passphrase again: <== 再次输入密钥密码
Your identification has been saved in /root/.ssh/id_rsa. <== 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥
公钥/root/.ssh/id_rsa.pub 私钥/root/.ssh/id_rsa
2.将公钥内容复制添加到超算用户目录下.ssh/authorized_keys文件(可使用ssh-copy-id user@hostname ,未验证)后,
保证文件权限
chmod 600 authorized_keys
chmod 700 ~/.ssh
3.测试是否能够通过SHH密钥认证登录到远程服务器
ssh user@remote_server_ip
#例如ssh scxlab0069@BSCC-N32-H@ssh.cn-zhongwei-1.paracloud.com
#scxlab0069@BSCC-N32-H是超算user名
#ssh.cn-zhongwei-1.paracloud.com是超算服务器ip
4.在阿里云中传输数据
rsync -avz --partial /mnt/data/oss_beijing/wzf/ scxlab0069@BSCC-N32-H@ssh.cn-zhongwei-1.paracloud.com:/home/bingxing2/ailab/group/ai4agr/wzf/
#其中/mnt/data/oss_beijing/wzf/是阿里云中数据路径
#scxlab0069@BSCC-N32-H是超算user名
#ssh.cn-zhongwei-1.paracloud.com是超算服务器ip
#/home/bingxing2/ailab/group/ai4agr/wzf/是数据要复制到的路径
注:也可以采用scp
scp local_file user@hostname:remote_location #将本地文件复制到远程服务器
scp user@hostname:remote_file local_location #将远程服务器上的文件复制到本地计算机
方法2:rclone(速度很快,100G只花了大约20min)
类似于阿里云OSS->单机
1.先在官网Rclone downloads上下载合适版本的rclone包到超算平台
例如我的超算服务器是CPU是 aarch64 架构 linux环境
2.配置rclone config
创建rclone.conf文件 与下载的rclone-v1.66.0-linux-arm64文件位于同一目录下
内容模板为
[Aliyun]
type=s3
provider=Alibaba
access_key_id=xxxxxxxxxxxxxxxxxxx
secret_access_key=xxxxxxxxxxxxxxxxxxxxx
endpoint=oss-cn-beijing.aliyuncs.com
acl=private
bucket_acl=private
注意!!!
OSS 的 access key 和在阿里云上面用的个人的 access key 不是一个东西
3.传输文件指令
rclone copy --progress --transfers 200 --checkers 200 Aliyun:pjlab-3090-ai4bio/wzf/ 服务器目标目录
# Aliyun为config文件中配置名 pjlab-3090-ai4bio为oss桶名
#--transfers 200 --checkers 200 这两个参数为传输时的并发数和校验文件数
#如果找不到config文件 加上参数 --config rcloneconfig文件路径
#./rclone ls Aliyun:pjlab-3090-ai4bio/ 可以查看链接oss是否成功
#如果数据量大则可以使用nohup命令放在后台执行,通过tail -f logs-.log 来查看迁移进度
#例如 nohup rclone copy --progress --transfers 200 --checkers 200 Aliyun:pjlab-3090-ai4bio/wzf/ 服务器目标目录 >> logs-Mytest.log 2>&1 &
rclone补充
阿里云oss->集群ceph桶(Ceph分布式存储系统)
rclone.conf文件配置模板
[cephhdd]
type = s3
provider = Ceph
access_key_id = xxxxxxx
secret_access_key = xxxxxx
endpoint = http://10.140.2.231:80
acl = private
[Aliyun]
type=s3
provider=Alibaba
access_key_id=xxxxxxxxxxxxxxxxxxx
secret_access_key=xxxxxxxxxxxxxxxxxxxxx
endpoint=oss-cn-beijing.aliyuncs.com
acl=private
bucket_acl=private
注:阿里云OSS的access_key和 集群ceph桶的access_key不是同一个
传输文件指令(例如传输到s集群ceph的Mytest桶中)
rclone copy --progress --transfers 200 --checkers 200 Aliyun:pjlab-3090-ai4bio/wzf/ cephhdd:Mytest/
参考:
两个服务器之间通过密钥免密传输文件_两台主机使用秘钥通信-CSDN博客