如何将一个实例的根EBS卷连接到另一个实例而不丢失数据?

问题描述 投票:0回答:1

我想将一个实例的根 EBS 卷挂载到同一区域中的另一个实例(两者都在 Amazon Linux 上运行)。 考虑同一区域中有两个实例,例如服务器 1 和服务器 2。我停止了服务器 1 并分离了根 EBS 卷,然后将该卷附加到服务器 2。然后我进入服务器 2 并尝试挂载附加的卷。但我无法附上该卷;它显示一个错误。

我用来安装卷的命令是

挂载 /dev/xvdf /home/ec2-user/storage

存储是我想要附加该卷的文件夹。

我想要的是将根EBS附加到其他服务器而不丢失数据

amazon-web-services amazon-ec2 amazon-elastic-beanstalk root mounted-volumes
1个回答
0
投票

您可以将您遇到的错误添加到您的问题中吗?

如果我要将根 EBS 卷从服务器 1 挂载到服务器 2 而不会丢失数据,我将按照以下步骤操作:

  1. 停止服务器1:

    aws ec2 stop-instances --instance-ids i-1234567890abcdef0
    
  2. 从服务器 1 分离根 EBS 卷:

    aws ec2 detach-volume --volume-id vol-1234567890abcdef0
    
  3. 将 EBS 卷附加到服务器 2:

    aws ec2 attach-volume --volume-id vol-1234567890abcdef0 --instance-id i-0987654321fedcba0 --device /dev/xvdf
    
  4. 识别服务器 2 上的附加卷: 登录到服务器 2 并列出块设备以确认附加的卷:

    lsblk
    
  5. 创建挂载点: 创建一个目录作为挂载点(如果尚不存在):

    mkdir -p /home/ec2-user/storage
    
  6. 安装卷: 将卷挂载到创建的目录:

    sudo mount /dev/xvdf1 /home/ec2-user/storage
    

    注意: 有时设备可能会显示为

    /dev/xvdf1
    而不是
    /dev/xvdf
    。使用
    lsblk
    验证确切的设备名称。

  7. 验证安装: 检查卷是否正确安装:

    df -h
    

确保设备名称正确(

/dev/xvdf
/dev/xvdf1
)。使用
lsblk
查找确切的设备名称。

如果无法识别文件系统,您可能需要运行文件系统检查:

sudo fsck /dev/xvdf1

按照这些步骤,您应该能够成功地将服务器 1 的根 EBS 卷挂载到服务器 2,而不会丢失任何数据。

© www.soinside.com 2019 - 2024. All rights reserved.