UEFI और RAID1 + LVM के साथ Ubuntu सर्वर कैसे स्थापित करें


15

मैं अपने सर्वर को सॉफ्टवेयर RAID1 पर LVM के साथ स्थापित करता था, और दोनों ड्राइव के MBR पर ग्रब स्थापित करता था। अब मेरे पास एक UEFI सर्वर है, और संगतता (BIOS) मोड काम नहीं करता है।

इसलिए मैं यूईएफआई के साथ स्थापित करने का तरीका गया।

पहला परीक्षण, सिंगल ड्राइव इंस्टॉलेशन ठीक काम करता है।

फिर मैंने RAID1 + LVM के साथ इंस्टॉल करने की कोशिश की। मैंने अपनी दोनों ड्राइव को उसी तरह से विभाजित किया:

  • एक EFI सिस्टम विभाजन, 200MB
  • एक भौतिक RAID विभाजन

फिर मैंने सेटअप किया: - एक RAID 1 दोनों डिस्क RAID विभाजन का उपयोग करते हुए - RAID 1 सरणी पर एक LVM वॉल्यूम समूह - तीन तार्किक वॉल्यूम: /, / घर और स्वैप

स्थापना तो चली गई, लेकिन रिबूट पर मुझे एक ग्रब शेल मिला और मैं फंस गया।

तो, क्या यह संभव है कि RAID1 पर LVM पर grub2-efi का काम हो? इसे प्राप्त करने का तरीका क्या है? क्या अन्य बूटलोडर विकल्प (EFI से प्रत्यक्ष लिनक्स लोड हो रहा है?)? आदि...

जवाबों:


11

ठीक है, मुझे इसका हल मिला और मैं अपने खुद के सवालों के जवाब दे सकता हूं।

1) मैं एक यूईएफआई मशीन पर RAID1 पर LVM का उपयोग कर सकता हूं?

हाँ बिलकुल। और यह तब भी बूट करने में सक्षम होगा, जब दोनों में से एक डिस्क विफल हो जाती है।

2) यह कैसे करें?

आपको इंस्टॉलर में एक बग प्रतीत होता है , इसलिए बस इंस्टॉलर का उपयोग करने से बूट (ग्रब शेल) में विफलता होती है।

यहाँ एक काम करने की प्रक्रिया है:

1) दो डिस्क में से प्रत्येक पर मैन्युअल रूप से निम्नलिखित विभाजन बनाएँ: - टाइप करें UEFI के साथ एक 512MB विभाजन डिस्क की शुरुआत - एक विभाजन का प्रकार RAID उसके बाद

2) दो RAID विभाजन के साथ अपना RAID 1 सरणी बनाएं, फिर उस सरणी के साथ अपना LVM वॉल्यूम समूह बनाएं, और अपने तार्किक वॉल्यूम (मैंने एक रूट के लिए बनाया, एक घर के लिए और एक स्वैप के लिए)।

3) इंस्टॉल को चालू होने दें, और रिबूट करें। असफल! आपको एक ग्रब शेल मिलना चाहिए।

4) यह ग्रब शेल से बूट करना संभव हो सकता है, लेकिन मैंने बचाव USB डिस्क से बूट करने का विकल्प चुना। बचाव मोड में, मैंने अपने लक्ष्य रूट fs पर एक शेल खोला (जो रूट lvm लॉजिकल वॉल्यूम पर एक है)।

5) इस लक्ष्य रूट विभाजन का UUID 'blkid' के साथ प्राप्त करें। इसे नोट करें या अपने फोन के साथ तस्वीर लें, आपको इसे अगले चरण की आवश्यकता होगी।

6) EFI सिस्टम विभाजन ('माउंट / बूट / efi') को माउंट करें और grub.cfg फ़ाइल को संपादित करें: vi /boot/efi/EFI/ubuntu/grub.cfg यहां, उस गलत UUID को प्रतिस्थापित करें जिसे आपने बिंदु पर प्राप्त किया है 5. बचाओ।

7) दूसरी डिस्क से बूट करने में सक्षम होने के लिए, EFI पार्टीशन को इस दूसरी डिस्क पर कॉपी करें: dd if = / dev / sda1 of = / dev / sdb1 (sda या sdb को जो भी आपके कॉन्फिगरेशन के साथ बदलता है)।

8) रिबूट। अपने UEFI सेटिंग स्क्रीन में, दो EFI विभाजनों को बूट करने योग्य के रूप में सेट करें, और बूट क्रम सेट करें।

हो गया। आप परीक्षण कर सकते हैं, एक या दूसरे डिस्क को अनप्लग कर सकते हैं, यह काम करना चाहिए!


विस्तृत प्रक्रिया के लिए धन्यवाद। क्या आप अपने बूट-जानकारी का संकेत दे सकते हैं? ( help.ubuntu.com/community/Boot-Info )
लविनबंटू

@LovinBuntu यहां बूट-इंफो का आउटपुट है, एक USB कुंजी से शुरू किया गया है: paste.ubuntu.com/6223137
alci

मुझे विफलता मिली, लेकिन ग्रब शेल नहीं मिल सका।
पीटर लॉरी

4
मैंने कुछ दिनों में एक समान प्रक्रिया का पालन करने की कोशिश की है, मुख्य रूप से मेरे बेवकूफ होने के कारण, लेकिन सिर्फ अगर यह किसी और को उसी समस्या से बचने में मदद कर सकता है, तो मैं उल्लेख करता हूं कि आपको बूट करने के लिए सुनिश्चित करने की आवश्यकता है । लाइव USB का उपयोग विरासत BIOS के बजाय UEFI द्वारा किया जाता है। (मेरी एमबी, 'ऑटो' सेटिंग पर, विरासत मोड में बूट करना पसंद करती है। मुझे इसे बंद करना पड़ा - या मैन्युअल रूप से ईएफआई विकल्प को बूट करने के लिए चुनना है - स्थापना को काम करने के लिए।)
जोनाथन वाई।

1
उबंटू 16.04.1 का उपयोग करते हुए, यह कोई समस्या नहीं लगती है। मैंने एक 512MB EFI विभाजन, एक SWAP, और RAID1 के लिए एक 490GB RAID विभाजन स्थापित किया, और नए md डिवाइस पर मैंने Ubuntu 16.04 सर्वर को पूरी तरह से समस्याओं के बिना स्थापित किया। रिबूट करने के बाद, इसने नई प्रणाली को निर्दोष रूप से शुरू कर दिया, EFI विभाजन, fstab आदि के साथ गड़बड़ करने की कोई आवश्यकता नहीं है
nddoc

4

मैंने इसे एक साल पहले खुद पर किया था, और, जबकि मुझे समस्याएं थीं, यहां सूचीबद्ध समस्याएं नहीं थीं। मुझे यकीन नहीं है कि मुझे उस समय मुझे क्या सलाह मिली थी, इसलिए मैं यहां जो कुछ किया था, उसे पोस्ट करूंगा।

1) शुरू में 128MB efi विभाजन बनाएं (केवल एक ही बूट / efi पर, माउंट होगा)

2) 1 GB / बूट RAID1 ऐरे बनाएं, कोई LVM नहीं

3) LVM का उपयोग करके बड़े RAID1 सरणी बनाएं

एक अलग विभाजन पर होने / बूट होने के कारण / RAID1 सरणी, AEI विभाजन के मुद्दों को हल करता है जो उपयुक्त चीजों को खोजने में असमर्थ है।

और अधिक विस्तार की तलाश करने वालों के लिए, जैसा कि मैं उस समय था, यह अधिक सटीक है, मैंने अपना सेटअप कैसे किया है:

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)

नोट केवल एक / बूट / एफ़ी वास्तव में माउंट करेगा, और दूसरे दो क्लोन हैं; मैंने ऐसा इसलिए किया क्योंकि मैं RAID1 में 3 डिस्क में से किसी एक को खोने पर मशीन को अभी भी बूट करने में सक्षम होना चाहता था। अगर मेरा अभी भी पूर्ण अतिरेक है, तो मुझे अपमानित मोड में चलने में कोई आपत्ति नहीं है, और इससे मुझे मशीन को बदलने का समय मिल जाता है जबकि मशीन अभी भी चालू है।

इसके अलावा, अगर मेरे पास LXC कंटेनरों को रखने के लिए दूसरा RAID1 सरणी नहीं है और मूल रूप से सभी डेटाबेस और जैसे, / var को MUCH बड़ा होना चाहिए था। प्रत्येक LXC के पास अपनी तार्किक मात्रा के रूप में, हालांकि, एक वीएम / वेबसाइट को रोकने के लिए एक अच्छा समाधान है, उदाहरण के लिए, आउट-ऑफ-कंट्रोल त्रुटि लॉग के कारण दूसरों को बाधित करने से ...

और अंतिम नोट, मैंने 12.04.01 (12.04.02 से पहले) के साथ उबंटू अल्टरनेट इनस्टॉल यूएसबी से इंस्टॉल किया, और सब कुछ काफी अच्छी तरह से काम किया। 72 घंटे तक इसके खिलाफ मेरे सिर को पीटने के बाद।

आशा है कि किसी की मदद करता है!


1
grub2 सीधे बूट पर lvm को a / boot विभाजन के बिना सीधे ठीक बूट करता है, और कम से कम कुछ वर्षों के लिए है।

@psusi मैं चाहता हूं कि आप सही थे, मेरी नई स्थापना दूसरी डिस्क से अपने आप बूट नहीं होगी। झगमा के सेटअप के विपरीत सभी एलवीएम।
sjas

2

मैं एक ही probem था, दो डिस्क और सॉफ्टवेयर छापे के साथ efi बूट

/ Dev / sda

  • / dev / sda1 - 200MB efi पार्टीशन
  • / देव / sda2 - छापे के लिए 20 जी शारीरिक
  • / देव / sda3 - 980 जी छापे के लिए शारीरिक

/ Dev / SDB

  • / dev / sdb1 - 200MB efi पार्टीशन
  • / देव / sdb2 - 20 जी छापे के लिए शारीरिक
  • / देव / sdb3 - 980 जी छापे के लिए शारीरिक

/ Dev / md0 (sda2 & sdb2) पर स्वैप / root / dev / md1 (sda3 & sdb3) पर

यदि आप ग्रब-बचाव शेल दर्ज करते हैं, तो बूट का उपयोग करें:

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/+bugs.2929738 पर समझाया गया )

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.