Apr
01
2021
卸载Linux实例的系统盘并挂载到其他ECS实例作为数据盘的方法
概述
当无法通过SSH或VNC登录A实例时,您可以卸载A实例的系统盘,然后挂载到B实例作为数据盘,在B实例中进行相应的操作。
注意:本文中A实例指需要卸载系统盘的异常ECS;B实例指其他可以正常远程连接的ECS实例。
详细信息
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
步骤一:创建快照
首先,您需要对A实例的系统盘做快照,提高容错能力,创建快照的前提条件和背景信息请参见创建普通快照。
步骤二:卸载A实例的系统盘
快照创建完成后,请停止A实例,然后参考以下步骤,卸载A实例的系统盘:
说明:
- 卸载系统盘的前提条件和背景信息请参见卸载或挂载系统盘。
- 卸载系统盘需要A实例处于已停止状态。
步骤三:挂载A实例的系统盘到B实例作为数据盘
卸载A实例的系统盘后,然后参考以下步骤,挂载A实例的系统盘到B实例作为数据盘:
说明:挂载数据盘的前提条件和背景信息请参见挂载数据盘。
- 在B实例的实例详情页面,单击左侧导航栏中的本实例云盘按钮。
- 通过SSH或VNC登录到B实例。
-
执行以下命令,将A实例的系统盘作为数据盘挂载到/mnt目录。
mount /dev/vdb1 /mnt
说明:
- /dev/vdb1为挂载后数据盘分区名称,请以实际环境为准。
- /mnt为挂载目录,请以实际环境为准。
-
执行以下命令,将根目录切换到/mnt目录。
chroot /mnt
注意:若执行chroot命令失败,通常是系统盘的Bash环境已经被破坏,建议提交工单。
步骤四:进行对应的操作
通过以上步骤,您可以在B实例对数据盘进行对应的操作,操作完成后,执行exit命令可以退出chroot的环境。
步骤五:恢复A实例的系统盘
若您在对应的操作完成后,需要恢复A实例的系统盘,可以参考本小节的内容操作。
卸载B实例数据盘
卸载数据盘的前提条件和背景信息请参见卸载数据盘。
- 通过SSH或VNC登录到B实例。
-
执行以下命令,确认文件系统没有挂载到系统上。如果数据盘已经挂载了文件系统,您可以执行umount /dev/vdb1命令卸载文件系统。
df -h
-
执行以下命令,确认不存在/dev/vdb1文件系统挂载的信息,如果存在该信息,必须删除这个挂载信息。否则重启实例后,您无法连接B实例。
cat /etc/fstab
- 登录ECS管理控制台,在左侧导航栏依次单击 。
- 在顶部菜单栏左上角处,选择对应的地域。
-
找到B实例,单击实例ID,或在操作列中单击管理,进入实例详情页。
-
在左侧导航栏,单击本实例云盘,找到需要卸载的云盘,在操作栏中依次单击更多>卸载。
说明:支持卸载的云盘必须具备以下属性:
- 云盘状态必须为使用中。
- 可卸载必须为支持。
- 云盘属性必须为数据盘。
- 在弹出的对话框中,单击确认卸载。
- 当云盘状态变为待挂载时,表明您已经成功卸载云盘。
挂载A实例的系统盘
本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>
我有话说: