Dengan bantuan dari Bagaimana cara menginstal server Ubuntu dengan UEFI dan RAID1 + LVM , RAID disiapkan di Ubuntu 18.04 , dan dukungan RAID di Ubuntu 18.04 Desktop installer? dan Bagaimana menyingkirkan "pemindaian sistem file btrfs" saat start-up? , Saya berhasil menyusun HOWTO yang berfungsi menggunakan perintah linux saja.
Pendeknya
- Unduh penginstal server alternatif.
- Instal dengan partisi manual, EFI + RAID dan LVM pada partisi RAID.
- Klon partisi EFI dari partisi yang diinstal ke drive lain.
- Instal partisi EFI kedua ke rantai boot UEFI.
- Untuk menghindari menunggu lama saat boot jika drive rusak, hapus
btrfsskrip boot.
Secara terperinci
1. Unduh penginstal
2. Instal dengan partisi manual
- Selama menginstal, pada
Partition diskslangkah, pilih Manual.
- Jika disk berisi partisi apa pun, hapus partisi tersebut.
- Jika ada volume logis pada drive Anda, pilih
Configure the Logical Volume Manager.
- Pilih
Delete logical volumesampai semua volume telah dihapus.
- Pilih
Delete volume groupsampai semua grup volume telah dihapus.
- Jika ada perangkat RAID, pilih
Configure software RAID.
- Pilih
Delete MD devicesampai semua perangkat MD telah dihapus.
- Hapus setiap partisi pada drive fisik dengan memilihnya dan memilih
Delete the partition.
- Buat partisi fisik
- Pada setiap drive, membuat partisi 512MB (saya sudah melihat orang lain menggunakan 128MB) pada awal disk, Gunakan sebagai:
EFI System Partition.
- Pada setiap drive, membuat partisi kedua dengan ukuran 'max', Gunakan sebagai:
Physical Volume for RAID.
- Atur RAID
- Pilih
Configure software RAID.
- Pilih
Create MD device, ketik RAID1, 2 disk aktif, 0 disk cadang, dan pilih /dev/sda2dan /dev/sdb2perangkat.
- Siapkan LVM
- Pilih
Configure the Logical Volume Manager.
- Buat grup volume
vgpada /dev/md0perangkat.
- Buat volume logis, mis
swap pada 16G
root pada 35G
tmp pada 10G
var pada 5G
home pada 200G
- Atur cara menggunakan partisi logis
- Untuk
swappartisi, pilih Use as: swap.
- Untuk partisi lain, pilih
Use as: ext4dengan tepat mount point ( /, /tmp, /var, /home, masing-masing).
- Pilih
Finish partitioning and write changes to disk.
- Biarkan program instalasi selesai dan reboot.
Jika Anda menginstal ulang pada drive yang sebelumnya memiliki konfigurasi RAID, langkah pembuatan RAID di atas mungkin gagal dan Anda tidak pernah mendapatkan mdperangkat. Dalam hal ini, Anda mungkin harus membuat tongkat USB Live Ubuntu, boot ke dalamnya, jalankan gparted untuk menghapus semua tabel partisi Anda, sebelum Anda memulai kembali HOWTO ini.
3. Periksa sistem
4. Klon partisi EFI
EFI yang di-boot seharusnya sudah diinstal /dev/sda1. Karena partisi itu tidak dicerminkan melalui sistem RAID, kita perlu mengkloningnya.
sudo dd if=/dev/sda1 of=/dev/sdb1
5. Masukkan drive kedua ke rantai boot
Langkah ini mungkin tidak diperlukan, karena jika salah satu drive mati, sistem harus mem-boot dari partisi EFI (identik). Namun, tampaknya bijaksana untuk memastikan bahwa kami dapat mem-boot dari salah satu disk.
- Jalankan
efibootmgr -vdan perhatikan nama file untuk ubuntuentri boot. Pada instal saya itu \EFI\ubuntu\shimx64.efi.
- Lari
sudo efibootmgr -c -d /dev/sdb -p 1 -L "ubuntu2" -l \EFI\ubuntu\shimx64.efi. Tergantung pada cangkang Anda, Anda mungkin harus melarikan diri dari garis miring terbalik.
- Verifikasi dengan
efibootmgr -vbahwa Anda memiliki nama file yang sama untuk ubuntudan ubuntu2booting item dan bahwa mereka adalah dua pertama dalam urutan boot.
- Sekarang sistem harus mem-boot bahkan jika salah satu drive gagal!
7. Tunggu
Jika Anda ingin mencoba untuk secara fisik menghapus atau menonaktifkan drive apa pun untuk menguji instalasi Anda, Anda harus terlebih dahulu menunggu sampai sinkronisasi RAID selesai! Pantau kemajuan dengan cat /proc/mdstatNamun, Anda dapat melakukan langkah 8 di bawah sambil menunggu.
8. Hapus BTRFS
Jika satu drive gagal (setelah sinkronisasi selesai), sistem akan tetap bisa boot. Namun, urutan booting akan menghabiskan banyak waktu mencari sistem file btrfs. Untuk menghapus menunggu yang tidak perlu itu, jalankan
sudo apt-get purge btrfs-progs
Ini harus menghapus btrfs-progs, btrfs-toolsdan ubuntu-server. Paket terakhir hanyalah paket meta, jadi jika tidak ada lagi paket terdaftar untuk dihapus, Anda harusnya ok.
9. Instal versi desktop
Jalankan sudo apt install ubuntu-desktopuntuk menginstal versi desktop. Setelah itu, sinkronisasi mungkin dilakukan dan sistem Anda dikonfigurasikan dan harus selamat dari kegagalan disk!
10. Perbarui partisi EFI setelah pembaruan grub-efi-amd64
Ketika paket grub-efi-amd64diperbarui, file pada partisi EFI (terpasang di /boot/efi) dapat berubah. Dalam hal itu, pembaruan harus dikloning secara manual ke partisi mirror. Untungnya, Anda harus mendapatkan peringatan dari manajer pembaruan yang grub-efi-amd64akan diperbarui, sehingga Anda tidak perlu memeriksa setelah setiap pembaruan.
10.1 Cari tahu sumber klon, cara cepat
Jika Anda belum memulai ulang setelah pembaruan, gunakan
mount | grep boot
untuk mengetahui partisi EFI apa yang dipasang. Partisi itu, biasanya /dev/sdb1, harus digunakan sebagai sumber klon.
10.2 Cari tahu sumber klon, cara paranoid
Buat titik mount dan mount kedua partisi:
sudo mkdir /tmp/sda1 /tmp/sdb1
sudo mount /dev/sda1 /tmp/sda1
sudo mount /dev/sdb1 /tmp/sdb1
Temukan cap waktu file terbaru di setiap pohon
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
Bandingkan cap waktu
cat /tmp/newest.sd* | sort | tail -n 1 | perl -ne 'm,/tmp/(sd[ab]1)/, && print "/dev/$1 is newest.\n"'
Harus mencetak /dev/sdb1 is newest(kemungkinan besar) atau /dev/sda1 is newest. Partisi itu harus digunakan sebagai sumber klon.
Lepaskan partisi sebelum kloning untuk menghindari ketidakkonsistenan cache / partisi.
sudo umount /tmp/sda1 /tmp/sdb1
10.3 Klon
Jika /dev/sdb1itu sumber klon:
sudo dd if=/dev/sdb1 of=/dev/sda1
Jika /dev/sda1itu sumber klon:
sudo dd if=/dev/sda1 of=/dev/sdb1
Selesai!
11. Gotcha mesin virtual
Jika Anda ingin mencoba ini di mesin virtual terlebih dahulu, ada beberapa peringatan: Rupanya, NVRAM yang menyimpan informasi UEFI diingat antara reboot, tetapi tidak di antara siklus shutdown-restart. Jika demikian, Anda mungkin berakhir di konsol UEFI Shell. Perintah-perintah berikut ini akan mem-boot Anda dari mesin Anda /dev/sda1(digunakan FS1:untuk /dev/sdb1):
FS0:
\EFI\ubuntu\grubx64.efi
Solusi pertama di jawaban teratas boot UEFI di virtualbox - Ubuntu 12.04 mungkin juga bermanfaat.