在将带有AWS Marketplace代码的CentOS根卷附加到其他CentOS EC2示例时,其他示例使用附加的根卷启动[关闭]

iszxjhcz  于 6个月前  发布在  其他
关注(0)|答案(5)|浏览(67)

**已关闭。**此问题为not about programming or software development。目前不接受回答。

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题相关,可以发表评论,说明在何处可以回答此问题。
22天前关闭。
Improve this question
我在ec2示例中搞砸了我的系统的根卷,所以我将示例的根卷附加到其他ec2示例,以便我可以访问坏的根卷并纠正我的错误。当我启动其他示例时,被拧紧的根卷成为示例的根卷。我将卷附加为/dev/sdb(内核将其更改为/dev/xvdf),而示例的原始根卷位于/dev/sda(内核将其更改为/dev/xvde)。因此,内核应该将/dev/xvde作为根文件系统加载,但其加载会占用根卷(/dev/xvdf)。
系统的系统日志片段如下:
dracut:正在启动Dracmouth守护进程
xlblk_init:register_blkdev major:202
blkfront:xvdf:已禁用屏障
xvdf:未知分区表
blkfront:xvde:已禁用屏障
xvde:未知分区表
EXT4-fs(xvdf):使用有序数据模式挂载文件系统。
dracut:挂载根文件系统/dev/xvdf

wribegjk

wribegjk1#


简单的方法是将Centos根卷附加到Amazon Linux机器并解决此问题。不要将Centos根卷附加到另一个运行Centos的ec2示例。AWS Marketplace中的Centos将“centos”作为根卷的标签。因此,当我们将Centos根卷附加到另一台Centos机器时,AWS会混淆要挂载的根卷,并发生异常。

jckbn6z7

jckbn6z72#

由于被拧紧的根卷和原始示例根卷具有相同的标签附加到卷分区(在我的情况下,我的操作系统是centos6.5,标签是centos_root),因此我们必须更改示例的标签,以便下次启动时它不会查找标签centos_root,而是查找更改后的标签。
首先,通过命令ex. e2 label/dev/xvde your_label更改根卷分区标签,其中/dev/xvde是根分区
第二步,用your_label更改“/etc/fstab and / Boot /grub/grub.conf”中的标签。
第三,停止示例
第四,将拧紧的根卷附加到示例
第五,启动示例
第六,瞧,现在你可以看到搞砸了根卷分区,并将其挂载到一些挂载点,以解决您的问题。

jmo0nnb3

jmo0nnb33#

从另一个ec2示例中分离“screwed up”卷
正常 Boot 引导其他示例
将EBS连接到正在运行的示例请参见http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html
以root身份执行fdisk -l,并查找新示例的设备名称
创建一个“挂载点”(一个目录)并在其上挂载所需的磁盘分区
修复后,在装入点上使用umount命令,然后断开卷的连接
如果AMI有市场代码,请尝试此答案中给出的步骤https://serverfault.com/questions/522173/aws-vol-xxxxxxx-with-marketplace-codes-may-not-be-attached-as-as-secondary-dev

xtupzzrd

xtupzzrd4#

PSA:不要在AWS中使用CentOS。
您不能再将CentOS示例的根卷附加到另一个示例。这是出于设计目的,以防止人们规避许可协议。尽管CentOS在技术上是免费的,因为它是一个市场AMI,但规则仍然适用。总的来说,这是一个很好的规则,但它使失败配置的恢复变得不可能。
使用Amazon Linux。它基本上是CentOS。

cgvd09ve

cgvd09ve5#

打开引导加载程序的表。
如果工作示例在作为数据卷(/dev/xvd[f-p])连接时坚持引导损坏的卷,那么您可以尝试的一个简单的方法是扭转局面,将一个工作根卷作为数据卷连接到损坏的示例。
使用从完好示例借用的根卷,该方法已成功恢复损坏的CentOS 7根卷。两个示例都是从同一个Marketplace AMI构建的,并且没有关于将Marketplace AMI作为数据卷附加的投诉。系统引导了完好卷,而不是损坏卷。(即使损坏的卷仍显示在其原始设备位置/dev/xvda1,而引导的卷位于/dev/xvdf1。)
如果在装入损坏的卷时出现wrong fs type, ...,请检查标签冲突:

# blkid
/dev/xvda1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="xfs"
/dev/xvdf1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="xfs"

字符串
您可以使用以下命令装载而不检查UUID:

mount -o nouuid /dev/xvda1 /some/where


YMMV.

相关问题