UEFIおよびRAID1 + LVMを使用したUbuntuサーバーのインストール方法


15

以前は、ソフトウェアRAID1を介してLVMでサーバーをインストールし、両方のドライブのMBRにgrubをインストールしました。現在、UEFIサーバーを使用していますが、互換性(BIOS)モードが機能していないようです。

そこで、UEFIを使用してインストールする方法を試しました。

最初のテストでは、単一ドライブのインストールが正常に機能します。

次に、RAID1 + LVMでインストールしようとしました。2つのドライブを同じように分割しました。

  • EFIシステムパーティション、200MB
  • 物理RAIDパーティション

次に、セットアップを行いました。-両方のディスクRAIDパーティションを使用するRAID 1-RAID 1アレイ上のLVMボリュームグループ-3つの論理ボリューム:/、/ homeおよびswap

インストールは続行されましたが、再起動すると、grubシェルが表示されて行き詰まりました。

だから、RAID1上のLVMでgrub2-efiを動作させることは可能ですか?これを達成する方法は何ですか?他のブートローダーの代替手段はありますか(EFIからの直接Linuxロード??)?等...

回答:


11

OK、解決策を見つけて、自分の質問に答えることができます。

1)UEFIマシンでRAID1上のLVMを使用できますか?

はい、間違いなく。また、2つのディスクのいずれかに障害が発生した場合でも起動できます。

2)これを行う方法

これはインストーラーのバグと思われるため、インストーラーを使用しただけではブートに失敗します(grubシェル)。

作業手順は次のとおりです。

1)2つのディスクのそれぞれに次のパーティションを手動で作成します。-タイプUEFIの512MBパーティション-ディスクの始まり-タイプRAIDのパーティション

2)2つのRAIDパーティションでRAID 1アレイを作成し、そのアレイと論理ボリュームでLVMボリュームグループを作成します(ルート用、ホーム用、スワップ用に作成しました)。

3)インストールを続行し、再起動します。失敗!grubシェルを取得する必要があります。

4)grubシェルから起動することは可能かもしれませんが、レスキューusbディスクから起動することにしました。レスキューモードでは、ターゲットルートfs(ルートlvm論理ボリューム上のシェル)でシェルを開きました。

5) 'blkid'でこのターゲットルートパーティションのUUIDを取得します。書き留めるか、携帯電話で写真を撮ります。次のステップで必要になります。

6)EFIシステムパーティションをマウントし(「mount /boot/efi」)、grub.cfgファイルを編集します。vi /boot/efi/EFI/ubuntu/grub.cfgここで、誤ったUUIDをポイントで取得したものと置き換えます5.保存します。

7)2番目のディスクから起動できるようにするには、EFIパーティションをこの2番目のディスクにコピーします:dd if = / dev / sda1 of = / dev / sdb1(構成に合わせてsdaまたはsdbを変更します)。

8)再起動します。UEFI設定画面で、2つのEFIパーティションを起動可能に設定し、起動順序を設定します。

できました。いずれかのディスクをテストし、プラグを抜くと、動作するはずです!


詳細な手順をありがとう。ブート情報を教えていただけますか?(help.ubuntu.com/community/Boot-Info
LovinBuntu

@LovinBuntuこれは、USBキーから開始されたBoot-Infoの出力です。paste.ubuntu.com
alci

失敗しましたが、grubシェルを取得できませんでした。
ピーターローリー14

4
主に愚かであるため、同様の手順を実行しようとして数日を無駄にしたが、これが誰かが同じ問題を回避するのに役立つ場合に備えて、必ず起動する必要があることを言及するレガシーBIOSではなくUEFIを使用したライブUSB。(「自動」設定のMBはレガシーモードで起動することを推奨しました。インストールを機能させるには、オフにするか、手動でEFIオプションを起動する必要がありました。)
Jonathan Y.

1
Ubuntu 16.04.1を使用すれば、これはもはや問題に思えません。RAID1に512MB EFIパーティション、SWAP、および490GB RAIDパーティションを設定し、新しいmdデバイスにUbuntu 16.04サーバーを問題なく完全にインストールしました。再起動した後、それがfstabファイルなど新しいシステム完璧、EFIパーティションと混乱する必要はありませんが、開始
nerdoc

4

私は1年以上前に自分でこれを行いましたが、問題はありましたが、ここに挙げた問題はありませんでした。当時のアドバイスをどこで見つけたかわからないので、ここでやったことを投稿します。

1)開始時に128MBのefiパーティションを作成します(そのうちの1つだけが/ boot / efiにマウントされます)

2)1 GB / boot RAID1アレイを作成し、LVMはなし

3)LVMを使用して大規模なRAID1アレイを作成する

/ bootを別のパーティション/ RAID1アレイに配置すると、efiパーティションが適切なものを見つけることができないという問題を解決できます。

そして、私が当時よりも詳細を探している人たちにとって、これはより正確に、私がどのようにセットアップを行ったかです。

6x 3TB Drives

Have 4 RAID arrays:
/dev/md0 = 1GB RAID1 across 3 drives
   --> /boot (no LVM)
/dev/md1 = 500GB RAID1 across 3 drives
   LVM:
      --> /     =  40GB
      --> /var  = 100GB
      --> /home = 335GB
      --> /tmp  =  10GB

/dev/md2 = 500GB RAID1 across 3 drives (for VM's/linux containers)
   LVM:
      --> /lxc/container1 =  50GB
      --> /lxc/container2 =  50GB
      --> /lxc/container3 =  50GB
      --> /lxc/container4 =  50GB
      --> /lxc/extra      = 300GB (for more LXC's later)

/dev/md3 = 10TB RAID6 across 6 drives (for media and such)
   --> /mnt/raid6 (no LVM)


Disks are setup thus:

/sda => /boot/efi (128 MB) | /dev/md0 (1 GB) | /dev/md1 (500GB) | /dev/md3 (2.5TB)
/sdb => /boot/efi (128 MB) | /dev/md0 (1 GB) | /dev/md1 (500GB) | /dev/md3 (2.5TB)
/sdc => /boot/efi (128 MB) | /dev/md0 (1 GB) | /dev/md1 (500GB) | /dev/md3 (2.5TB)
/sdd => ----- left empty for simplicity ---- | /dev/md2 (500GB) | /dev/md3 (2.5TB)
/sde => ----- left empty for simplicity ---- | /dev/md2 (500GB) | /dev/md3 (2.5TB)
/sdf => ----- left empty for simplicity ---- | /dev/md2 (500GB) | /dev/md3 (2.5TB)

/ boot / efiの1つだけが実際にマウントされ、2番目の2つはクローンであることに注意してください。これは、RAID1の3つのディスクのいずれかが失われたときにマシンを起動できるようにしたかったためです。まだ完全な冗長性があれば、劣化モードで実行してもかまいません。これにより、マシンが稼働している間にドライブを交換する時間ができます。

また、LXCコンテナと基本的にすべてのデータベースなどを配置するための2番目のRAID1アレイがなかった場合、/ varはもっと大きくなければなりませんでした。ただし、各LXCを独自の論理ボリュームとして持つことは、たとえば、制御不能なエラーログのために1つのVM / Webサイトが他のVM / Webサイトを混乱させないようにする優れたソリューションでした...

最後に、12.04.01のUbuntu代替インストールUSB(12.04.02がリリースされる前)からインストールしましたが、すべてがうまく機能しました。頭を72時間叩いた後。

それが誰かを助けることを願っています!


1
grub2は、/ bootパーティションなしでmdでlvmを直接ブートすることをうまく処理し、少なくとも数年はそれを行います。
psusi

@psusi私はあなたが正しかったことを望みます、私の新しいインストールは2番目のディスクからは起動しません。jhaagsmaのセットアップとは異なり、すべてのLVM。
sjas

2

2つのディスクとソフトウェアRAIDを備えた同じprom、efiブートがありました

/ dev / sda

  • / dev / sda1-200MB efiパーティション
  • / dev / sda2-RAIDの物理20G
  • / dev / sda3-RAIDの物理980G

/ dev / sdb

  • / dev / sdb1-200MB efiパーティション
  • / dev / sdb2-RAIDの20G物理
  • / dev / sdb3-980G物理RAID

/ dev / md0(sda2&sdb2)のスワップ/ dev / md1(sda3&sdb3)のルート

grub-rescueシェルに入る場合は、次を使用して起動します。

set root=(md/1)
linux /boot/vmlinuz-3.8.0-29-generic root=/dev/md1
initrd /boot/initrd.img-3.8.0-29-generic
boot

その後、このパッチファイルをダウンロードします-https://launchpadlibrarian.net/151342031/grub-install.diffhttps://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1229738で説明されています

cp /usr/sbi/grub-install /usr/sbi/grub-install.backup
patch /usr/sbin/grub-install patch
mount /dev/sda1 /boot/efi
grub-install /dev/sda1
umount /dev/sda1
mount /dev/sdb1 /boot/efi
grub-install /dev/sdb1
reboot
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.