Вы теряете все, когда у вас происходит сбой жесткого диска в LVM с несколькими жесткими дисками, который НЕ использует RAID?

16

Я спорю об использовании LVM для медиа / файлового сервера, потому что я хотел бы объединить несколько физических жестких дисков в один том. Я не хочу использовать RAID в моем LVM, поэтому мой вопрос:

Если один из нескольких жестких дисков в моем томе выйдет из строя, я потеряю все свои данные или просто потеряю данные, хранящиеся на этом отдельном диске?

Кроме того, если бы я просто потерял данные на отдельном диске, это было бы так же просто, как заменить этот диск и восстановить то, что было на нем, из резервной копии для восстановления?

Fujin
источник

Ответы:

11

Если один из нескольких жестких дисков в моем томе выйдет из строя, я потеряю все свои данные или просто потеряю данные, хранящиеся на этом отдельном диске?

Нет, вы потеряете данные, хранящиеся на всем LVM

Кроме того, если бы я просто потерял данные на отдельном диске, это было бы так же просто, как заменить этот диск и восстановить то, что было на нем, из резервной копии для восстановления?

Нет, это не так просто

Вы можете прочитать здесь аналогичный вопрос LVM и аварийного восстановления

B14D3
источник
7

Просто: вы ищете mhddfs .
Она претендует на то, чтобы быть одной большой файловой системой, записывает на диски в том порядке, в котором они были упомянуты, и в конечном итоге перемещает большие файлы на другое устройство, если первое было слишком полным. На самом деле он также может использовать подпапки на дисках, обеспечивая такую ​​же функциональность.
Отдельные диски должны быть смонтированы в первую очередь и оставаться доступными. Он вообще не изменяет файловые системы и не заботится о том, какая файловая система находится на месте (если файловая система правильно сообщает о свободном пространстве). В случае, если диск потерян, вам придется заново подключить mhddfs (на лету) и данные на этом диске исчезнут.
Использование:

mhddfs /dir1,/dir2[,/path/to/dir3] /path/to/mount [-o options]

или в /etc/fstab

 mhddfs#/path/to/dir1,/path/to/dir2 /mnt/point fuse defaults 0 0

Сложный и мощный: вы хотите unionfs .
Хотя mhddfs хорош и чрезвычайно прост, у меня были проблемы с правами доступа к файлам при предоставлении доступа другим через SSH. Я не мог найти никакого решения, но нашел unionfs.
Unionfs также позволяет вам монтировать несколько папок в разных файловых системах в одну, но делает это волшебно с разрешениями. Вы можете объединить несколько папок, доступных только для чтения, и одну доступную для записи одну, поэтому она выглядит как одна. Люди, с которыми вы поделились вашей объединенной папкой, могут затем писать в папку только для чтения - как им кажется - но файлы в конечном итоге оказываются в единственной доступной для записи. Загрузочные компакт-диски Linux работают следующим образом, записываемый диск является виртуальным диском. Люди могут даже удалять файлы в папках только для чтения, которые на самом деле не удаляют файл, но создают скрытый файл белого списка в своей директории записи. Если вы поймаете все варианты, вы можете использовать свою файловую систему как SVN для бедного человека .
Если вы слишком часто используете SVN-подобные параметры, вы можете пропустить существующие данные дважды (это невероятно в вашем сценарии, но возможно), в то время как ваша доступная для записи папка заполняется крошечными, скрытыми файлами белого списка. Помимо этого, он сохраняет ваши диски в чистоте и индивидуальном использовании. Что произойдет, если файл слишком велик для диска, я пока не знаю.
Использование:

 unionfs-fuse -o cow,max_files=32768 \
                 -o allow_other,use_ino,suid,dev,nonempty \
                 /path/to/dir1=rw:/path/to/dir2=ro:/dir3
                 /u/union/etc

где =rwделает папку доступной для чтения и записи и =roделает ее доступной только для чтения, даже если в разрешениях указано иное. В etc/fstabэтом есть

unionfs-fuse#/path/to/dir1=rw:/path/to/dir2=ro:dir3 /path/to/mount fuse cow,allow_other 0 0
DennisH
источник
Как это относится к съемному диску, который не подключен?
эндолит
@endolith mhddfs на съемном диске означает, что он не знает, что на нем закончится, unionfs имеет смысл, но требует перемонтирования по-разному, в зависимости от доступности съемного устройства.
ДеннисH
Я не понимаю ваш комментарий. Если вы скомбинировали 3 USB-накопителя с помощью mhddfs и поместили на них файлы, а затем удалили один, происходит ли что-нибудь навсегда плохое? Если вы подключите его обратно, он вернется к тому, что был раньше?
эндолит
3
@endolith Отключение во время записи никогда не бывает хорошо. Если после записи отключить USB-накопители, все в порядке, никаких проблем. Вы можете отключить диск, подключить его к ПК2, использовать его, снова подключить к ПК1 и подключить, чтобы продолжить использовать их, как и раньше. В промежутке между точкой монтирования на вашем обычном ПК1 необходимо сообщить, что вы взяли диск (перемонтировать). Но, предположим, что вы совместно используете 2 файла с PC2, вы не можете сказать, на каком диске монтирования mhddfs они окажутся, или это даже тот же самый диск. Диски все еще доступны индивидуально, чтобы проверить / гарантировать местоположение, но это больше не требует mhddfs.
DennisH
4

Если вы просто соединяете несколько устройств вместе, избыточности не будет, поэтому вы можете потерять данные. Но если вы используете медиа / файловый сервер для бизнеса, вы не должны ничего терять, потому что у вас есть все резервные копии на резервный сервер / стример.

Почему вы избегаете RAID? Смысл RAID - это доступность; если вы не хотите терять время из-за сбоя диска, вы можете использовать конфигурацию RAID 1, которая также может ускорить чтение. Они не слишком дороги, окупаются в первый раз, когда у вас возникает сбой диска, и если вы ДЕЙСТВИТЕЛЬНО избегаете платить за карту, вы можете настроить Linux для использования программного RAID, хотя в настройке это требует немного больше внимания и устранение неполадок, чтобы убедиться, что вы заменили правильный диск.

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

Барт Сильверстрим
источник
1
Я избегаю RAID, потому что я не беспокоюсь о доступности. Это для личного использования. Я пытаюсь избежать RAID, потому что я ищу больше надежности. Одна маленькая вещь не так в RAID, и вы теряете весь массив, и мне не хочется иметь с этим дело. Скорее, у меня есть один большой файловый депозитарий, который я могу сохранить, а не несколько.
Fujin
1
Я не уверен, что понимаю это. RAID заставляет вас не терять массив, если что-то пойдет не так. Не использовать RAID, когда один сбой убьет все это.
JOTN
4
@ user72630: У вас есть серьезные заблуждения о том, как работает RAID. Прежде всего, существуют разные уровни RAID, большинство из которых предназначены для предотвращения потери данных в случае сбоя диска. Затем вы можете настроить RAID так, чтобы на нескольких дисках была только одна файловая система, как вы планируете с LVM. Пожалуйста, прочитайте en.wikipedia.org/wiki/RAID
Sven
Что говорили другие. Весь смысл наличия RAID в том, чтобы поддерживать доступность ... то есть сбой диска, данные по-прежнему доступны. При соответствующей передаче вы можете горячей замены сбойного диска и не беспокоиться о времени простоя на всех .
Барт Сильверстрим
3

Если вы используете одну файловую систему, охватывающую все тома LVM, вся файловая система будет повреждена, поскольку FS не будет знать о базовых физических томах и не будет создавать структуры, соответствующие этому. Может быть возможно спасти некоторые части на рабочих дисках, но нет никакой гарантии для этого.

И просто восстановление файлов с поврежденного диска не будет работать по той же причине.

Свен
источник
2

Я думаю, что гораздо проще было бы настроить mdadm для вашего медиа-раздела. Если у вас нет аппаратного обеспечения для работы с «настоящим RAID», маршрут mdadm будет значительно проще и, похоже, будет соответствовать вашим требованиям к избыточности и простой замене диска.

# Format your drives first
# Create your MD
mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2

# In the event that a drive fails do the following
mdadm /dev/md1 --fail /dev/sda1
# Format the new drive
mdadm --add /dev/md1 /dev/sda1

Для получения дополнительной информации: http://en.wikipedia.org/wiki/Mdadm

Если один из нескольких жестких дисков в моем томе выйдет из строя, я потеряю все свои данные или просто потеряю данные, хранящиеся на этом отдельном диске?

Если вы используете mdadm и RAID 5, вы сможете потерять один диск и получить работоспособный массив, что приведет к снижению производительности.

Озеро Аарон
источник
1

Я думаю, что важная вещь для понимания, о которой не упоминалось, это то, что файл в файловой системе не обязательно находится в одном месте на диске. Он разбит на блоки, которые могут находиться где угодно внутри файловых систем. Первые 4 КБ, если ваш файл может быть на диске 1, следующем диске 2 и т. Д. Вы можете представить беспорядок попыток восстановить что-либо, если вы потеряли часть файловой системы.

JOTN
источник
0

Btrfs - хороший выбор здесь; вы можете иметь метаданные, устойчивые к потере одного диска (профиль чанка "raid1"); данные на других дисках по-прежнему будут доступны (так что мы ясно понимаем, что это означает, что файлы, заполненные дырами, везде, где есть ссылка на отсутствующий диск). Это делается путем запуска btrfs balance с фильтром :

sudo btrfs balance start -m convert=raid1 /mnt/point
Габриель
источник