我有兩台伺服器 - 酪梨醬和香腸,需要使用 Openstack 雲端進行設定。我在其中一台上安裝了 ubuntu 伺服器,然後使用 linux「dd」對磁碟進行映像來建立另一台,並重新命名了伺服器主機名稱。從那時起我已經重新啟動了幾次,沒有問題。兩個磁碟機上的檔案系統都是 LVM。
最近我必須交換兩台伺服器的主機名稱。我將香腸重命名為酪梨醬,反之亦然。新的酪梨醬效果很好,我認為新的香腸也很好用。我已經重新啟動了兩台伺服器幾次,沒有出現任何問題。
最近,在 chorizo 上安裝了 Openstack 控制器網路(neutron)並重新啟動了伺服器。它停在 initramfs 提示處
Gave up waiting for root device. Common problesm:
- Boot args (cat /proc/cmdline)
- Check root delay
- Check root = (did system wait for right device)
- missing modules (cat proc/modules; ls/dev)
ALERT! /dev/mapper/guacamole--vg-root does not exist. Dropping to a shell.
檔案 /proc/cmdline 有
BOOT_IMAGE=/... root=/dev/mapper/guacamole--vg-root ro
但 /dev/mapper 包含文件
/dev/mapper/chorizo--vg-root
/dev/mapper/chorizo--vg-swap_1 (or something)
我嘗試在 /root 下掛載根檔案系統:
掛載 /path/to/root/dev /root
退出 initramfs shell:
出口
這沒有啟動檔案系統
我嘗試編輯 /proc/cmdline 以放置正確的 BOOT_IMAGE (即香腸而不是酪梨醬),但 initramfs 沒有編輯器。所以我用過
initramfs> sed -i 's/guacamole/chorizo/g' /proc/cmdline
但檔案系統是唯讀的。所以我將香腸的磁碟插入酪梨醬並進一步啟動。我可以以某種單一使用者模式啟動,這將允許我輸入 root 密碼並以 root 身分登入。
我嘗試使用 vim 從那裡編輯 /proc/cmdline 文件,但整個文件系統是唯讀的。
我從酪梨醬的原始磁碟啟動,將Chorizo的磁碟插入另一個熱插拔端口,這樣我就可以安裝兩個磁碟從那裡我可以
root@guacamole:~# sudo lshw -C disk
*-disk:1
description: SCSI Disk
physical id: 0.1.0
bus info: scsi@0:0.1.0
logical name: /dev/sdb
size: 1863GiB (2TB)
capabilities: partitioned partitioned:dos
configuration: sectorsize=512 signature=000cfebc
我做了一個
lvm vgchange-ay
並安裝磁碟
安裝 ext3 /dev/whatever /chorizo
不工作。我按照說明進行安裝 http://www.linuxwave.info/2007/11/mounting-lvm-disk-using-ubuntu-livecd.html 酪梨醬不會掛載該磁碟,因為它認為它是已掛載磁碟的副本。
我記得以前在 OSX 上也發生過類似的事情。也就是說,更改主機名稱會填滿 grub 引導程式。我嘗試從 Ubuntu 安裝盤啟動並重新安裝 grub 引導程序,但在救援選單系統中我找不到此選項。
任何的建議都受歡迎。