Чи захищає RAID 1 від корупції?


14

Чи захищений Raid 1 від корупції даних? Наприклад, скажімо, що я зберігаю всі мої важливі файли в NAS, що використовує 2 диски в RAID 1. Якщо на одному жорсткому диску є якась внутрішня проблема, і дані пошкоджуються, RAID визнає це автоматично та правильним це з використанням даних з іншого хорошого диска?

Чи могла вона навіть знати, яка копія хороша?

Чи захищає RAID 5 від корупції?

Я знаю, що RAID - це не резервне рішення. Я намагаюся розібратися, як переконатися, що я не створюю резервні копії пошкоджених даних!

Відповіді:


13

RAID-1 захищає від повного виходу з ладу одного з двох накопичувачів. Якщо накопичувач не позначений як збій, то його вміст вважається точним. Але якщо з будь-якої причини один з двох накопичувачів повертав суперечливі дані, система RAID не виявила б цю помилку, і програма отримала б погані дані.

У багатьох контролерах є процес перевірки, який запускається періодично, але мета цього - перевірити наявність несправності на диску, а не цілісність даних. Жорсткі диски реалізують власні тести на цілісність даних та контрольні суми, які вони використовують для виявлення поганих секторів, але алгоритм розроблений таким чином, щоб він був швидким і компактним, а не ретельним, тому помилки можуть просочуватися.

Хоча корупція даних є винятком, а не правилом, це також не є нечуваним. Наприклад, член команди ZFS повідомив в інтерв'ю, побачивши пошкоджені дані, що їх змиває їх високий клас пристрою RAID-5, який вони помітили в силу того, що ZFS реалізує контрольні суми на тому рівні файлової системи.


5

Це залежить від того, звідки походить корупція. Якщо диск у дзеркалі RAID 1 є гнучким і пише дурниці, то дзеркало RAID погіршиться, а хороший диск буде використаний, і ви матимете хороші файли. У випадку з RAID 5 це робиться за допомогою двох накопичувачів даних та накопичувача паритету (у найпростішій формі), і якщо один із 3-х дисків не зможе записати належні файли, він вийде з ладу, і вам залишиться 2 дані диски або 1 накопичувач даних і диск з парністю.

Тепер давайте подивимося, що станеться, якщо збиток спричинений вірусом або помилкою в програмі. У RAID 1 та RAID 5 жоден привід не буде виведений із експлуатації, оскільки накопичувачі записуються належним чином. Нічого не вдалося. Однак файли будуть знищені, оскільки вірус або помилка пише небажаний, і він запише їх як на ваші диски в дзеркалі RAID 1, так і на всі 3 ваші диски в системі RAID 5.

Ось чому RAID не є резервним. Це запобігає найбільш ймовірний збій - збій диска, але не враховує безліч інших сценаріїв.


4
+1 "Ось чому RAID не є резервним копієм" Бог знає, скільки разів я чув "Я все в порядку, закрив резервну копію RAID"
Урда,

2
Як RAID може розрізняти, які дані хороші, а які погані?

1
Shaun ... якщо ваші дані з'їдений вірусом або випадково видалений, RAID ніколи не може відрізнити його як добрий чи поганий. Весь RAID, який відповідає за переконання, що (в RAID 1) обидва диски рівні. Якщо сектор відмовить від контрольної суми, контролер RAID компенсує його відновленням або запускає відновлення. У RAID 5, якщо сектор не виконує перевірку паритету, запускається відновлення. RAID захищає фізичні диски від виходу з ладу та наслідків втрати даних. Вони не можуть захистити від даних, втрачених програмними помилками або вірусами.
Урда

6
Ваша характеристика RAID 5 неточна. Окремого приводу парності немає, натомість паритет розподіляється на всі диски. У вас є загальний доступний простір n-1, але немає приводу, присвяченого паритету.
MDMarra

2
Я повинен спростувати це. RAID1 не робить контрольну суму, вона лише захищає від повної несправності накопичувача. Якщо один привід почне повертати сміття, він не має можливості сказати, який з них правильний, і з радістю поверне дані про сміття. RAID5 Я не впевнений в цьому через перевірки паритету. Саме тому були винайдені файлові системи на зразок ZFS та BTRFS, щоб ви отримали систему, схожу на дані, RAID-подібну систему, яка може правильно виправляти дані про сміття за допомогою контрольних сум для перевірки блоків даних.
Олексій

5

Як зазначають інші, система raid1 не може сказати, який із двох секторів поганий.

Рейдові системи вищого кінця виконують операцію скрабування у фоновому режимі для порівняння відмінностей як копій, так і позначок. Ще краще - це система, яка щоразу читає обидва блоки з диска та порівнює їх під час читання. Однак вирішити ці відмінності неможливо для контролера рейду.

У системах Unix під mdadm перевірку скрабу можна ініціювати за допомогою "синхронізації":

md-масиви можна очистити, записавши або перевірити, або відновити у файл md / syncgery в каталозі sysfs для пристрою.

Запит скрабу призведе до зчитування md кожного блоку на кожному пристрої в масиві та перевірки відповідності даних. Для RAID1 та RAID10 це означає перевірити, чи є копії однаковими. Для RAID4, RAID5, RAID6 це означає перевірити правильність блоку парності (або блоки).

raid1 - все про захист від раптової повної несправності приводу. Шукайте в іншому місці захист від корупції. Крім того, Raid1 не пропонує "історії", тому не може відновитися після помилок людини або програмного забезпечення. Зверніться до файлових систем на зразок ZFS або збереження історії файлової системи типу Hammer для захисту від корупції.


3

На практиці так. Переважна більшість збоїв на жорсткому диску трапляються повністю або нічого. Або (а) кабель відключений від мережі або мікроконтролер накопичувача вийшов з ладу, тому контролер RAID взагалі не отримує відповіді - очевидно, несправний диск. Або (b) Мікроконтролер кабелю та приводу добре, але коли він намагається прочитати сектор, мікроконтролер внутрішнього накопичувача виявляє пошкодження даних через те, що внутрішня контрольна сума ECC не вдався, і неодноразові спроби зчитувати цей сектор (у випадку, якщо це тимчасова помилка читання ) Врешті-решт вимкнеться час, тому контролер RAID отримує ввічливу "вибачливу" відповідь - очевидний невдалий диск. У будь-якому випадку, для контролера RAID-1 або RAID-5 очевидно, що диск не вийшов з ладу.

В принципі, ні. Якщо щось пішло настільки не так, що на жорсткий диск пишеться дурниць, і все-таки якимось чином працює досить добре, щоб написати правильний внутрішній код ECC для цієї дурниці, то RAID-1 не може сказати, який диск є правильним. Система RAID-1, ймовірно, замінить хороші дані з пошкодженими даними на ресинхроні. RAID-5 не кращий. Вимкнення електроенергії "RAID-5" в режимі запису під час активного запису є одним із рідкісних, але не неможливих випадків.

Наскільки мені відомо, єдиний спосіб уникнути такої корупції - це використання контрольних сум в кінці на додаток до дзеркального відображення файлів, або автоматично, як частина файлової системи (ZFS або Btrfs), або періодично або вручну (перерахунок контрольних сум rsync, проста перевірка файлів, набір файлів Parchive тощо); в ідеалі з криптографічним хешем, таким як SHA-256.


Будь-який шанс ви зможете дати відповідь на це .... superuser.com/questions/736612/…
Мік
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.