如何在不丢失数据的情况下将实例根EBS卷挂载到同区域Amazon Linux实例?
Amazon Linux根EBS卷跨实例挂载故障排查与解决
步骤1:确认EBS卷的正确设备路径
AWS Nitro架构实例会将附加的EBS卷识别为NVMe设备,设备名并非传统的/dev/xvdf,而是类似/dev/nvme1n1(实例自带根卷为nvme0n1,后续附加的卷依次编号)。执行以下命令查看所有块设备,通过容量匹配找到目标卷:
lsblk
步骤2:检查并修复文件系统(关键,避免数据丢失)
挂载失败常因文件系统损坏,先执行检查命令(必须确保设备未挂载):
fsck /dev/[你找到的正确设备名]
若提示需要修复,输入y确认,完成文件系统修复。
步骤3:确保挂载点目录正常
检查目标挂载目录是否存在,不存在则创建:
mkdir -p /home/ec2-user/storage
调整目录权限,避免挂载后无法访问:
chown ec2-user:ec2-user /home/ec2-user/storage
步骤4:执行挂载命令
使用正确的设备名执行挂载:
mount /dev/[正确设备名] /home/ec2-user/storage
如果原server1根卷采用LVM逻辑卷,需先激活卷组:
vgscan vgchange -ay
再挂载对应的逻辑卷(卷组名可通过vgs命令查看):
mount /dev/mapper/[卷组名]-root /home/ec2-user/storage
步骤5:验证挂载结果
执行以下命令确认挂载成功:
df -h
或直接查看挂载目录内容,能看到原server1根目录文件即说明挂载有效:
ls /home/ec2-user/storage
可选:设置开机自动挂载
若需server2重启后自动挂载该卷,编辑/etc/fstab文件添加配置(替换设备名和文件系统类型,比如原卷是xfs则改为xfs):
echo "/dev/[正确设备名] /home/ec2-user/storage ext4 defaults 0 0" >> /etc/fstab
执行mount -a测试配置,确保无错误避免开机挂载失败。
内容的提问来源于stack exchange,提问作者ASHWIN KRISHNA
相关产品推荐
相关产品推荐

