Apa perbedaan antara membuat array mdadm menggunakan partisi atau seluruh disk secara langsung

26

Bisakah seseorang tolong jelaskan kepada saya, apa bedanya antara membuat mdadmarray menggunakan partisi atau seluruh disk secara langsung? Andaikata saya bermaksud menggunakan seluruh drive. Perhatikan, bahwa mereka menggunakan GPT.

Bayangkan RAID6 dibuat dengan dua cara, baik:

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

atau:

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Apakah ada perbedaan?

EDIT1: Maksud saya misalnya untuk keandalan atau pengelolaan atau operasi pemulihan pada array tersebut, dll.

EDIT2: Saya menggunakan drive pabrikan yang berbeda. Tapi itu bukan pertanyaan sebenarnya. Mereka semua memiliki ukuran yang sama persis, saya mengerti, mungkin ada produsen yang membuat drive dengan ukuran yang sedikit berbeda. Tetapi demi pertanyaan ini, mari kita asumsikan ukurannya sama.

EDIT3: Semacam penafian: Sejauh ini saya selalu mempartisi drive.

LinuxSecurityFreak
sumber
2
Saya selalu ingin tahu tentang hal ini tetapi tidak pernah bertanya kepada siapa pun. Satu perbedaan yang saya lihat adalah menggunakan disk yang dipartisi (sda1, dll) Anda mendapatkan sedikit lebih sedikit ruang disk (beberapa KB) karena GPT menyimpan beberapa ruang untuk informasi partisi.
GMaster

Jawaban:

25

Perbedaan terpenting adalah memungkinkan Anda meningkatkan fleksibilitas untuk penggantian disk. Lebih rinci di bawah ini bersama dengan sejumlah rekomendasi lainnya.

Orang harus mempertimbangkan untuk menggunakan partisi daripada seluruh disk. Ini harus di bawah rekomendasi umum untuk mengatur array dan tentu saja akan membuat Anda sakit kepala di masa depan ketika penggantian disk lebih lanjut diperlukan.

Argumen yang paling penting adalah:

Disk dari pabrikan yang berbeda (atau bahkan model yang berbeda dari kapasitas "sama" dari pabrikan yang sama) tidak harus memiliki ukuran disk yang persis sama dan, bahkan perbedaan ukuran terkecil, akan mencegah Anda mengganti disk yang gagal dengan yang lebih baru jika yang kedua lebih kecil dari yang pertama. Partisi memungkinkan Anda untuk mengatasi hal ini;

Catatan tentang mengapa menggunakan disk pabrikan yang berbeda: Disk akan gagal, ini bukan masalah "jika" tetapi "kapan". Disk dari pabrikan yang sama dan model yang sama memiliki sifat yang serupa, dan karenanya, peluang yang lebih tinggi untuk gagal bersama dalam kondisi dan waktu penggunaan yang sama. Sarannya adalah menggunakan disk dari pabrikan yang berbeda, model yang berbeda dan, khususnya, yang tidak termasuk dalam kelompok yang sama (pertimbangkan untuk membeli dari toko yang berbeda jika Anda membeli disk dari pabrikan dan model yang sama). Ini tidak jarang bahwa disk kedua gagal terjadi selama resotre setelah penggantian disk ketika disk dari batch yang sama digunakan. Anda tentu tidak ingin ini terjadi pada Anda.

Jadi rekomendasinya:

1) Mempartisi disk yang akan digunakan dengan kapasitas yang sedikit lebih kecil dari keseluruhan ruang disk (misalnya, saya memiliki array RAID5 dari disk 2TB dan saya sengaja mempartisi mereka membuang sekitar 100MB di masing-masing). Kemudian, gunakan / dev / sd? 1 dari masing-masing untuk menyusun array - Ini akan menambah margin keselamatan jika seandainya disk pengganti baru memiliki lebih sedikit ruang daripada yang asli digunakan untuk merakit array ketika itu dibuat;

2) Gunakan disk dari berbagai produsen;

3) Gunakan disk model yang berbeda jika pabrikan yang berbeda bukan pilihan untuk Anda;

4) Gunakan disk dari batch yang berbeda;

5) Gantikan disk secara proaktif sebelum gagal dan tidak semuanya sekaligus. Ini mungkin sedikit paranoid dan sangat tergantung pada kritikalitas data yang Anda miliki. Saya menggunakan disk yang memiliki perbedaan usia 6 bulan satu sama lain;

6) Buat cadangan rutin (selalu, terlepas dari apakah Anda menggunakan array atau tidak). Raid tidak melayani tujuan cadangan yang sama. Array memastikan ketersediaan tinggi, Cadangan memungkinkan Anda mengembalikan file yang hilang (termasuk file yang terhapus secara tidak sengaja atau rusak oleh virus, beberapa contoh sesuatu yang menggunakan array tidak akan melindungi Anda dari).

OBS: Kecuali untuk semua rasional yang tidak dapat diabaikan di atas, tidak ada banyak perbedaan teknis lebih lanjut antara menggunakan / dev / sd? vs / dev / sd? #.

Semoga berhasil

Marcelo
sumber
Itu sebagian besar tidak berhubungan ...
user1133275
Namun, saya kira peringatan @Kalavan merujuk pada penggunaan beberapa partisi dalam disk yang sama dengan komponen-komponen array. Itu tentu tidak masuk akal karena menghilangkan redundansi. Kami tahu, bagaimanapun, bahwa ini bukan maksud pertanyaan Anda, peringatan-Nya tetap masuk akal.
Marcelo
Jika mengelola partisi secara manual tampaknya merepotkan, orang harus menggunakan sfdisk -d src | sfdisk tgtatausgdisk --backup && sgdisk --load-backup
andyn
7

Argumen penting lainnya adalah bahwa beberapa mainboard dapat menghapus superblok RAID Anda jika Anda menggunakan seluruh perangkat disk dan tidak sangat berhati-hati dengan menghapusnya saat menambahkan disk ke array RAID yang dulunya adalah perangkat GPT.

Saya belajar ini dengan cara yang sulit, ketika UEFI mainboard ASRock saya membuat RAID saya tidak dapat digunakan:

Untuk melindungi diri Anda dari ini, selalu jalankan sgdisk --zapdi disk yang sebelumnya diformat GPT yang ingin Anda gunakan untuk RAID seluruh perangkat.

wipefs -a mungkin juga berfungsi untuk menghapus semua jenis info partisi sisa (tidak hanya GPT) sebelum menambahkan perangkat ke disk.


Yang mengatakan, hanya menggunakan partisi sepertinya merupakan praktik terbaik untuk membuat ini lebih kecil kemungkinannya terjadi .

Saya tidak pernah tahu apa argumen sebenarnya untuk praktik terbaik ini (di luar jawaban Marcelo yang menjelaskan bahwa ia dapat menangani disk dengan ukuran yang sedikit berbeda). Sekarang saya tahu.

Omong-omong, jika ini terjadi pada Anda, data Anda tidak hilang. Kemungkinan besar Anda hanya dapat sgdisk --zapmenggunakan perangkat, dan kemudian membuat ulang RAID dengan mis. mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc /dev/sdd(Mdadm akan memberi tahu Anda bahwa itu sudah mendeteksi data sebelumnya, dan menanyakan apakah Anda ingin terus menggunakan kembali data itu). Saya sudah mencoba beberapa kali ini dan berhasil, tetapi saya tetap menyarankan untuk mengambil cadangan sebelum Anda melakukannya.

nh2
sumber
2

Ada beberapa posting yang mengutip masalah dengan menggunakan seluruh perangkat sebagai anggota RAID, bukan partisi, satu di sini . Saya dapat mengonfirmasi hal itu.

Jadi, jika Anda membuat RAID menggunakan seluruh perangkat (katakanlah, /dev/sda, /dev/sdb, ... bukan pada /dev/sda1, /dev/sdb1, ...) perangkat RAID tidak memasang kembali setelah reboot bahkan jika Anda memiliki konfigurasi disimpan di bawah mdadm.conf. Ada juga kemungkinan firmware mainboard menimpa atau menghapus superblok RAID. Dalam pengaturan saya, menjalankan mdadm --assemble --scan --verbosetidak membuat saya kembali pengaturan RAID saya dan tampaknya menjadi kasus superblok RAID tidak tersedia.

Lungten
sumber
Saya menguji pengaturan RAID1 menggunakan drive 2x10GB di dalam VirtualBox. RAID dibuat pada seluruh perangkat dan dipasang kembali dengan baik setelah reboot. Masalahnya hanya dapat diterapkan pada perangkat fisik.
Lungten
0

Untuk menyelamatkan diri dari sakit kepala di masa depan, gunakan partisi. Semua drive gagal, ini bukan pertanyaan "jika" tetapi "kapan". Jika Anda menggunakan seluruh drive, maka setelah kegagalan drive, Anda harus menggantinya dengan model ukuran yang persis sama. Bahkan beberapa MB lebih besar, karena pabrikan yang berbeda, atau proses perubahan, apa pun, akan menyebabkan penggantian drive gagal.

Menggunakan partisi, ketika salah satu drive 2TB Anda saat ini gagal, Anda mendapatkan 4TB pengganti (atau apa pun, hanya perlu lebih besar), kemudian buat ukuran partisi 2TB yang sama di dalamnya. Ya, Anda mungkin membuang-buang ruang di drive besar baru itu. Menggunakan sisa drive itu sebagai partisi non-raid dimungkinkan, tetapi dapat memengaruhi kinerja dengan cara yang aneh. Setelah beberapa kegagalan drive dan penggantian, pada akhirnya Anda akan mengganti semua drive 2TB asli Anda, dan sekarang memiliki kemampuan untuk memperluas array RAID Anda untuk menggunakan ukuran partisi yang lebih besar.

JavaMan07
sumber