时效性
本篇撰写时间为2021.12.13,由于计算机技术日新月异,博客中所有内容都有时效和版本限制,具体做法不一定总行得通,链接可能改动失效,各种软件的用法可能有修改。但是其中透露的思想往往是值得学习的。
本篇前置:

云硬盘基础

瞻仰云硬盘

无论你是在配置云服务器的时候购买了,还是单独购买,都请到云服务器提供商的控制台查看
image
教程https://docs.ksyun.com/documents/1052
确保云硬盘在使用中,即对应了需要的主机
image

创建文件系统

如果我们不需要逻辑分区,则可以裸盘创建文件系统
参考https://docs.ksyun.com/documents/39962
fdisk -l
看到我们的云硬盘,2TB
image
其设备文件为/dev/vdb
接下来依据教程创建文件系统和挂载即可

硬盘相关常见命令

du看占用,-h使得输出更加human-readable(如使用K, M, G等单位),-s使得不递归。很常见的一个组合就是du -sh查看当前目录所占空间。以及du -h <目录>du -sh <目录>
df看文件系统。-h使得输出更加human-readable,-T使得输出中能看到Type(文件系统的类型)。
所以df -hT可以看到这个就说明挂载成功
image

bt下载和复用数据

尝试cd到挂载点,进行下载
比如下图中,直接wget是200多K的网速,无法接受(已经在使用位于境外的云服务器了……)
image
所以我们对于大数据集,尝试使用torrent种子下载
可以去https://academictorrents.com
看看有没有

transmission安装和配置方法

  • 参考https://help.ubuntu.com/community/TransmissionHowTo
    安装transmission
    add-apt-repository ppa:transmissionbt/ppa
    apt update
    apt install transmission-gtk transmission-cli transmission-common transmission-daemon
  • 停下transmission,并作配置,再重启transmission
    • sudo service transmission-daemon stop
    • sudo vim /var/lib/transmission-daemon/info/settings.json
      可以按照https://help.ubuntu.com/community/TransmissionHowTo
      教程链接,做一些想做的配置。
    • sudo service transmission-daemon start

尝试使用

在下载大数据集前,我们下载一个小的东西验证一下可用性

  • 去https://ubuntu.com/download/alternative-downloads
    右键某个种子的链接,复制其地址
  • 在云服务器某个目录wget <链接>
    torrent很小,下载它很快(直接用wget就行)
  • transmission-remote -n 'transmission:transmission' -a <种子文件> # 添加种子
    此时应该已经开始下载了
  • 常见命令
transmission-remote -h # 帮助
transmission-remote -n 'transmission:transmission' -l # 种子列表
transmission-remote -n 'transmission:transmission' -st
transmission-remote -n 'transmission:transmission' -si # 对全体输出信息
transmission-remote -n 'transmission:transmission' -t 1 -f
transmission-remote -n 'transmission:transmission' -t 1 -i # 对列表中1号输出信息
transmission-remote -n 'transmission:transmission' -t 1 -s # 开始
transmission-remote -n 'transmission:transmission' -t 1 -S # 结束
transmission-remote -n 'transmission:transmission' -t 1 -r # 清除

配置下载目的地

  • 回忆之前的配置方法,对transmission进行配置。
    • 具体需要的配置:在/var/lib/transmission-daemon/info/settings.json文件中搜索dir(回忆vim中用/进行搜索)
      找到download-dirincomplete-dir,把值指定成某个云硬盘下的目录。
      例如挂载点/mnt/data_disk01(具体名称是之前设置好的)
  • 然后参考IncRe第0期,给挂载点/mnt/data_disk01设置权限。
  • 重新按照之前方法启动下载,就可以下载到云硬盘了
    image
    可以看到,速度比之前快多了

总结和问答练习

  1. Q: 回忆/dev/null往往用来丢弃输出。所以说dev是develop的意思吗?
    A: 不是。是device. 该目录下有许多特殊的文件,称为“设备文件”。它们往往对应各种物理或虚拟的设备,比如/dev/null空设备(在第11期用到过),/dev/shm共享内存(在第19期用到过)
  2. Q: 写一行小脚本,每隔一小段时间记录一下统计信息在某个日志文件中,方便看bt下载是否稳定。
    A:
    (供参考)
    while true; do echo $(transmission-remote -n 'transmission:transmission' -l) >> log.txt; sleep 5; done;
    隔一段时间看看日志,可以发现有意思的是,p2p高峰期速度飞快。正文中7 days,但在p2p高峰期测算就只有1-3 day(s)
    image
    注:数据集总共1T左右