第三步:如果我们只是创建新卷,我们需要对其进行文件系统格式化。运行命令:sudo mkfs -t ext4 device_name,其中device_name=/dev/加上第二步中获得的设备名称。例如:/dev/xvdh 第四步:创建目录,安装卷:sudo mkdir mount_point 第五步:最后,安装卷sudo mount device_name mount_point,至此所有你放置于mount_point目录的东西都会被储存于附着卷上。这就意味着,你可以终止竞价实例,之后重启一个新的,按照上面的方法把这个卷附着并安装上去,直播,继续中断的工作。你可能还会需要用aws cli和crontab自动附着和安装卷。 这个办法我用了一段时间,发现了一个很大的缺陷—如果你把实例终止,所有永久卷之外的数据都会丢失。你可以尝试对附着卷应用移动你的用户目录的方法,我试过但是不行,而下面的方法能够圆满解决这个问题。 3.竞价实例的永久性:方法2-切换根卷 很快地,我就厌烦于每次启动竞价实例的安装工作,因此我尝试寻找更好的方法。用这个方法,我终于成功地使竞价实例获得了按需实例能够媲美的表现。通过启动后迅速反转根卷(操作系统工作卷)到另一个卷,这个方法得以实现。我花了好大的力气才实验成功,所以希望能够帮到别人。用这个脚本处理一个新的实例,或者已有的实例。 第0步: 确认你已经装载jq 确认你下载了帮助脚本,如果没有,请运行git clone --depth=1 https://github.com/slavivanov/ec2-spotter.git 3.1 用一个新的实例 第一步:启动一个竞价实例(参考上述“用竞价实例来运行机器学习程序) 第二步:运行sh ec2-spotter/fast_ai/config_from_instance.sh 它将创建一个配置文件,用于从一个既有的实例或者是按需实例来启动一个竞价实例,名称为fast-ai-gpu-machine(下一步会用到)如果不想用名称来寻找实例,你或许可以可以用脚本来实现:config_from_instance.sh --instance_id i-0fd47cabf6ce1d534 注意:这个脚本会终止第一步的脚本。如果你另外有一个实例以fast-ai-gpu-machine启动,这个脚本或许会终止实例,所以,运行脚本之前,请先对其进行改名。sh ec2-spotter/fast_ai/config_from_instance.sh 第三步:每次需要P2竞价实例的时候,只要运行sh fast_ai/start_spot.sh. 这样就会启动一个新的竞价实例,在boot的时候,其根卷就会切换到第一步创建的实例上去。这个过程会持续2-5分钟。之后你就能够中断实例,再重启(用start_spot.sh),任何对文件系统的更改都将得以保存。 3.2 用一个已有的实例 第一步:停止已有实例,从根卷上分离(detach) 第二步:将分离下来的卷,取一个新的名字 第三步:为example.conf创建一个拷贝,命名为my.confcp ec2-spotter/example.conf ec2-spotter/my.conf 第四步:更改my.conf中的设置,尤其是: ec2spotter_volume_name : the name you gave the volume in step 2.用第二步中为卷取的名称。 ec2spotter_launch_zone : the availability zone where you want to launch your instance.你想要启动实例的区域 ec2spotter_subnet : ID of the subnet to use.准备使用的子网ID ec2spotter_security_group : ID of the security group to attach to the instance.准备附着的安全组ID (责任编辑:本港台直播) |