Рейд 1, будучи дзеркалом, залежить від того, щоб усі диски в дзеркалі були точними копіями один одного. Візьміть свій випадковий жорсткий диск та інший випадковий жорсткий диск, і, можливо, ви маєте там інші дані, тим самим порушуючи цю презумпцію. Ось чому потрібна ініціалізація. Він просто копіює вміст першого диска в інші. Зауважте, що в деяких умовах ви можете уникнути не ініціалізації накопичувачів - зазвичай на заводських нових пристроях вже є нулі в усьому місці, тому ви можете просто проігнорувати це. Цей mdadm
варіант --assume-clean
робить це, але попереджає:
--assume-clean
Скажіть mdadm, що масив існував і він, як відомо, чистий. Це може бути корисно при спробі відновлення після великої помилки, оскільки ви можете бути впевнені, що ніякі дані не вплинуть, якщо ви насправді не запишете в масив. Він також може бути використаний під час створення RAID1 або RAID10, якщо ви хочете уникнути початкового пересинхронізації, однак така практика - хоча це нормально безпечно - не рекомендується. Використовуйте це, лише якщо ви дійсно знаєте, що робите.
Якщо ви цього не зробите, між дисками і його зчитуванням є розбіжність, не знаючи, що він буде читати. Ви повинні бути досить безпечними з файловою системою (але зауважте нижче), тому що, швидше за все, ви напишете, перш ніж прочитати що-небудь з цього пристрою, і тоді вам все зрозуміло.
Зауважте, що принаймні Linux mdadm
буде ініціалізувати масив у фоновому режимі. Ви можете радісно створити FS поверх нього першої секунди. Вистава буде страждати до завершення ініціалізації, але це все.
Але:
а) Виконуючи mkfs
деякі утиліти, перевірте, чи є щось на цьому диску. Хоча це стосується лише декількох відомих областей приводу, воно читає, перш ніж щось написати, таким чином, загрожуючи вам.
б) Якщо ви робите періодичну пересинхронізацію масиву, пристрій RAID нічого не знає про ваш FS. Він просто зчитує кожен блок з кожного пристрою і порівнює їх. І якщо ви не використовуєте FS з копією на запис (наприклад, ZFS або BTRFS) і ніколи не заповнюєте свій FS, це цілком правдоподібно для блоку залишатися неініціалізованим з точки зору FS роками.
Навіщо повторно синхронізувати пристрої RAID1?
З тієї ж причини ви повторно синхронізуєтесь із пристроями RAID5 або будь-яким іншим рівнем (крім RAID0). Він зчитує всі дані та порівнює / перевіряє контрольні суми RAID (у RAID 5 або 6). Якщо трохи було перевернуто будь-яким способом (оскільки пам'ять HD отримала спонтанний фліп, тому що мобільні телефони вас та ваших 5 сусідів випадково втрутилися в цю конкретну область тарілки, що б там не було), вона виявить невідповідність, але не зможе допомогти тобі. Якщо, OTOH, один із жорстких дисків просто повідомить "Я не можу прочитати цей блок", що більш імовірно, якщо вийшов з ладу диск, ви просто виявили помилку рано і скоротили час роботи в деградованому режимі (рахуючи з збій диска, а не з того, коли ви це помітили). Рейд не допоможе вам, якщо один привід вийде з ладу, а через місяць інший вийде з ладу, якщо ви не зробите '
RAID10
Тепер для RAID10 все вищезазначене справедливо. Зрештою, RAID10 - це лише розумний спосіб сказати: "Я розміщую два пристрої RAID1 в парі RAID0".
Caveat:
Це все невизначене поведінка. Чому я перевірив Linux, використовуючи mdadm
інші програми програмного забезпечення RAID, може поводитися по-різному. Інші версії ядра та / або mdadm
інструментів Linux, ніж я використовую, також можуть поводитись інакше.