CUDO
一个云服务器。可以租用GPU, CPU,还有存储数据的disk.
基本配置包含:申请GPU,disk,挂载disk,上传数据集,(更改默认docker镜像安装路径)安装docker…
租用VM
VM(virtual machine), 选择GPU个数。注意VM一旦开始运行,不管在不在跑代码都已经在计费了。
使用VM

可以用SSH 或者 start VNC session。 这里建议SSH,用自己喜欢的终端建立SSH链接,因为start VNC session这里完全不可以复制粘贴。
SSH连接
本地机器与云服务器连接上的一个必要条件是,本地机器的SSH key要让云服务器VM知道。参考:如何生成本地SSHkey。.
生成的SSH保存在 文件中,需要把这个添加到你的账户的SSH keys里面。
~/.ssh/id_ed25519.pub

注意:!!!!!这一步最好在申请VM之前,因为申请VM的时候需要勋在SSH keys!!! 后生成的,应该识别不到!!!!
mount disk
注意,这里申请的disk要和申请的GPU的地区选择一样的,否则很可能挂载不了。
刚得到申请的disk是空的,就和一个空的电脑硬盘需要分区一样,所以第一步就是初始化disk:
查看待挂载的盘的名字
root@zoe:/mnt# lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
NAME SIZE TYPE MOUNTPOINT
loop0 44.4M loop /snap/snapd/23545
loop1 89.4M loop /snap/lxd/31333
loop2 63.7M loop /snap/core20/2496
sda 10G disk
├─sda1 4M part
├─sda2 106M part /boot/efi
└─sda3 9.9G part /
sdb 50G disk
└─sdb1 50G part /mnt/zoe_storge
sdc 50G disk
sr0 364K rom
由此可见,我挂载了两个50g的盘,分别是sdb,sdc,下面以sdb为例来挂载:
步骤 1:创建分区
sudo fdisk /dev/sdb
在 fdisk 交互界面中依次输入:
n # 创建新分区
p # 主分区
1 # 分区号
# 起始扇区(直接回车使用默认值)
# 结束扇区(直接回车使用默认值,使用整个磁盘)
w # 写入并退出
步骤 2:格式化分区
sudo mkfs.ext4 /dev/sdb1
步骤 3:挂载分区
sudo mkdir /mnt/mydisk
sudo mount /dev/sdb1 /mnt/mydisk
步骤 4:验证挂载
df -h /mnt/mydisk
现在你就可以进入这个 50G 的磁盘了:
cd /mnt/mydisk
步骤 5:设置开机自动挂载(可选)
echo '/dev/sdb1 /mnt/mydisk ext4 defaults 0 0' | sudo tee -a /etc/fstab
总结:这个磁盘是全新的,需要先分区格式化才能使用。按照上面的步骤操作后,你就能正常访问这个 50G 的空间了。
上传文件
就用在服务器之间传文件就好了。由于disk是 beyond VM lifetime的,因此只要账户有钱就不担心disk内容会因为VM被删除而消失。
scp
修改docker 镜像的安装路径
docker的配置文件一般在:“ /etc/docker/daemon.json
用文本编辑器打开这个文件,在其中加上你的挂载的disk上希望安装docker的位置:
sudo vim /etc/docker/daemon.json
{ "data-root": "/mnt/disk/docker", # DISK上docker镜像安装博
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
}
}
~
然后重启。docker服务
sudo systemctl restart docker




