兩臺電腦之間快速傳輸大量文件的方法,系統均是linux

背景

本人平時的工作有一部分是編譯Android系統,Android官方推薦的內存配置是16G,舊電腦的內存是16G,完整編譯一次LineageOS 14.1(對應的Android版本是7.1.1),大概需要兩個小時左右,編譯LineageOS 17.1(對應的Android版本是10),大概需要4個小時,而且編譯途中,還不能幹別的事,否則會導致資源緊張而編譯失敗,因此需要升級一下硬件配置。

環境

  1. 硬件,由ThinkPad T580 升級到 外星人Area 51M頂配版。
  2. 系統,兩個都是ArchLinux。
  3. 文件總大小有600G左右。

文件複製的過程

  1. 在舊電腦安裝了Nginx,準備用Nginx作爲服務器,新電腦使用Http從舊電腦下載文件,達到遷移文件的目的,這個速度只有5M左右,原因可能是兩臺電腦都使用內網WIFI,而路由器i的內網轉發限制到了很低,應該是5M,這個方案放棄。
  2. 在舊電腦安裝vsftpd,新電腦使用ftp下載文件,但是這個方案的速度也是隻有5M,原因同上,放棄。
  3. 使用網線將兩臺電腦直連(網線是6類,水晶頭是超5類),舊電腦設置ip相關參數,ip地址: 192.168.1.1,子網掩碼: 255.255.255.0,網關: 192.168.1.1,新電腦ip地址: 192.168.1.2,子網掩碼和網關同舊電腦一致,然後使用rsync從舊電腦給新電腦同步數據,速度很穩定,基本上一直是11.15Mb/s,速度還是不理想,網卡的協商速率是100Mb/s,按道理速度應該可以跑滿,不知道爲什麼只有11.15Mb/s。先放棄此方案。
  4. 使用移動硬盤來回複製,移動硬盤的usb接口是3.1的,速度很快,使用rsync,基本上在90Mb/s左右,比起網線直連的速度,快了不少,雖然需要複製兩次,比網線直連多了一次,但這也相當於網線直連的45Mb/s,因此選用了此方案

最後總結技術

  1. 對於有大量小文件的,先使用tar或zip進行打包或壓縮成一個文件,這樣可以加快複製速度
  2. 使用rsync,而不是很cp命令,個人更喜歡rsync的多參數,可以顯示覆制的進度

以上是本人的這次技術總結,如果朋友還有更快更好的方案,一起討論~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章