web-dev-qa-db-ja.com

14.04-ソフトウェアRAID 1のドライブを交換しました-起動可能にする方法

ソフトウェアRAID 1に2つの500GBドライブ(sdaおよびsdb)を備えたUbuntu 14.04 x64サーバーがあります。

sdbを置き換える必要がありました。 mdadmを使用してアレイに追加し、再同期するのは簡単でした。私が直面している問題は、sdaが将来失敗した場合に起動できるようにすることです。

注:以下のすべてのコマンドはrootとして実行されました


1回目

私が見つけたほとんどのチュートリアルでは、実行するように言われました:

grub-install /dev/sda /dev/sdb

これは、Ubuntuインストーラーが100回実行されたのとまったく同じコマンドです。しかし、私がそれを実行したとき、私は得た:

grub-install: error: More than one install device?.

これは私のために常に働いています。 14.04で何か変わったのでしょうか?


2回目

いくつかのチュートリアルでは、新しいハードドライブのgrubを手動で設定することをお勧めしました。素朴なプロンプトは私を怖がらせますが、私はこれらの手順を試してみました:

# grub --device-map=/boot/grub/device.map
grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)
grub> quit

唯一の問題?最初のコマンドの後、次のようになります:

The program 'grub' is currently not installed. You can install it by typing:
apt-get install grub

???

そこで、grubをインストールしてみました。

# apt-get install grub
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  grub-legacy-doc
The following packages will be REMOVED:
  grub-gfxpayload-lists grub-pc grub2-common
The following NEW packages will be installed:
  grub
0 upgraded, 1 newly installed, 3 to remove and 0 not upgraded.
Need to get 913 kB of archives.
After this operation, 438 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

言うまでもなく、私はノーと答えた。


3回目

絶望的になって、私はかなり間違っていると確信した何かを試しました。 公式サーバー ガイドの推奨事項(「Raid Maintenance」セクションの下部):

grub-install /dev/md0

これは出力でした:

# grub-install /dev/md0
Installing for i386-pc platform.
grub-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
grub-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
grub-install: warning: File system `ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.

怖い。


Grubは14.04で何らかの形で置き換えられたように見えますが、どのように変化したかについての情報は見つかりません。 /boot/grub/ディレクトリがあるので、何らかの形式のgrubがインストールされていることがわかります。


更新:

次のコマンドを個別に実行できました。

grub-install /dev/sda
grub-install /dev/sdb

ただし、sdaにgrubをインストールした後にsdbが起動するかどうかはわかりません。大丈夫?

4
Andrew Ensley

答えを見つけました。 GRUBが適切にインストールされ、それぞれから両方のドライブを認識することを確認する方法は、実行することです:

Sudo dpkg-reconfigure grub-pc

インストールするドライブのプロンプトが表示されたら、すべてのブートドライブが選択されていることを確認します。私の場合、これは/dev/sda/dev/sdbでした。 /dev/md0またはその他のmdデバイスを選択しないでください。

2
Andrew Ensley

価値があるもの:劣化したRAIDアレイを組み立てるのに十分な時間を許可するために、ブートスクリプトに遅延スクリプトを追加する必要がありました。それ以外の場合、2台の動作中のドライブで起動するとすべて正常に機能しましたが、冗長性をテストするために1台のドライブを切断するとすぐにbusyboxになりました(適切なキーボードなし)。詳細については、 EFI/GPTシステムにデュアルブートRAID 1パーティションでUbuntu 14.04 64ビットをインストールする方法? (/ usr/share/initramfsに関する部分)のステップ6の終わりを参照してください。 -tools/scripts/local-premount/sleepAwhile)。

0
Niclas Börlin