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
btrfs
skrip boot.
Secara terperinci
1. Unduh penginstal
2. Instal dengan partisi manual
- Selama menginstal, pada
Partition disks
langkah, 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 volume
sampai semua volume telah dihapus.
- Pilih
Delete volume group
sampai semua grup volume telah dihapus.
- Jika ada perangkat RAID, pilih
Configure software RAID
.
- Pilih
Delete MD device
sampai 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/sda2
dan /dev/sdb2
perangkat.
- Siapkan LVM
- Pilih
Configure the Logical Volume Manager
.
- Buat grup volume
vg
pada /dev/md0
perangkat.
- 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
swap
partisi, pilih Use as: swap
.
- Untuk partisi lain, pilih
Use as: ext4
dengan 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 md
perangkat. 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 -v
dan perhatikan nama file untuk ubuntu
entri 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 -v
bahwa Anda memiliki nama file yang sama untuk ubuntu
dan ubuntu2
booting 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/mdstat
Namun, 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-tools
dan 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-desktop
untuk 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-amd64
diperbarui, 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-amd64
akan 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/sdb1
itu sumber klon:
sudo dd if=/dev/sdb1 of=/dev/sda1
Jika /dev/sda1
itu 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.
/boot
jika Anda mencoba untuk pergi rute instalasi serangan otomatis.RAID-1 + XFS + UEFI
Saya bisa mendapatkan sekitar 99% dari perjalanan ke sana dengan jawaban @Niclas Börlin, terima kasih!
Saya juga mendapat bantuan dari jawaban berikut:
Berikut adalah cara saya mengacaukan semuanya
/boot
partisi berada di XFS. Grub2 yang datang dengan Ubuntu 18.04LTS tampaknya tidak menangani ini. Meskipun itu tidak didokumentasikan di mana pun. Saya membuat/boot
partisi EXT-4 yang terpisah. Perhatikan bahwa ini masih pada volume LVM RAID-1, dan bukan partisi terpisah seperti yang EFI! Banyak jawaban yang lebih tua mengatakan ini tidak mungkin, tetapi tampaknya sekarang. Saya akhirnya mendapatkan grub tetapi mendapatkan kesalahan sistem file yang tidak dikenal (mis. Bagaimana cara memperbaiki "kesalahan: filesystem tidak dikenal. Grub rescue> ) yang memberi saya petunjuk XFS/boot
sebagai larangan ./boot
tidak dapat diakses.Apa yang berhasil untuk saya
Mulailah dengan jawaban @Niclas Börlin dan ubah beberapa hal kecil.
Tabel Pemisahan
Saya menyukai satu
/
partisi besar , jadi ini mencerminkan pilihan itu. Perubahan utama adalah/boot
partisi EXT4 bukan XFS.Setelah selesai menginstal saya bisa
dd
isisda1
untuksdb2
sebagaimana tercantum dalam jawaban lain. Saya juga bisa menambahkan drive kedua ke rantai boot menggunakanefibootmgr
seperti yang dijelaskan.sumber