无法迁移已停止的AWS SageMaker Amazon Linux 1实例至Amazon Linux 2
解决停止状态AL1 SageMaker Notebook迁移至AL2的方案
核心思路:通过关联EBS卷恢复数据
停止状态的AL1实例无法启动,但它的根EBS卷仍保留着所有数据,我们可以通过将该卷挂载到临时EC2实例提取数据,再迁移到新的AL2 SageMaker Notebook。
步骤1:定位AL1 Notebook的EBS卷
- 打开AWS控制台进入SageMaker服务,找到目标停止状态的Notebook实例
- 点击实例名称,在配置详情的存储部分,记录根卷的EBS卷ID(格式如
vol-xxxxxx)
步骤2:创建临时AL2 EC2实例
- 进入EC2控制台,启动一台Amazon Linux 2系统的EC2实例(实例类型建议和原Notebook匹配,比如
t2.medium) - 启动向导中保持默认存储配置,后续手动挂载AL1的EBS卷
步骤3:挂载AL1的EBS卷到临时EC2
- 在EC2控制台的卷页面找到目标EBS卷,右键选择附加卷,指定临时EC2实例,挂载点设为
/dev/sdf - 连接到临时EC2实例,执行命令挂载卷:
sudo mkdir /mnt/al1-notebook sudo mount /dev/xvdf /mnt/al1-notebook若挂载失败,先执行
sudo file -s /dev/xvdf确认文件系统类型,再用对应命令挂载
步骤4:提取Notebook数据
- 原Notebook的代码和数据通常存放在
/mnt/al1-notebook/home/ec2-user/SageMaker/目录 - 将该目录打包备份:
sudo tar -czf al1-notebook-data.tar.gz /mnt/al1-notebook/home/ec2-user/SageMaker/ - 可通过S3上传或本地下载保存包文件
步骤5:创建AL2 SageMaker Notebook实例
- 回到SageMaker控制台,创建新实例并选择Amazon Linux 2类型镜像(如
notebook-al2-v1) - 配置实例类型、存储等参数,匹配原实例需求
步骤6:恢复数据到AL2 Notebook
- 启动新的AL2 Notebook,打开JupyterLab/Jupyter Notebook
- 恢复数据:
- 若包文件在S3,执行
aws s3 cp s3://your-bucket/al1-notebook-data.tar.gz ./下载后解压:tar -xzf al1-notebook-data.tar.gz - 或直接从本地上传文件到Notebook的SageMaker目录
- 若包文件在S3,执行
步骤7:清理临时资源
- 数据恢复完成后,卸载临时EC2上的AL1卷:
sudo umount /mnt/al1-notebook - 回到EC2控制台分离该EBS卷,终止临时EC2实例以避免不必要费用
额外注意事项
- IAM权限:操作需具备SageMaker、EC2、S3的对应权限,生产环境建议配置最小权限
- 依赖恢复:原Notebook的Python依赖可从原卷的
/mnt/al1-notebook/home/ec2-user/.conda/envs/目录提取环境配置,或重新安装依赖包
内容的提问来源于stack exchange,提问作者NAGALAXMI SOMAYAJI
相关产品推荐
相关产品推荐

