LINUX.ORG.RU

Условно надёжное хранение информации на двух полудохлых НЖМД, как?

 , ,


3

3

Вопрос: «Как организовать условно надёжное хранение информации на двух полудохлых НЖМД?»

Имеются два полудохлых SATA НЖМД Seagate 1TB (у одного, согласно SMART, Reallocated Sectors Count равно Pre-fail; а у второго уже Fail). Поскольку они всё-таки не до конца дохлые, а полу, хочется их задействовать в домашнем сервере на Ubuntu 16.04.2 и добиться максимально возможной надёжности. Предположим как максиму: диски будут использоваться для хранения важной информации. Причём, важная информация будет двух видов: много мелких файлов (скажем, фотки по 10MB) и большие файлы (например, образы дисков с других компьютеров — 30-200GB). Есть ли приемлемое решение у данной задачи?

У меня знаний по этой теме ноль, поэтому мысль останавливается где-то на «забацать софтовый RAID 1, сверху накатить ZFS и использовать important»... Что же получится в итоге, неясно, ибо ни первого, ни второго я никогда ещё не делал :) Причём, если решение будет найдено, к нему в обязательное дополнение, как я понимаю, нужен ещё мониторинг как минимум динамики того же параметра SMART Reallocated Sectors Count.

Спасибо за ваше внимание и время!

[РЕШЕНО] Для обеспечения максимально возможной сохранности данных на двух полудохлых НЖМД нужно использовать ZFS в режиме «зеркала» и выставить количество хранимых копий каждого файла в 2 (можно 3). Использовать такое решение с осторожностью, чётко понимая, что применённые меры всё равно НИЧЕГО НЕ ГАРАНТИРУЮТ.

Подробнее тут.



Последнее исправление: amokmen (всего исправлений: 3)

забацать софтовый RAID 1, сверху накатить ZFS

добавь третий полутрупик и сделай zfs raid-z

imul ★★★★★
()
Ответ на: комментарий от imul

Добавлять тоже ничего не хочу. Вот есть два неприкаянных диска — мечтаю, чтобы дослужили верой и правдой сколько им там ещё отмерено и ушли на покой достойно, не заставив меня горько их оплакивать :) Допустим, как более-менее надёжная файлопомойка с прогнозируемым* поведением или как одна из ступеней резервного копирования данных.

*Я должен чётко понимать (и иметь возможность удостовериться), что если залил 100GB образ, то он там будет некоторое (какое?) время (в зависимости от чего?) в сохранности.

P. S. Так-то у меня под домашний архив есть NAS с RAID 1 и не дохлыми 2TB дисками.

amokmen
() автор топика

Лучше еще их разделить пополам, и сделать рэйд из четырех огрызков. Тогда в случае выхода из строя одного, на втором случившйся бэд блок не сделает пушного зверька всем данным сразу.

timdorohin ★★★★
()
Ответ на: комментарий от amokmen

Кстати, на raid'ах советую ставить reiser4 со сжатием и плюшками. Больше засунешь, т.к. zfs в нормальное сжатие не умеет.

timdorohin ★★★★
()
Ответ на: комментарий от King_Carlo

Ага, я это уже начал подозревать :) Т. е. в общем и целом ход моих мыслей верный? Продолжать усиленно гуглить «ZFS» и не дёргаться? А после разворачивания просто мониторить: 1) логи этой ZFS на предмет несовпадений контрольных сумм файлов и 2) SMART'а?

amokmen
() автор топика
Ответ на: комментарий от timdorohin

Не, сжатие не интересует, только надёжность. Проц ещё поди грузить будет, а он на моём HP MicroServer не ахти какой шустрый.

amokmen
() автор топика
Ответ на: комментарий от amokmen

логи этой ZFS на предмет несовпадений контрольных сумм файлов

Периодически делать zfs scrub yourpool

SMART'а?

Однозначно.

King_Carlo ★★★★★
()
Последнее исправление: King_Carlo (всего исправлений: 1)
Ответ на: комментарий от King_Carlo

Засунь свое lz4 откуда вынул. Оно _не применимо_ для блочной работы. Проверено неоднократно, годится только пустое место сжимать. Даже lzo лучше его.

timdorohin ★★★★
()
Ответ на: комментарий от amokmen

Не бздо, все нормально работает на ультранищебродском селероне n3050 (5 Ватт - ноутбучный).

А zfs выкинь, она - кака (только на линуксах, правда).

timdorohin ★★★★
()
Ответ на: комментарий от King_Carlo

Нет, я тот, кто гонял тесты сжатия в блочном режиме. И как ни странно lzo обогнал и по степени сжатия и по скорости. LZ4 сделано для потоковой работы, где не надо много сжатия. Для хранения оно бессмысленно, процессору хватит мощи разжимать gzip на максимальной скорости ЖД.

timdorohin ★★★★
()
Ответ на: комментарий от timdorohin

Нет, я тот, кто гонял тесты сжатия в блочном режиме.

Результаты тестов покажи. Давай ссылку, не стесняйся.

King_Carlo ★★★★★
()
Ответ на: комментарий от King_Carlo

Я разбивал файлы на 64к блоки и гонял на них архиваторы. Высчитывал процент по общему размеру файлов. При желании осилишь повторить эксперимент.

timdorohin ★★★★
()
Последнее исправление: timdorohin (всего исправлений: 1)
Ответ на: комментарий от timdorohin

Что за дичь? Твои экзерсисы не имеют никакого отношения к сжатию данных в zfs. Я, в отличии от тебя, не измеряю член линейкой с последующей интерпретацией результатов на весь окружающий мир, а использую zfs в продакшене и lz4 для сжатия и повышения скорости чтения-записи очень-очень хорош.

King_Carlo ★★★★★
()
Ответ на: комментарий от timdorohin

Лучше еще их разделить пополам, и сделать рэйд из четырех огрызков. Тогда в случае выхода из строя одного, на втором случившйся бэд блок не сделает пушного зверька всем данным сразу.

Это хороший способ задрочить уже полуживые диски до мертвого состояния.

anonymous
()

munin сгодится как легкий мониторинг СМАРТ и кучу всего другого.

rt072
()
Ответ на: комментарий от anonymous

Если промахнутся мимо начала блинов, то да. Мне приходилось так извращаться, так что теперь я знаю, что на сигейтах так делать нельзя ( у них блоки разделены по головкам и пластинам странно, А на WD удалось так разделить, что диск вообще не папрягался)

timdorohin ★★★★
()

О, полудохлые сигейты ;)

Надо взять себя в руки и решительно выкинуть каку. Суть в том, что у таких сигейтов в состоянии «куча ремапов» поведение становится сильно непредсказуемым, т.е. диск может начать, наткнувшись на нечитаемый сектор, впадать в ступор до переключения питания. Или вовсе перестать выходить в готовность. При этом никто не даст гроша за то, что второй диск не начнет вести себя так же, когда с него придется читать полностью все «важные» данные. Но… Если данные на самом деле не важны, то можно погуглить способы приведения таких дисков в чувство после того, как у них полностью забивается g-list, потом запустить любую сканировалку скорости чтения и разбить диски так, чтоб использовать только области, где эта скорость имеет приемлемые значения. Но… совет выкинуть каку все ж на мой взгляд самый в этой ситуации разумный.

olegkrutov ★★
()
Ответ на: что странного там? от olegkrutov

Эти куски разбросаны поочередно по всем четырем головам. А у WD оказалось что линейно для каждой пары голов.

Т.е. половина диска от начала на первой паре голов, на второй соответсвенно вторая половина.

timdorohin ★★★★
()
Последнее исправление: timdorohin (всего исправлений: 1)
Ответ на: комментарий от amokmen

мечты, мечты…

Единственный способ не оплакивать — не хранить там ничего вообще. Я писал выше. Еще неплохо помнить, что в режиме простоя у них работает самосканирование поверхности, то есть триггер может сработать вообще на ровном с виду месте. Хочется высокой вероятности граблей и секса — ну велкам, чо…

olegkrutov ★★
()
Ответ на: комментарий от timdorohin

ерунда.

Сколько я ни делал карт для чтения по головам, всё у них одинаково, с начала до конца все головы равномерно уменьшающимися полосами. А откуда, кстати, сведения, что именно вот так?

olegkrutov ★★
()
Ответ на: комментарий от timdorohin

Ты пишешь какую-то дичь не разбираясь в вопросе.

anonymous
()
Ответ на: комментарий от King_Carlo

Да, у вас там по умолчанию при сжатии блок размером 128к. Это что-то сильно меняет?

Подобные тебе «свидетели ZFS» надоели. Успокойся уже, и пойми что у всего есть своя ниша. И zfs у меня прекрасно работает на файловом ханилище в raidz1 режиме. Только у меня там кетайский ксеон с 32ГБ ECC памяти. ZFS сильно нагружает процессор, особенно в raid-режимах. Ее место - в глубоком энтерпрайзе, где надо хранить большие массивы данных. Ей не место на двух полудохлых дисках.

З.Ы. рейзер всё-равно жмет лучше. Ужимает /usr/portage до 60МБ

timdorohin ★★★★
()
Ответ на: ерунда. от olegkrutov

Конечно, черный ящик я не могу точно проанализировать, но это было определено косвенно по скорости считывания. Линейное чтение ~70МБ/с. линейное чтение одновременно с начала и с половины диска - то же самое. Но если убежать одним потоком вперед на какой-то чертов мегабайт, диск начал трещать и тормозить.

timdorohin ★★★★
()
Ответ на: комментарий от timdorohin

Так при чём тут головы по отдельности?

У них убитые куски случаются на разных головах также. А чтоб изучить черный ящик, достаточно немного усидчивости, питона, инета и конвертора uart-ttl ;)

olegkrutov ★★
()
Ответ на: комментарий от timdorohin

И zfs у меня прекрасно работает на файловом ханилище в raidz1 режиме
ZFS сильно нагружает процессор, особенно в raid-режимах

а ты не только ламер, но и пизд&бол оказывается

anonymous
()
Ответ на: О, полудохлые сигейты ;) от olegkrutov

Выкинуть это слишком быстро и просто :) А как же спортивный интерес (вдумчивый, естественно)? Пока дышат, дадут мне возможность поизучать ZFS — уже польза.

Кстати, никаких конкретных предложений, отличных от моего же стартового предположения, для решения указанной задачи до сих пор ещё не поступало. Не умеют люди абстрагироваться :) То выкинуть предлагают, то сжатие зачем-то применять :) Надо было изначально формулировать задачу как «сижу на необитаемом острове, есть два полудохлых диска и нужно как можно дольше и лучше на них хранить важную для всего человечества информацию» :)

amokmen
() автор топика
Ответ на: комментарий от amokmen

Потому что кроме zfs, с чексумами блоков и автокоррекцией, и нет вариантов в твоём случае. Можешь вместо зеркала потыкать параметр ditto blocks - количество копий блока в пуле устройств.

anonymous
()
Ответ на: комментарий от anonymous

Понимаешь, то, что является большой нагрузкой какому-то I7, не сильно-то и грузит 12-ядерный Xeon. И да, там мне нужна ZFS из-за ее фич. Но тыкать ее где-то на полудохлом железе - бессмысленно, огребешь головной боли только.

timdorohin ★★★★
()
Ответ на: комментарий от timdorohin

блаблабла

Это всё замечательно, только вот zfs не является сколь либо большой нагрузкой и какого-нибудь вшивого селерона или пентиума g серии хватит за глаза.

anonymous
()
Ответ на: комментарий от iZEN

Она надежнее. И нормально работает у меня на диске. Оч удобно загружаться с любого снапшота на выбор. И скорость записи нормальная.

Мне больше всего нравится ее работа на дисках с бэдами. Ни разу не падала от них.

timdorohin ★★★★
()
Ответ на: комментарий от timdorohin

«Бэд» - это переназначенный блок адресуемого пространства носителя в резервную область. Кроме увеличения времени доступа при линейных чтении и записи данных он ничем не отличается от «хороших» блоков. Другое дело настаёт, если бэд-блоков столько накопилось, что резервной области для них уже не хватает: при попытках чтения записи обращения к диску заметно тормозиться на секунды или даже минуты. В этом случае диск действительно использовать не следует и лучше заменить. Однако, NTFS и ZFS нивелируют и эти проблемы, так как обладают механизмом определения бэд-блоков и на своём уровне замещают аппаратную адресацию «плохих» блоков программной обработкой.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Именно невосстановимые поврежденные сектора я и имею в виду под бэд блоками. Только дело в том, что если они уже известны, практически все ФС умеют их обходить (fat,ext2-4,btrfs,reiser3-4,zfs,ntfs,nilfs,ufs)

Но! Что с этими ФС будет, если блок ВНЕЗАПНО сдохнет, в момент чтения? Вот в чем вопрос с сигейтами. Они очень любят так делать.

timdorohin ★★★★
()

В общем воткнул в свой HP Microserver (AMD Turion II Neo N40L Dual-Core Processor; RAM 2GB ECC) два НЖМД в дополнение к основному, на котором стоит Ubuntu Server 16.04.2. И понеслась:

sudo apt install zfsutils-linux
man zpool
man zfs
sudo zpool create -f zfspool mirror /dev/sdb /dev/sdc
sudo zfs create zfspool/trash
sudo zfs create zfspool/trash/important
sudo zfs set copies=2 zfspool/trash/important
sudo zfs compression=lz4 zfspool/trash/important
Расшарил в Самбе /zfspool/trash/important, и начал туда писать по сети. Пока тестирую заливку крупных файлов на 309GB. Загрузка проца именно на операцию записи согласно top ~7% us (причём больше всех жрёт smbd). Скорость записи, если верить Винде, ~42MB/s. Позже зашлю туда кучку мелких.

Сначала залил один файл размером 12GB и запустил sudo zpool scrub. Процедура проверки заняла ~5 минут для 24GB, проц не грузился вообще.

Всё быстро и здорово, однако остаётся вопрос, куда срёт ZFS если обнаружит нарушение целостности данных? В /var/log/syslog? Кто даст ключевое слово для grep?

amokmen
() автор топика
Ответ на: комментарий от amokmen

Радует одно,

Пока не перевелись люди с таким оптимистичным подходом к жизни и любимым данным, у нас не переведутся клиенты ;)

olegkrutov ★★
()
Ответ на: комментарий от iZEN

Теоретики в треде, хе

А ничего, что сплошь и рядом это бывает не«даже минуты», а полное превращение устройства в тыкву — как повезёт, или до цикла питания, или до вмешательства с починкой служебной области? Не встречал? А у человека все шансы.

olegkrutov ★★
()
Ответ на: Радует одно, от olegkrutov

Каждый раз общаясь в этих ваших интернетах всё более убеждаюсь, что по большей части люди ведут какой-то внутренний монолог со своими мыслями, вместо диалога с собеседником :)

Где?! Где вы увидели мой оптимистичный подход? Если бы он был, то и темы этой не было — я бы втупую зазеркалил два диска и писал бы на них. Моя задача использовать два диска, по возможности, пока дышат. А заодно, потренироваться на них - изучить что-то для себя новое на практике, а не в теории. И первое, и второе я собираюсь делать осознанно. Значение слова осознанно, надеюсь, не нужно пояснять?

В любом случае спасибо за участие в теме: если не мне, то кому-то другому ваши предостережения и, в общем случае, мудрый совет выкинуть сбойные диски во избежание, пригодятся.

amokmen
() автор топика

Когда дело доходит до reallocated sector, гермоблок уже достаточно изрядно покрыт пылью от разрушенного магнитного покрытия и дальше деградацию вряд ли остановишь.

dn2010 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.