Bagaimana cara saya menginstal GRUB pada instalasi sistem RAID?

43

Saya mencoba mengatur dan menginstal Ubuntu pada pengaturan RAID 1. Saya punya dua disk, sdb dan sdc. Saya telah mengikuti panduan ini

https://help.ubuntu.com/community/Installation/SoftwareRAID

yang lebih atau kurang berfungsi untuk mengatur semuanya dan Ubuntu diinstal. Masalahnya adalah pada akhir instalasi, ia mencoba menginstal GRUB. Secara default ia mencoba "disk pertama" saya, yang memberikan "kesalahan fatal". Saya sudah mencoba menginstalnya pada partion tertentu, mis. Sdb1 dan juga perangkat RAID, mis. Md0, md1, dll. Sepertinya tidak ada yang berhasil.

Kesalahan sebenarnya adalah

Tidak dapat menginstal GRUB di / dev / sdb

Menjalankan 'grub-install' / dev / sdb 'gagal.

Ini adalah kesalahan fatal.

Kemudian saya dibawa kembali ke menu instalasi utama. Jika saya memilih opsi "Instal boot loader GRUB pada hard disk", saya dapat memilih partisi, tetapi memasukkan sdb2 atau md1 memberikan kesalahan yang sama.

Jadi saya pergi ke depan yang tidak menginstal GRUB, yang berarti sekarang saya mungkin sudah menginstal Ubuntu, tetapi saya tidak bisa mem-bootnya. Saya sudah mencoba booting dari LiveCD untuk menginstal GRUB, tetapi saya tidak bisa chroot ke sistem saya karena sepertinya tidak mengenali bahwa disk saya adalah disk Linux. Ada kesalahan tentang hal itu karena partisi RAID.

Jadi pada dasarnya saya benar-benar ingin tahu bagaimana Anda tahu perangkat mana yang menginstal GRUB saat instalasi, atau paling tidak, cara menginstalnya ke sistem saya sekarang.

Saya kira saya juga harus menyebutkan bahwa sda adalah instalasi Windows 7 yang ingin saya simpan dan dapat diakses saat boot.

Terima kasih atas bantuannya.

Kris Harper
sumber
Tanpa mengatakan apa kesalahannya, kami tidak bisa membantu. Menginstal ke sda ​​(dan mungkin sdb dan sdc juga) adalah hal yang benar untuk dilakukan. Untuk mengakses serangan dari livecd Anda perlu menginstal paket mdadm:sudo apt-get install --no-install-recommends mdadm
psusi
Maaf tentang itu, saya telah mengedit posting saya untuk memasukkan pesan kesalahan. Alasan saya mencoba menginstal sesuatu selain sdb, sdc adalah karena saya membaca utas ini yang sepertinya mengatakan bahwa saya harus menemukan partisi yang benar di bawah / dev / mapper. Tetapi ketika saya drop ke shell di installer, tidak ada yang muncul di / dev / mapper selain kontrol.
Kris Harper
Itu untuk fakeraid, bukan serangan perangkat lunak.
psusi
1
Apakah Anda menggunakan tabel partisi MSDOS atau GPT? Jika Anda menggunakan GPT, Anda harus membuat partisi bios_boot.
psusi
1
Saya berhasil membuatnya bekerja dengan membuat tiga partisi di setiap drive, RAIDing dua set bersama-sama untuk filesystem dan swap dan meninggalkan dua yang terakhir tidak di-rooting. Kemudian saya memilih / boot sebagai mount point untuk salah satunya, dan memilih yang itu ketika menginstal GRUB. Ini sepertinya berhasil. Satu-satunya kekhawatiran saya adalah bahwa GRUB tidak diinstal pada drive lain, jadi jika saya mengalami kegagalan drive, saya mungkin tidak dapat boot. Mungkin saya bisa memperbaikinya dengan menginstal GRUB di drive lain, terlepas dari kenyataan bahwa partisi itu tidak ditetapkan sebagai titik mount / boot?
Kris Harper

Jawaban:

16

Masalah saya ternyata adalah bahwa saya memiliki tabel partisi GUID karena drive saya masing-masing 2TB. Metode yang saya coba ikuti awalnya tidak menganggap ini, dan menginstal GRUB tidak berfungsi.

Sebagai gantinya, Anda harus membuat partisi kecil (1MB) pada setiap disk dan RAID mereka bersama-sama dan mengaturnya sebagai partisi boot GRUB (Saya tidak yakin dengan nama sebenarnya). Atur partisi RAID Anda yang lain (mis. Swap dan /) dan kemudian installer GRUB akan menemukan area boot dengan baik.

(Pada Debian ini disebut area boot BIOS yang dicadangkan .)

Kris Harper
sumber
1
ini hanya bekerja untuk raid1 - saya mencoba ini untuk raid6 dan itu terus gagal tanpa pesan kesalahan yang membantu :(
Mr.Gosh
bagaimana Anda membuat serangan perangkat lunak? saya sedang mencoba melakukan hal yang sama. lihat pertanyaan saya di serverfault: serverfault.com/q/749274/71452
c33s
13

Banyak jawaban di sini benar-benar salah, memberitahu Anda untuk menonaktifkan BIOS RAID! Solusi yang tepat ada di entri blog ini . Saya akan meringkasnya di bawah ini.

Pada tahap instalasi di mana ia mencoba untuk menginstal GRUB, ia akan mendeteksi sebagai

/dev/mapper

Ini tidak lengkap! Itu sebabnya instalasi GRUB gagal.

Anda memerlukan nama sebenarnya dari array RAID untuk menginstal . Jadi selama langkah itu, tekan ctrl+ alt+ F2untuk turun ke terminal busybox, lalu masuk

ls -l /dev/mapper

Pilih nama array Anda dari daftar yang ditampilkan, lalu tekan ctrl+ alt+ F1untuk beralih kembali ke instalasi (Anda dapat beralih bolak-balik sebanyak yang Anda suka tanpa masalah) dan masukkan di bidang sebagai

/dev/mapper/{your array name}  

kemudian GRUB menginstal dengan sempurna dan Anda siap untuk pergi, dengan array BIOS RAID yang tepat utuh.

Jeff Atwood
sumber
7
Bagaimana jika ls-l / dev / mapper tidak menunjukkan apa-apa selain "kontrol" sebagai isinya?
Brian Bauman
Saya tidak yakin. Saya menduga Anda tidak memiliki BIOS RAID alias RAID "palsu" pada saat itu?
Jeff Atwood
Saya menyelesaikan partisi dan instalasi seperti biasa, dan instalasi gagal pada instalasi GRUB. Saya tidak yakin mengapa RAID tidak akan dimulai pada saat itu, karena instalasi khusus untuk tiga array serangan yang saya bangun - raid1 /, raid0 swap, dan raid1 / home.
Brian Bauman
Perlu disebutkan bahwa saya keliru menggunakan perangkat palsuRAID dan perangkat lunak RAID secara bergantian. Upaya pertama saya didasarkan sekitar menggunakan serangan BIOS, tetapi saran dari utas ini merekomendasikan agar saya menggunakan RAID perangkat lunak Linux sebagai gantinya, yang merupakan apa yang saya coba lakukan sejak itu. Akan mencoba saran Anda menggunakan BIOS fakeRAID lagi dan melaporkan kembali.
Brian Bauman
1
Apakah ini masih berlaku untuk 14,04? Saya tidak dapat mengaktifkan flag boot di 14,04 - jadi saya ingin tahu apakah solusi ini hanya tersedia untuk 12,04
Mr.Gosh
2

Sedikit variasi pada resep @ root45 membuat saya aktif (pada sistem khusus Ubuntu). Saya tidak membuat bagian partisi yang dapat di-boot dari array Raid.

Saya membuat partisi GRUB kecil yang dapat di-boot (saya memilih opsi editor partisi: "use is 'bootgrub'" atau yang serupa) dan tidak menjadikannya bagian dari perangkat Raid bersamaan dengan partisi swap dan data (/).

Anda dapat menulis ulang data Grub2 ke partisi 'bootgrub' kapan saja .... karena memang proses instalasi akan, atas nama Anda, ketika diberikan pilihan setelah semua paket yang Anda pilih diinstal; atau kapan saja kemudian jika rusak dengan grub-install /dev/sdamengubah 'sda' ke perangkat partisi yang Anda gunakan di 'langkah satu' di atas untuk 'digunakan sebagai "bootgrub"'.

Jika Anda memilih untuk menyebabkan pemasangan banyak paket di server LAMP, misalnya, mungkin cukup lama setelah mempartisi sebelum Anda ditanya tentang cara menulis data Grub2 ke hard disk ... dan standar yang ditawarkannya pada saat itu waktu menyebabkan kesalahan sampai saya memasok perangkat partisi "bootgrub" saya ... dan semua berjalan OK dan saya memiliki sistem yang layak sekarang.

iainH
sumber
1

Saya tidak dapat membantu menginstal grub sekarang tetapi apa yang saya lakukan untuk menjalankan RAID adalah saya mengikuti instruksi ini:

Cara Menginstal Ubuntu 8.04 Dengan Perangkat Lunak RAID1 | HowtoForge - Linux Howtos dan Tutorial dan instal grub di setiap partisi raid (bukan swap).

Ini akan membantu ketika satu HDD gagal masih ada grub yang berfungsi.

K. Hendrik
sumber
Ketika saya membuat partisi pertama saya (untuk sistem file), saya tidak bisa mengatur partisi itu agar bisa di-boot. Opsi ada di sana, tetapi jika saya memilihnya, itu hanya berkedip dan mengatakan "bendera yang dapat di-boot: tidak". Saya tetap melanjutkan dan menginstalnya, tetapi saya masih mendapatkan kesalahan yang sama ketika menginstal GRUB.
Kris Harper
Hmm saya tidak mendengar tentang perilaku semacam itu sebelumnya. Apa konfigurasi tepat yang Anda gunakan untuk mengatur serangan Anda.
K. Hendrik
Saya memiliki tiga disk, sda adalah Windows 7. Yang lain, sdb dan sdc kosong ketika saya mulai. Ketika saya sampai ke manajer partisi, saya membuat partisi baru di setiap drive untuk sistem file. Panduan Anda yang terhubung mengatakan untuk mengatur ini sebagai "volume fisik untuk RAID", daripada "sistem file Ext4", jadi saya melakukan itu. Tetapi ini berarti saya tidak dapat mengatur flag yang dapat di-boot. Saya membuat sisa drive swap dan melakukan hal yang sama pada drive lain.
Kris Harper
Menurut saya, Anda tidak mengikuti instruksi sepenuhnya. Setelah Anda membuat volume serangan Anda harus memetakannya menjadi serangan setelah itu Anda menetapkan sistem file misalnya ext4 setelah itu Anda dapat menetapkan bendera bootable. Anda perlu membuat 2 partisi raid pada masing-masing drive untuk swap satu untuk /.
K. Hendrik
Yah saya akhirnya melakukannya. Tetapi panduan Anda mengatakan "Jadikan partisi bootable" sebelum membuat perangkat lunak RAID, dan penginstal tidak akan membiarkan saya melakukan itu. Saya melakukan instalasi dan membuat RAID, kemudian menetapkan / dan menukar ke dua perangkat RAID. Tetapi masih ada kesalahan ketika mencoba menginstal GRUB.
Kris Harper