ソフトウェアRAID 1に2つの500GBドライブ(sda
およびsdb
)を備えたUbuntu 14.04 x64サーバーがあります。
sdb
を置き換える必要がありました。 mdadmを使用してアレイに追加し、再同期するのは簡単でした。私が直面している問題は、sda
が将来失敗した場合に起動できるようにすることです。
注:以下のすべてのコマンドはrootとして実行されました
私が見つけたほとんどのチュートリアルでは、実行するように言われました:
grub-install /dev/sda /dev/sdb
これは、Ubuntuインストーラーが100回実行されたのとまったく同じコマンドです。しかし、私がそれを実行したとき、私は得た:
grub-install: error: More than one install device?.
これは私のために常に働いています。 14.04で何か変わったのでしょうか?
いくつかのチュートリアルでは、新しいハードドライブの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]
言うまでもなく、私はノーと答えた。
絶望的になって、私はかなり間違っていると確信した何かを試しました。 公式サーバー ガイドの推奨事項(「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
が起動するかどうかはわかりません。大丈夫?
答えを見つけました。 GRUBが適切にインストールされ、それぞれから両方のドライブを認識することを確認する方法は、実行することです:
Sudo dpkg-reconfigure grub-pc
インストールするドライブのプロンプトが表示されたら、すべてのブートドライブが選択されていることを確認します。私の場合、これは/dev/sda
と/dev/sdb
でした。 /dev/md0
またはその他のmd
デバイスを選択しないでください。
価値があるもの:劣化したRAIDアレイを組み立てるのに十分な時間を許可するために、ブートスクリプトに遅延スクリプトを追加する必要がありました。それ以外の場合、2台の動作中のドライブで起動するとすべて正常に機能しましたが、冗長性をテストするために1台のドライブを切断するとすぐにbusyboxになりました(適切なキーボードなし)。詳細については、 EFI/GPTシステムにデュアルブートRAID 1パーティションでUbuntu 14.04 64ビットをインストールする方法? (/ usr/share/initramfsに関する部分)のステップ6の終わりを参照してください。 -tools/scripts/local-premount/sleepAwhile)。