Cách cài đặt máy chủ Ubuntu với UEFI và RAID1 + LVM


15

Tôi đã từng cài đặt máy chủ của mình với LVM qua phần mềm RAID1 và cài đặt grub trên MBR của cả hai ổ đĩa. Bây giờ tôi có máy chủ UEFI và chế độ tương thích (BIOS) dường như không hoạt động.

Vì vậy, tôi đã đi theo cách cài đặt với UEFI.

Thử nghiệm đầu tiên, cài đặt ổ đĩa đơn hoạt động tốt.

Sau đó, tôi đã cố gắng cài đặt với RAID1 + LVM. Tôi chia tay hai ổ đĩa của mình theo cùng một cách:

  • phân vùng hệ thống EFI, 200MB
  • phân vùng RAID vật lý

Sau đó, tôi đã thiết lập: - RAID 1 sử dụng cả hai đĩa Phân vùng RAID - nhóm âm lượng LVM trên mảng RAID 1 - ba khối hợp lý: /, / home và trao đổi

Quá trình cài đặt được tiếp tục, nhưng khi khởi động lại, tôi nhận được một vỏ grub và tôi bị kẹt.

Vì vậy, có thể có grub2-efi hoạt động trên LVM qua RAID1 không? Cách để đạt được điều này là gì? Có các lựa chọn thay thế bootloader khác (tải linux trực tiếp từ EFI ??) không? Vân vân...

Câu trả lời:


11

Ok, tôi tìm thấy giải pháp và có thể trả lời câu hỏi của riêng tôi.

1) tôi có thể sử dụng LVM qua RAID1 trên máy UEFI không?

Vâng chắc chắn. Và nó sẽ có thể khởi động ngay cả khi một trong hai đĩa bị lỗi.

2) Làm thế nào để làm điều này?

Dường như chúng là một lỗi trong trình cài đặt, vì vậy chỉ cần sử dụng trình cài đặt sẽ không khởi động được (shell grub).

Đây là một quy trình làm việc:

1) tạo thủ công các phân vùng sau trên mỗi hai đĩa: - phân vùng 512 MB với loại UEFI ở đầu đĩa - phân vùng loại RAID sau đó

2) tạo mảng RAID 1 của bạn với hai phân vùng RAID, sau đó tạo nhóm âm lượng LVM của bạn với mảng đó và khối lượng logic của bạn (Tôi đã tạo một cho root, một cho nhà và một để trao đổi).

3) để cài đặt tiếp tục và khởi động lại. SỰ THẤT BẠI ! Bạn sẽ nhận được một vỏ grub.

4) có thể khởi động từ vỏ grub, nhưng tôi đã chọn khởi động từ đĩa usb cứu hộ. Trong chế độ cứu hộ, tôi đã mở một shell trên fs gốc của mục tiêu (đó là cái trên khối lượng logic lvm gốc).

5) nhận UUID của phân vùng gốc mục tiêu này với 'blkid'. Lưu ý xuống hoặc chụp ảnh bằng điện thoại của bạn, bạn sẽ cần bước tiếp theo.

6) gắn phân vùng hệ thống EFI ('mount / boot / efi') và chỉnh sửa tệp grub.cfg: vi /boot/efi/EFI/ub Ubuntu / grub.cfg Tại đây, thay thế UUID bị lỗi bằng điểm bạn gặp phải 5. Lưu lại.

7) để có thể khởi động từ đĩa thứ hai, sao chép phân vùng EFI sang đĩa thứ hai này: dd if = / dev / sda1 of = / dev / sdb1 (thay đổi sda hoặc sdb với bất kỳ cấu hình nào phù hợp với cấu hình của bạn).

8) Khởi động lại. Trong màn hình cài đặt UEFI của bạn, đặt hai phân vùng EFI là khả năng khởi động và đặt thứ tự khởi động.

Bạn đã hoàn tất. Bạn có thể kiểm tra, rút ​​phích cắm của một hoặc các đĩa khác, nó sẽ hoạt động!


Cảm ơn các thủ tục chi tiết. Xin vui lòng cho biết thông tin khởi động của bạn? ( help.ubfox.com/community/Boot-Info )
LovinBfox

@LovinBfox Đây là đầu ra của Boot-Info, được bắt đầu từ khóa usb: paste.ubfox.com/6223137
alci

Tôi đã thất bại, nhưng không thể có được vỏ grub.
Peter Lawrey

4
Tôi đã lãng phí một vài ngày để cố gắng làm theo một quy trình tương tự, chủ yếu là vì tôi ngu ngốc, nhưng trong trường hợp điều này có thể giúp người khác tránh được vấn đề tương tự, tôi sẽ đề cập rằng bạn cần đảm bảo khởi động USB trực tiếp sử dụng UEFI chứ không phải BIOS kế thừa. (MB của tôi, trên cài đặt 'tự động', ưu tiên khởi động ở chế độ cũ. Tôi phải tắt nó - hoặc chọn thủ công để khởi động tùy chọn EFI - để cài đặt hoạt động.)
Jonathan Y.

1
Sử dụng Ubuntu 16.04.1, điều này dường như không còn là vấn đề nữa. Tôi đã thiết lập Phân vùng EFI 512 MB, SWAP và partiton RAID 49 GB cho RAID1 và trên thiết bị md mới tôi đã cài đặt hoàn toàn máy chủ Ubuntu 16.04 mà không gặp vấn đề gì. Sau khi khởi động lại, nó khởi động hệ thống mới hoàn hảo, không cần phải làm
phiền

4

Bản thân tôi đã làm điều này hơn một năm trước, và trong khi tôi gặp vấn đề, không có vấn đề nào được liệt kê ở đây. Tôi không chắc chắn nơi tôi tìm thấy lời khuyên tôi đã làm vào thời điểm đó, vì vậy tôi sẽ đăng những gì tôi đã làm ở đây.

1) Tạo phân vùng efi 128 MB khi bắt đầu (chỉ một trong số đó sẽ gắn kết, tại / boot / efi)

2) Tạo mảng 1 GB / boot RAID1, không có LVM

3) Tạo mảng RAID1 lớn bằng LVM

Có / boot nằm trên một phân vùng / mảng RAID1 riêng biệt giải quyết các vấn đề của phân vùng efi không thể tìm thấy những thứ thích hợp.

Và đối với những người tìm kiếm chi tiết hơn, như tôi lúc đó, đây chính xác hơn là cách tôi đã thực hiện thiết lập của mình:

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)

Lưu ý rằng chỉ một trong số / boot / efi sẽ thực sự gắn kết và hai thứ hai là bản sao; Tôi đã làm điều này bởi vì tôi suy yếu để có thể máy vẫn khởi động khi mất bất kỳ một trong 3 đĩa trong RAID1. Tôi không ngại chạy ở chế độ xuống cấp nếu tôi vẫn còn dư thừa và điều đó cho tôi thời gian để thay thế ổ đĩa trong khi máy vẫn hoạt động.

Ngoài ra, nếu tôi không có mảng RAID1 thứ hai để đặt các thùng chứa LXC và về cơ bản tất cả các cơ sở dữ liệu và như vậy, / var sẽ phải lớn hơn nhiều. Tuy nhiên, có mỗi LXC là khối lượng logic riêng của nó là một giải pháp tốt để ngăn một VM / trang web phá vỡ các cái khác do các bản ghi lỗi ngoài tầm kiểm soát, ví dụ ...

Và lưu ý cuối cùng, tôi đã cài đặt từ Ubuntu Installate Install USB với 12.04.01 (trước khi 12.04.02 xuất hiện) và mọi thứ hoạt động khá độc đáo. Sau khi đập đầu tôi trong 72 giờ.

Mong rằng sẽ giúp được ai đó!


1
grub2 xử lý lvm khởi động trực tiếp trên md mà không cần phân vùng / boot tốt, và ít nhất là trong vài năm.
psusi

@psusi Tôi ước bạn đã đúng, bản cài đặt mới của tôi sẽ không tự khởi động từ đĩa thứ hai. Tất cả LVM, không giống như thiết lập của jhaagsma.
sjas

2

Tôi đã có cùng một chế độ, efi khởi động với hai đĩa và đột kích phần mềm

/ dev / sda

  • / dev / sda1 - Phân vùng efi 200MB
  • / dev / sda2 - 20G vật lý cho cuộc đột kích
  • / dev / sda3 - 980G vật lý cho cuộc đột kích

/ dev / sdb

  • / dev / sdb1 - phân vùng efi 200MB
  • / dev / sdb2 - 20G vật lý cho cuộc đột kích
  • / dev / sdb3 - 980G vật lý cho cuộc đột kích

Trao đổi trên / dev / md0 (sda2 & sdb2) Root trên / dev / md1 (sda3 & sdb3)

Nếu bạn nhập shell grub-cứu, hãy khởi động bằng cách sử dụng:

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

Sau đó, tải xuống tệp bản vá này - https://launchpadlibrarian.net/151342031/grub-install.diff (như được giải thích trên https://bugs.launchpad.net/ubfox/+source/grub2/+orms/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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.