UEFI ve RAID1 + LVM ile Ubuntu sunucusu nasıl kurulur


15

Sunucularımı LVM ile RAID1 yazılımı üzerinden yüklerdim ve her iki sürücünün MBR'sine grub yüklemesi yapardım. Şimdi bir UEFI sunucum var ve uyumluluk (BIOS) modu çalışmıyor gibi görünüyor.

Bu yüzden UEFI ile kurulum yoluna gittim.

İlk test, tek sürücülü kurulum iyi çalışıyor.

Sonra RAID1 + LVM ile yüklemeye çalıştım. İki sürücümü de aynı şekilde ayırdım:

  • EFI sistem bölümü, 200 MB
  • fiziksel bir RAID bölümü

Sonra kurulum yaptım: - her iki disk RAID bölümlerini kullanan bir RAID 1 - RAID 1 dizisinde bir LVM birim grubu - üç mantıksal birim: /, / home ve takas

Kurulum devam etti, ancak yeniden başlatıldığında bir grub kabuğu alıyorum ve takıldım.

Peki, RAID1 üzerinden LVM üzerinde grub2-efi çalışması yapmak mümkün müdür? Bunu başarmanın yolu nedir? Başka önyükleyici alternatifleri var mı (EFI'den doğrudan linux yüklemesi ??)? vb...

Yanıtlar:


11

Tamam, çözümü buldum ve kendi sorularıma cevap verebilirim.

1) UEFI makinesinde RAID1 üzerinden LVM kullanabilir miyim?

Evet kesinlikle. Ve iki diskten biri arızalansa bile önyükleme yapabilir.

2) Bunu nasıl yapabilirim?

Yükleyicide bir hata gibi görünüyor , bu yüzden sadece yükleyiciyi kullanmak önyükleme (grub kabuğu) başarısızlığına neden oluyor.

İşte bir çalışma prosedürü:

1) iki diskin her birinde manuel olarak aşağıdaki bölümleri oluşturun: - UEFI tipinde bir 512MB bölüm diskin başlangıcı - bundan sonra RAID türünde bir bölüm

2) RAID 1 dizinizi iki RAID bölümüyle oluşturun, ardından LVM birim grubunuzu bu diziyle ve mantıksal hacimlerinizi oluşturun (kök için bir tane, ev için bir tane ve takas için bir tane).

3) kurulumun devam etmesine izin verin ve yeniden başlatın. ARIZA! Bir kurt kabuğu almalısın.

4) grub kabuğundan önyükleme yapmak mümkün olabilir, ancak bir kurtarma usb diskinden önyükleme yapmayı seçtim. Kurtarma modunda, hedef kök fs üzerinde bir kabuk açtım (bu kök lvm mantıksal birimindeki).

5) Bu hedef kök bölümün UUID'sini 'blkid' ile alın. Not edin veya telefonunuzla fotoğraf çekin, bir sonraki adıma ihtiyacınız olacak.

6) EFI sistem bölümünü ('mount / boot / efi') takın ve grub.cfg dosyasını düzenleyin: vi /boot/efi/EFI/ubuntu/grub.cfg Burada, hatalı UUID'yi noktasında aldığınız olanla değiştirin 5. Kaydet.

7) ikinci diskten önyükleme yapabilmek için EFI bölümünü bu ikinci diske kopyalayın: dd = / dev / sdb1'in = / dev / sda1'ini (yapılandırmanıza uygun olanla sda veya sdb'yi değiştirin).

8) Yeniden başlatın. UEFI ayar ekranınızda, iki EFI bölümünü önyüklenebilir olarak ayarlayın ve bir önyükleme sırası ayarlayın.

Sen bittin. Disklerden birini veya diğerini test edebilir, fişini çekebilirsiniz, çalışması gerekir!


Ayrıntılı prosedür için teşekkürler. Lütfen Önyükleme Bilgilerinizi belirtir misiniz? ( help.ubuntu.com/community/Boot-Info )
LovinBuntu

@LovinBuntu İşte bir usb anahtarından başlatılan Boot-Info çıkışı: paste.ubuntu.com/6223137
alci

Başarısız oldum, ama grub kabuğunu alamadım.
Peter Lawrey

4
Sadece aptal olduğum için benzer bir prosedürü izlemeye çalışırken birkaç gün harcadım, ancak bunun başkalarının aynı problemden kaçınmasına yardımcı olması durumunda, önyükleme yaptığınızdan emin olmanız gerektiğini söyleyeceğim . eski BIOS yerine UEFI kullanarak canlı USB . (MB'm, 'otomatik' ayarında, eski modda önyükleme yapmayı tercih etti. Yüklemenin çalışması için onu kapatmak zorunda kaldım veya EFI seçeneğini manuel olarak önyüklemeyi seçmeliydim.)
Jonathan Y.

1
Ubuntu 16.04.1 kullanıldığında, bu artık bir sorun gibi görünmüyor. RAID1 için 512MB EFI Bölümü, SWAP ve 490GB RAID parti kurdum ve yeni md cihazına Ubuntu 16.04 sunucusunu tamamen sorunsuz kurdum. Yeniden başlattıktan sonra yeni sistemi kusursuz bir şekilde başlattı, EFI bölümü, fstab vs. ile
uğraşmaya

4

Bunu bir yıldan fazla bir süre önce kendim yaptım ve problemlerim varken burada listelenen problemlerim yoktu. O zaman yaptığım tavsiyeyi nerede bulduğumdan emin değilim, bu yüzden burada ne yaptığımı göndereceğim.

1) Başlangıçta 128MB efi bölümleri oluşturun (bunlardan sadece biri / boot / efi'de monte edilecek)

2) 1 GB / önyükleme RAID1 dizisi oluşturun, LVM yok

3) LVM kullanarak büyük RAID1 dizisi oluşturun

/ Boot'ın ayrı bir bölüme / RAID1 dizisine sahip olması, efi bölümünün uygun şeyleri bulamaması sorunlarını çözer.

Ve daha fazla ayrıntı arayanlar için, o zamanki gibi, daha doğrusu, kurulumumu nasıl yaptım:

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 dosyalarından yalnızca birinin gerçekten bağlanacağına ve ikinci ikisinin klon olduğuna dikkat edin; Bunu yaptım çünkü RAID1'deki 3 diskten birini kaybederken makinenin hala önyükleme yapabilmesini istedim. Hala tam yedekliliğim varsa bozulmuş modda çalışmayı umursamıyorum ve bu bana makine hala açıkken sürücüyü değiştirmek için zaman veriyor.

Ayrıca, ben LXC kapsayıcılar ve temelde tüm veritabanları ve bu tür koymak için ikinci RAID1 dizisi yoksa, / var ÇOK daha büyük olması gerekirdi. Bununla birlikte, her LXC'nin kendi mantıksal hacmi olması, bir VM / web sitesinin kontrol dışı hata günlükleri nedeniyle diğerlerini bozmasını önlemek için iyi bir çözümdü, örneğin ...

Ve son not, 12.04.01 (12.04.02 çıkmadan önce) ile Ubuntu Alternate Install USB'den kurdum ve her şey gayet güzel çalıştı. Kafamı 72 saat boyunca vurduktan sonra.

Umarım birine yardım eder!


1
grub2, lvm'yi doğrudan md üzerinde / boot bölümü olmadan önyükleme yapar ve en azından birkaç yıl vardır.
psusi

@psusi Keşke haklı olsaydın, yeni kurulumum ikinci diskten tek başına önyükleme yapmaz. Tüm LVM, jhaagsma kurulumundan farklı olarak.
sjas

2

Aynı probem vardı, iki diskli efi önyükleme ve yazılım baskını

/ Dev / sda

  • / dev / sda1 - 200MB efi bölümü
  • / dev / sda2 - 20G baskın için fiziksel
  • / dev / sda3 - 980G baskın için fiziksel

/ Dev / SDB

  • / dev / sdb1 - 200MB efi bölümü
  • / dev / sdb2 - baskın için fiziksel 20G
  • / dev / sdb3 - 980G baskın için fiziksel

/ Dev / md0 (sda2 ve sdb2) ile değiştir / Root on / dev / md1 (sda3 ve sdb3)

Grub-kurtarma kabuğuna girerseniz, aşağıdakileri kullanarak önyükleme yapın:

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

Bundan sonra, bu yama dosyasını indirmek - https://launchpadlibrarian.net/151342031/grub-install.diff (açıklanan şekilde 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.