UEFI 및 RAID1 + LVM으로 Ubuntu 서버를 설치하는 방법


15

소프트웨어 RAID1을 통해 LVM으로 서버를 설치하고 두 드라이브의 MBR에 grub을 설치했습니다. 이제 UEFI 서버가 있는데 호환성 (BIOS) 모드가 작동하지 않는 것 같습니다.

그래서 UEFI로 설치하는 길을갔습니다.

첫째, 단일 드라이브 설치가 정상적으로 작동합니다.

그런 다음 RAID1 + LVM으로 설치를 시도했습니다. 두 드라이브를 같은 방식으로 분할했습니다.

  • 200MB의 EFI 시스템 파티션
  • 물리적 RAID 파티션

그런 다음 설정을 완료했습니다.-두 디스크를 모두 사용하는 RAID 1 RAID 파티션-RAID 1 어레이의 LVM 볼륨 그룹-3 개의 논리 볼륨 : /, / home 및 swap

설치가 계속되었지만 재부팅시 grub 쉘이 표시되어 붙어 있습니다.

따라서 RAID1보다 LVM에서 grub2-efi 작업을 수행 할 수 있습니까? 이것을 달성하는 방법은 무엇입니까? 다른 부트 로더 대안이 있습니까 (EFI에서 직접 리눅스 로딩 ??)? 기타...

답변:


11

좋아, 나는 해결책을 찾았고 내 자신의 질문에 대답 할 수 있습니다.

1) UEFI 머신에서 RAID1을 통한 LVM을 사용할 수 있습니까?

물론 이죠 그리고 두 디스크 중 하나에 오류가 발생하더라도 부팅 할 수 있습니다.

2) 이것을하는 방법?

설치 프로그램 의 버그 인 것 같습니다 . 설치 프로그램을 사용하면 부팅에 실패합니다 (grub shell).

작업 절차는 다음과 같습니다.

1) 두 디스크 각각에 다음 파티션을 수동으로 작성하십시오.-UEFI 유형의 512MB 파티션과 디스크의 시작 부분-그 이후의 RAID 유형 파티션

2) 두 개의 RAID 파티션으로 RAID 1 어레이를 생성 한 다음 해당 어레이로 LVM 볼륨 그룹과 논리 볼륨을 생성합니다 (루트 용, 홈용 및 스왑 용으로 각각 하나씩).

3) 설치를 계속하고 재부팅하십시오. 실패! 그럽 껍질을 가져와야합니다.

4) grub 쉘에서 부팅하는 것이 가능할 수도 있지만 복구 usb 디스크에서 부팅하기로 선택했습니다. 복구 모드에서 대상 루트 fs (루트 lvm 논리 볼륨의 쉘)에서 쉘을 열었습니다.

5)이 대상 루트 파티션의 UUID를 'blkid'로 가져옵니다. 메모하거나 휴대 전화로 사진을 찍으면 다음 단계가 필요합니다.

6) EFI 시스템 파티션 ( 'mount / boot / efi')을 마운트하고 grub.cfg 파일을 편집하십시오. vi /boot/efi/EFI/ubuntu/grub.cfg 여기서 잘못된 UUID를 사용자가 지정한 UUID로 바꾸십시오. 5. 저장하십시오.

7) 두 번째 디스크로 부팅하려면 EFI 파티션을이 두 번째 디스크로 복사하십시오.

8) 재부팅하십시오. UEFI 설정 화면에서 두 개의 EFI 파티션을 부팅 가능으로 설정하고 부팅 순서를 설정하십시오.

끝났습니다. 디스크 중 하나 또는 다른 디스크를 테스트하고 분리 할 수 ​​있습니다.


자세한 절차에 감사드립니다. Boot-Info를 알려주시겠습니까? ( help.ubuntu.com/community/Boot-Info )
LovinBuntu

@LovinBuntu 다음은 USB 키에서 시작한 Boot-Info의 출력입니다. paste.ubuntu.com/6223137
alci

실패했지만 grub shell을 얻을 수 없습니다.
Peter Lawrey

4
나는 주로 바보 같은 이유로 비슷한 절차를 따르려고 며칠을 낭비했지만 다른 사람이 같은 문제를 피하는 데 도움이 될 수있는 경우를 대비하여 부팅 해야합니다 . 레거시 BIOS 대신 UEFI를 사용하는 라이브 USB . (내 MB는 '자동'설정에서 레거시 모드로 부팅하는 것을 선호했습니다. 설치가 작동하려면이 기능을 끄거나 EFI 옵션을 수동으로 부팅해야했습니다.)
Jonathan Y.

1
우분투 16.04.1을 사용하면 더 이상 문제가되지 않습니다. RAID1 용 512MB EFI 파티션, SWAP 및 490GB RAID 파티션을 설정했으며 새 md 장치에 문제없이 Ubuntu 16.04 서버를 완전히 설치했습니다. 재부팅 후 새 시스템이 완벽하게 시작되었으며 EFI 파티션, fstab 등을
망칠

4

나는 1 년 전에 조금씩이 작업을 수행했으며, 문제가 있었지만 여기에 나열된 문제는 없었습니다. 당시에 내가 한 조언을 어디에서 찾았는지 잘 모르겠으므로 여기에 내가 한 일을 게시 할 것입니다.

1) 시작할 때 128MB efi 파티션을 만듭니다 (/ boot / efi에 마운트 할 파티션 중 하나만)

2) 1GB / 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 중 하나만 실제로 마운트되며 두 번째는 클론입니다. RAID1에서 3 개의 디스크 중 하나를 잃어 버렸을 때 여전히 머신을 부팅 할 수 있기를 원했기 때문에이 작업을 수행했습니다. 여전히 전체 중복성이 있으면 성능이 저하 된 모드에서 실행하는 것을 신경 쓰지 않으므로 시스템이 여전히 작동하는 동안 드라이브를 교체 할 시간이 생깁니다.

또한 LXC 컨테이너와 기본적으로 모든 데이터베이스 등을 넣을 수있는 두 번째 RAID1 배열이 없으면 / var이 훨씬 커야합니다. 그러나 각 LXC를 자체 논리 볼륨으로 사용하는 것은 제어 불가능한 오류 로그로 인해 하나의 VM / 웹 사이트가 다른 VM / 웹 사이트를 방해하지 않도록하는 훌륭한 솔루션이었습니다.

마지막으로, 12.04.01 (12.04.02 이전)이 설치된 Ubuntu Alternate Install USB에서 설치했으며 모든 것이 잘 작동했습니다. 72 시간 동안 내 머리를 두드렸다.

누군가를 돕는 희망!


1
grub2는 / boot 파티션없이 md에서 직접 lvm 부팅을 처리하며 최소한 몇 년 동안 있습니다.
psusi

@psusi 나는 당신이 옳았 으면 좋겠다. 내 새로운 설치는 두 번째 디스크에서 스스로 부팅되지 않을 것이다. jhaagsma의 설정과 달리 모든 LVM.
sjas

2

나는 두 개의 디스크와 소프트웨어 RAID로 동일한 프로브, efi 부팅을 가졌습니다.

/ dev / sda

  • / dev / sda1-200MB efi 파티션
  • / dev / sda2-공격용 20G 물리적
  • / dev / sda3-공격용 980G 물리

/ dev / sdb

  • / dev / sdb1-200MB efi 파티션
  • / dev / sdb2-공격용 20G 물리적
  • / dev / sdb3-공격용 980G 물리

/ 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.diff 패치 파일을 다운로드 하십시오 ( https://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.