ด้วยความช่วยเหลือจากวิธีการติดตั้งเซิร์ฟเวอร์อูบุนตูกับ UEFI และ RAID1 + LVM , RAID จัดตั้งขึ้นใน Ubuntu 18.04และสนับสนุน RAID ใน Ubuntu 18.04 ติดตั้งสก์ท็อป? และวิธีกำจัด "สแกนหา btrfs ระบบไฟล์" เมื่อเริ่มต้น? ฉันจัดการเพื่อรวบรวม HOWTO ที่ทำงานโดยใช้คำสั่ง linux เท่านั้น
ในระยะสั้น
- ดาวน์โหลดตัวติดตั้งเซิร์ฟเวอร์สำรอง
- ติดตั้งด้วยการแบ่งพาร์ติชันด้วยตนเอง, EFI + RAID และ LVM บนพาร์ติชัน RAID
- คัดลอกพาร์ติชัน EFI จากพาร์ติชันที่ติดตั้งไปยังไดรฟ์อื่น
- ติดตั้งพาร์ติชัน EFI ที่สองในห่วงโซ่การบูต UEFI
- เพื่อหลีกเลี่ยงการรอเป็นเวลานานในระหว่างการบู๊ตในกรณีที่ไดรฟ์แตกให้นำ
btrfs
สคริปต์การบูตออก
ในรายละเอียด
1. ดาวน์โหลดตัวติดตั้ง
2. ติดตั้งด้วยการแบ่งพาร์ติชันด้วยตนเอง
- ในระหว่างการติดตั้งในขั้นตอนเลือก
Partition disks
Manual
- หากดิสก์มีพาร์ติชันใด ๆ ให้ลบออก
- หากปริมาณตรรกะใด ๆ
Configure the Logical Volume Manager
ที่มีอยู่ในไดรฟ์ของคุณเลือก
- เลือก
Delete logical volume
จนกว่าจะลบโวลุ่มทั้งหมด
- เลือก
Delete volume group
จนกว่ากลุ่มวอลุ่มทั้งหมดจะถูกลบ
- หากอุปกรณ์ RAID ใด ๆ
Configure software RAID
ที่เป็นปัจจุบันให้เลือก
- เลือก
Delete MD device
จนกว่าอุปกรณ์ MD ทั้งหมดจะถูกลบ
Delete the partition
ลบพาร์ติชันบนไดรฟ์ทุกทางกายภาพโดยการเลือกพวกเขาและการเลือก
- สร้างฟิสิคัลพาร์ติชั่น
- ในแต่ละไดรฟ์สร้างพาร์ทิชัน 512MB (ที่ผมเคยเห็นคนอื่นใช้ 128MB) ที่จุดเริ่มต้นของดิสก์,
EFI System Partition
ใช้เป็น:
- ในแต่ละไดรฟ์สร้างพาร์ทิชันที่สองกับ 'สูงสุด'
Physical Volume for RAID
ขนาดใช้เป็น:
- ตั้งค่า RAID
Configure software RAID
เลือก
- เลือก
Create MD device
, พิมพ์RAID1
, ดิสก์ที่ใช้งานอยู่ 2 ดิสก์, ดิสก์สำรอง 0 แผ่นและเลือก/dev/sda2
และ/dev/sdb2
อุปกรณ์
- ตั้งค่า LVM
Configure the Logical Volume Manager
เลือก
- สร้างกลุ่มวอลุ่ม
vg
บน/dev/md0
อุปกรณ์
- สร้างโลจิคัลวอลุ่มเช่น
swap
ที่ 16G
root
ที่ 35G
tmp
ที่ 10G
var
ที่ 5G
home
ที่ 200G
- ตั้งค่าวิธีใช้โลจิคัลพาร์ติชัน
- สำหรับพาร์ทิชันที่เลือก
swap
Use as: swap
- สำหรับพาร์ทิชันอื่น ๆ เลือก
Use as: ext4
ที่เหมาะสมกับจุดเชื่อมต่อ ( /
, /tmp
, /var
, /home
ตามลำดับ)
Finish partitioning and write changes to disk
เลือก
- อนุญาตให้โปรแกรมติดตั้งเสร็จสิ้นและรีบูต
หากคุณติดตั้งใหม่บนไดรฟ์ที่ก่อนหน้านี้มีการกำหนดค่า RAID ขั้นตอนการสร้าง RAID ข้างต้นอาจล้มเหลวและคุณไม่เคยได้รับmd
อุปกรณ์ ในกรณีดังกล่าวคุณอาจต้องสร้าง Ubuntu Live USB stick จากนั้นบูตgparted
เพื่อล้างตารางพาร์ติชันทั้งหมดก่อนที่จะเริ่ม HOWTO นี้อีกครั้ง
3. ตรวจสอบระบบ
4. โคลนพาร์ติชัน EFI
EFI bootloaded /dev/sda1
ควรได้รับการติดตั้งบน เนื่องจากพาร์ติชั่นนั้นไม่ได้ทำการมิรเรอร์ผ่านระบบ RAID เราจำเป็นต้องทำการโคลน
sudo dd if=/dev/sda1 of=/dev/sdb1
5. ใส่ไดรฟ์ที่สองลงในเชนการบูต
ขั้นตอนนี้อาจไม่จำเป็นเนื่องจากถ้าไดรฟ์ตัวใดตัวหนึ่งตายระบบควรบูตจากพาร์ติชัน EFI (เหมือนกัน) อย่างไรก็ตามดูเหมือนว่ารอบคอบเพื่อให้แน่ใจว่าเราสามารถบูตจากดิสก์ใดก็ได้
- เรียกใช้
efibootmgr -v
และสังเกตเห็นชื่อไฟล์สำหรับubuntu
รายการบูต \EFI\ubuntu\shimx64.efi
เมื่อวันที่ติดตั้งของฉันมันเป็น
sudo efibootmgr -c -d /dev/sdb -p 1 -L "ubuntu2" -l \EFI\ubuntu\shimx64.efi
วิ่ง คุณอาจต้องหลบหนีจากแบ็กสแลชขึ้นอยู่กับเปลือกของคุณ
- ตรวจสอบกับ
efibootmgr -v
ว่าคุณมีชื่อไฟล์เหมือนกันสำหรับubuntu
และubuntu2
รายการบูตและว่าพวกเขาเป็นสองคนแรกในลำดับการบูต
- ตอนนี้ระบบควรบู๊ตแม้ว่าไดรฟ์ตัวใดตัวหนึ่งล้มเหลว!
7. รอ
หากคุณต้องการลองลบหรือปิดการใช้งานไดรฟ์ใด ๆ เพื่อทดสอบการติดตั้งคุณต้องรอจนกว่าการซิงโครไนซ์ RAID จะเสร็จสิ้น! ติดตามความคืบหน้าด้วยcat /proc/mdstat
อย่างไรก็ตามคุณอาจดำเนินการตามขั้นตอนที่ 8 ด้านล่างขณะรอ
8. ลบ BTRFS
หากหนึ่งไดรฟ์ล้มเหลว (หลังจากการซิงโครไนซ์เสร็จสิ้น) ระบบจะยังคงบู๊ต อย่างไรก็ตามลำดับการบู๊ตจะใช้เวลานานในการค้นหาระบบไฟล์ btrfs หากต้องการลบการรอที่ไม่จำเป็นออกให้เรียกใช้
sudo apt-get purge btrfs-progs
นี้ควรลบbtrfs-progs
, และbtrfs-tools
ubuntu-server
แพ็คเกจสุดท้ายเป็นเพียงเมตาแพ็กเกจดังนั้นหากไม่มีแพ็คเกจอื่นอยู่ในรายการเพื่อนำออกคุณควรจะโอเค
9. ติดตั้งเวอร์ชันเดสก์ท็อป
รันsudo apt install ubuntu-desktop
เพื่อติดตั้งเวอร์ชันเดสก์ท็อป หลังจากนั้นอาจมีการซิงโครไนซ์และระบบของคุณได้รับการกำหนดค่าและควรอยู่รอดจากความล้มเหลวของดิสก์!
10. อัพเดทพาร์ติชัน EFI หลังจากอัพเดต grub-efi-amd64
เมื่อgrub-efi-amd64
อัปเดตแพ็คเกจแล้วไฟล์ในพาร์ติชัน EFI (เมาท์ที่/boot/efi
) อาจเปลี่ยนแปลงได้ ในกรณีนั้นการอัพเดตจะต้องทำการโคลนแบบแมนนวลไปยังพาร์ติชั่นมิเรอร์ โชคดีที่คุณควรได้รับคำเตือนจากตัวจัดการอัปเดตที่grub-efi-amd64
กำลังจะได้รับการอัปเดตดังนั้นคุณไม่จำเป็นต้องตรวจสอบทุกครั้งหลังการอัปเดต
10.1 ค้นหาแหล่งที่มาของโคลนอย่างรวดเร็ว
หากคุณยังไม่ได้บูตเครื่องใหม่หลังจากการอัพเดทให้ใช้
mount | grep boot
เพื่อค้นหาพาร์ติชัน EFI ที่ติดตั้งอยู่ โดยทั่วไปพาร์ติชันนั้น/dev/sdb1
ควรใช้เป็นแหล่งโคลน
10.2 ค้นหาแหล่งที่มาของโคลน, หวาดระแวง
สร้างจุดเมานท์และเมานต์พาร์ติชันทั้งสอง:
sudo mkdir /tmp/sda1 /tmp/sdb1
sudo mount /dev/sda1 /tmp/sda1
sudo mount /dev/sdb1 /tmp/sdb1
ค้นหาการประทับเวลาของไฟล์ใหม่ล่าสุดในแต่ละต้น
sudo find /tmp/sda1 -type f -printf '%T+ %p\n' | sort | tail -n 1 > /tmp/newest.sda1
sudo find /tmp/sdb1 -type f -printf '%T+ %p\n' | sort | tail -n 1 > /tmp/newest.sdb1
เปรียบเทียบการประทับเวลา
cat /tmp/newest.sd* | sort | tail -n 1 | perl -ne 'm,/tmp/(sd[ab]1)/, && print "/dev/$1 is newest.\n"'
ควรพิมพ์/dev/sdb1 is newest
(ส่วนใหญ่) /dev/sda1 is newest
หรือ พาร์ติชันนั้นควรใช้เป็นแหล่งโคลน
ถอนติดตั้งพาร์ติชันก่อนการโคลนเพื่อหลีกเลี่ยงความไม่สอดคล้องกันของแคช / พาร์ติชัน
sudo umount /tmp/sda1 /tmp/sdb1
10.3 โคลน
ถ้า/dev/sdb1
เป็นแหล่งโคลน:
sudo dd if=/dev/sdb1 of=/dev/sda1
ถ้า/dev/sda1
เป็นแหล่งโคลน:
sudo dd if=/dev/sda1 of=/dev/sdb1
ทำ!
11. เครื่องเสมือน gotchas
หากคุณต้องการลองใช้เครื่องเสมือนก่อนมีข้อ จำกัด บางประการ: เห็นได้ชัดว่า NVRAM ที่เก็บข้อมูล UEFI จะถูกจดจำระหว่างการรีบูต แต่ไม่ใช่ระหว่างรอบการรีสตาร์ท ในกรณีดังกล่าวคุณอาจสิ้นสุดที่คอนโซล UEFI Shell คำสั่งต่อไปนี้ควรบูตคุณเข้าสู่เครื่องจาก/dev/sda1
(ใช้FS1:
สำหรับ/dev/sdb1
):
FS0:
\EFI\ubuntu\grubx64.efi
ทางออกแรกในคำตอบสูงสุดของการบูต UEFI ในกล่องเสมือน - Ubuntu 12.04อาจเป็นประโยชน์