Linux
減少 Amazon Linux 1 上的 Amazon EBS 根卷大小
我一直在嘗試使用本文件中的過程(在失敗後進行了一些修改)來減小我的 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 手冊中的命令進行安裝也失敗了。我是否正在尋找錯誤的程序來創建一個新的較小的根卷,或者我在上述步驟中遺漏了什麼?可以根據需要提供進一步的細節。
在此期間,我通過執行以下操作找到了適用於 Amazon Linux 1 的解決方法,但仍願意接受進一步檢查。
- 使用相同的 AMI 啟動新實例,但將根卷大小更改為所需數量。
- 停止新實例,分離較小的 EBS 卷,並將其附加到附加較大根卷的目前實例(處於停止狀態)。
- 啟動目前實例(現在將較小的 EBS 卷附加為輔助驅動器)。
- 使用以下內容複製根卷的內容(假設它已安裝到
/mnt/new-volume
:$ rsync -axv / /mnt/new-volume 5. 停止目前實例,分離兩個卷。 6. 將較小的新根卷附加到實例。 7. 啟動實例
它不是一種優雅的解決方法,但足夠了,因為不清楚原始根卷是如何創建和引導的。
您必須指定正確的塊設備,因為您使用的是nvme設備而不是xvdf
sudo grub-install --root-directory=/mnt/new-volume/ --force /dev/nvme1n1