Saya memiliki server media rumah yang berjalan di openSUSE 12.2. Saya menggunakan delapan drive 2TB dalam konfigurasi RAID-10. Saya sengaja membeli dua jenis drive: empat Seagate Barracuda Green dan empat Western Digital Red. Tujuan saya adalah untuk mengkonfigurasi RAID sehingga setiap pasangan cermin dalam array akan terdiri dari drive yang berbeda (yaitu, satu drive Seagate dan satu drive WD). YaST2 Partitioner sayangnya tidak memberi saya tingkat pilihan ini dalam struktur array, jadi sekarang saya mencoba mencari tahu seperti apa struktur RAID10 default.
Saya tahu yang berikut ini:
- sdc, sdd, sde, dan sdf adalah semua drive WD
- sdg, sdh, sdi, dan sdj adalah semua drive Seagate
Saya memilih tata letak 'n2' default saat membuat RAID. Dugaan saya berdasarkan info dari dua sumber ini adalah bahwa drive yang berdekatan dicerminkan (yaitu, sdc == sdd, sde == sdf, dll), tapi saya ingin tahu pasti:
- http://en.wikipedia.org/wiki/Non-standard_RAID_levels#Linux_MD_RAID_10
- /server/200725/mirrored-and-stripped-hd-drives-in-raid10
Berikut ini adalah output dari 'mdadm --detail / dev / md0':
/dev/md0: Version : 1.0 Creation Time : Sat Mar 16 12:55:11 2013 Raid Level : raid10 Array Size : 7814045696 (7452.05 GiB 8001.58 GB) Used Dev Size : 1953511424 (1863.01 GiB 2000.40 GB) Raid Devices : 8 Total Devices : 8 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Sat Mar 16 13:09:37 2013 State : active, resyncing Active Devices : 8 Working Devices : 8 Failed Devices : 0 Spare Devices : 0 Layout : near=2 Chunk Size : 2048K Resync Status : 1% complete Name : aldaris:0 (local to host aldaris) UUID : c6cc3943:97394500:b77d44cd:f02ed876 Events : 149 Number Major Minor RaidDevice State 0 8 33 0 active sync /dev/sdc1 1 8 49 1 active sync /dev/sdd1 2 8 65 2 active sync /dev/sde1 3 8 81 3 active sync /dev/sdf1 4 8 97 4 active sync /dev/sdg1 5 8 113 5 active sync /dev/sdh1 6 8 129 6 active sync /dev/sdi1 7 8 145 7 active sync /dev/sdj1
Dan di sini adalah isi dari / proc / mdstat:
Personalities : [raid10] md0 : active raid10 sdj1[7] sdi1[6] sdh1[5] sdg1[4] sdf1[3] sde1[2] sdd1[1] sdc1[0]
7814045696 blocks super 1.0 2048K chunks 2 near-copies [8/8] [UUUUUUUU]
[>....................] resync = 4.8% (375163456/7814045696) finish=1206.5min speed=102751K/sec
bitmap: 57/59 pages [228KB], 65536KB chunk
unused devices: <none>
Jadi pertanyaan saya adalah:
- Bagaimana cara mengetahui drive mana yang merupakan mirror satu sama lain?
- Apakah ada cara untuk mengubah ini, atau haruskah saya menukar kabel sekitar (karena itu akan menukar huruf drive) dan kemudian membangun kembali RAID?
Terima kasih sebelumnya.
Catatan tangensial, bagi siapa pun yang ingin tahu alasan saya untuk melakukan ini adalah: Drive dengan model dan batch yang sama, dioperasikan di bawah beban penggunaan yang serupa, waktu kerja, dan suhu memiliki sedikit variasi sistematis, dan perbedaan waktu kegagalan antara drive akan didorong terutama dengan variasi acak dalam proses pembuatan. Ini meningkatkan risiko beberapa drive sekarat sekaligus. Dengan membeli drive tidak hanya dari batch yang berbeda tetapi juga produsen yang sama sekali berbeda, saya memperkenalkan variasi sistematis ke dalam array saya, sehingga mempengaruhi drive mana yang akan gagal pada waktu yang sama.
RaidDevice
kolomnya. Mungkin sesederhana (0,1), (2,3), (4,5), (6,7). Itu akan membuat saya berasumsi bahwa Anda perlu membuat RaidDevice berbaris seperti WD / Sea / WD / Sea / dll ... Tapi saya tidak 100% yakin tentang itu.Jawaban:
Versi terbaru
mdadm
menunjukkan ini tepat di dalam detail array. Contoh darimdadm v3.3 - 3rd September 2013
Perhatikan denotasinya
set-A
atauset-B
. Dalam kasus di atas,sdd
dansdb
bisa gagal bersama tanpa kehilangan data. Mungkin saja data ini tidak tersedia saat array sedang dibangun kembali.sumber
Saya memiliki masalah yang sama dan setelah googling beberapa saat saya tidak menemukan jawaban yang dapat diandalkan. Setelah memberikan beberapa pemikiran, saya pikir cermin memiliki data yang sama sehingga kami dapat membandingkan beberapa bagian darinya.
CATATAN: HATI-HATI, JIKA ANDA MEMILIKI LEBIH DARI 2 DRIVA DENGAN CHECKSUM YANG SAMA ANDA MUNGKIN PERBANDINGAN KECEPATAN KOSONG, PILIH LAINNYA OFFSET (lewati opsi).
Dengan beberapa perintah ini, Anda dapat mengetahuinya:
Ini akan menampilkan sesuatu seperti:
Sekarang kita tahu bahwa sda / sdb adalah satu mirror dan sdc / sdd yang lain. Masing-masing harus tetap tinggal untuk menghindari kehilangan data.
Perintah "dd" membaca satu kali (hitungan = 1) satu Megabyte (bs = 1M) pada satu offset Megabyte dari mulai disk (lewati = 1M). Jangan lewati = 0, karena awal disk berisi informasi yang berbeda. Data biasanya dimulai setelah 1MB.
sumber
dd if=/dev/$disk skip=1M bs=1M count=1
tidak bekerja untuk saya.dd (coreutils) 8.23
dari Debian 8 (Jessie) tidak mendukungskip
dengan unit. Sebagai gantinya saya menggunakan diskip=1
mana1
relatifbs
. Mungkin salah ketik?d41d8cd98f00b204e9800998ecf8427e
Andadd
gagal. Itu adalah hash dari string kosong :-)Saya pikir Anda berbicara tentang serangan 10 array nyata (1 + 0 mirroring bergaris)
1. Buat 4 array raid1 Anda:
Pada saat ini Anda memiliki 4 serangan 1 array dengan ruang 2TB pada masing-masing,
2. Mari kita kumpulkan mereka!
Opsi - run berguna karena beberapa komponen aktif di array lain
3. Adaptasi file mdadm.conf Anda
Anda mungkin perlu (tergantung dari konfigurasi Anda) untuk mengadaptasi file ini untuk mencerminkan perubahan tentang array baru kami (/ dev / md4).
4. Nikmati .. Array DIY raid10 baru Anda!
sumber
Anda selalu dapat memverifikasi mana mirror dengan cara mentah membandingkan data, misalnya:
(jika Anda tidak mendapatkan kecocokan, Anda mungkin perlu meningkatkan lewati = , karena Anda tidak melewatkan RAID superblocksl; dan jika Anda mendapatkan md5sum yang sama untuk lebih dari 2 disk, Anda mungkin perlu meningkatkan jumlah = , karena Anda Mungkin membaca dan memangkas angka nol - untuk mencegah Anda harus meletakkan beberapa data pada serangan itu terlebih dahulu, jika tidak mereka mungkin penuh dengan nol)
Adapun kabel swapping sekitar, Anda tidak perlu melakukan itu - mdadm harus membuat raid dengan perangkat seperti yang ditentukan pada baris perintah di mdadm - buat , jadi Anda hanya akan menentukan drive dalam urutan yang berbeda pada baris perintah.
sumber
Jalankan "mdadm --examine device" pada setiap perangkat komponen (yaitu / dev / sda1, / dev / sdb1, dll.). Informasi di sana akan membantu Anda menentukan komponen mana yang merupakan cermin masing-masing.
sumber