AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1098360
Accepted
Rolo787
Rolo787
Asked: 2022-04-12 09:04:14 +0800 CST2022-04-12 09:04:14 +0800 CST 2022-04-12 09:04:14 +0800 CST

减少 Amazon Linux 1 上的 Amazon EBS 根卷大小

  • 772

我一直在尝试使用本文档中的过程来减小我的 Amazon Linux 1 AMI 根卷的大小(在失败后进行了一些修改),并且在该步骤中不断遇到错误:

$ sudo grub-install --root-directory=/mnt/new-volume/ --force /dev/xvdf

这是旧版 GRUB(版本0.97-94.32.amzn1)

起初我收到以下错误:

Unrecognized option `--force'

结果删除了--force标志并使用了:

$ sudo grub-install --root-directory=/mnt/new-volume/ /dev/xvdf

此后导致:

/dev/xvdf does not have any corresponding BIOS drive

我尝试按照该线程中提到的说明使用 parted 或 fdisk 创建 BIOS 引导分区,但每种方法都导致了同样的失败。请注意,我使用的特定实例类型 (r5.large) 将驱动器重命名为相应的“nvme*”名称,如 lsblk 输出中所述:

nvme0n1       259:3    0  200G  0 disk
├─nvme0n1p1   259:4    0  200G  0 part /
└─nvme0n1p128 259:5    0    1M  0 part
nvme1n1       259:0    0   40G  0 disk
├─nvme1n1p2   259:2    0   40G  0 part /mnt/new-volume
└─nvme1n1p1   259:1    0    1M  0 part

在这篇Linux Questions 帖子中找到了一篇与错误消息相关的文章,但这并没有证明可以解决我的问题。我尝试通过 chroot-ing 进入分区并遇到同样的问题,并尝试使用中间 Amazon Linux 1 或 Amazon Linux 2 主机,但继续遇到问题。

我确实注意到在 Amazon Linux 1 中单独使用根卷时也会出现同样的问题:

grub-install /dev/sda OR grub-install /dev/sda1

但无论如何,除非它被列为辅助驱动器,否则新磁盘无法启动。grub单独使用Legacy GRUB 手册中的命令进行安装也失败了。我是否正在寻找错误的程序来创建一个新的较小的根卷,或者我在上述步骤中遗漏了什么?可以根据需要提供进一步的细节。

linux grub amazon-web-services amazon-linux amazon-ami
  • 3 3 个回答
  • 146 Views

3 个回答

  • Voted
  1. os11k
    2022-07-22T05:36:35+08:002022-07-22T05:36:35+08:00

    遵循相同的手册,我认为使它起作用:

    在 Ubuntu 20 中/boot/grub/grub.cfg有错误的 uuid,所以我需要在这里修复:/etc/default/grub.d/40-force-partuuid.cfg然后重新生成新/boot/grub/grub.cfg的grub-mkconfig -o ...

    此外,我对新的 EBS、卷进行了分区,您似乎也做了什么:

    Device          Start       End   Sectors  Size Type
    /dev/nvme0n1p1   2048    411647    409600  200M BIOS boot
    /dev/nvme0n1p2 411648 104857566 104445919 49.8G Linux filesystem
    

    不过,不确定是否有必要。

    • 1
  2. Tewfik Ghariani
    2022-04-13T02:57:54+08:002022-04-13T02:57:54+08:00

    您必须指定正确的块设备,因为您使用的是nvme设备而不是xvdf

    sudo grub-install --root-directory=/mnt/new-volume/ --force /dev/nvme1n1
    
    • 0
  3. Best Answer
    Rolo787
    2022-04-13T10:32:46+08:002022-04-13T10:32:46+08:00

    在此期间,我通过执行以下操作找到了适用于 Amazon Linux 1 的解决方法,但仍愿意接受进一步检查。

    1. 使用相同的 AMI 启动新实例,但将根卷大小更改为所需数量。

    2. 停止新实例,分离较小的 EBS 卷,并将其附加到附加较大根卷的当前实例(处于停止状态)。

    3. 启动当前实例(现在将较小的 EBS 卷附加为辅助驱动器)。

    4. 使用以下内容复制根卷的内容(假设它已安装到/mnt/new-volume:

      $ rsync -axv / /mnt/new-volume

    5. 停止当前实例,分离两个卷。

    6. 将较小的新根卷附加到实例。

    7. 启动实例

    它不是一种优雅的解决方法,但足够了,因为不清楚原始根卷是如何创建和引导的。

    • 0

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve