Я обсуждаю использование LVM для медиа / файлового сервера, потому что я хотел бы объединить несколько физических жестких дисков в один том. Я не хочу использовать RAID в моем LVM, поэтому мой вопрос:
Если один из нескольких жестких дисков в моем томе выйдет из строя, я потеряю все свои данные или просто потеряю данные, которые были сохранены на этом отдельном диске?
Кроме того, если бы я просто потерял данные на отдельном диске, было бы это так же просто, как заменить этот диск и восстановить то, что было на нем, из резервной копии для восстановления?
Если один из нескольких жестких дисков в моем томе выйдет из строя, я потеряю все свои данные или просто потеряю данные, которые были сохранены на этом отдельном диске?
Нет, вы потеряете данные, хранящиеся на всем LVM
Кроме того, если бы я просто потерял данные на отдельном диске, было бы это так же просто, как заменить этот диск и восстановить то, что на нем, из резервной копии для восстановления?
Нет, это не так просто
Вы можете прочитать здесь аналогичный вопрос LVM и аварийное восстановление
Просто: вы ищете 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 работают следующим образом: записываемый диск - это ramdisk. Люди могут даже удалять файлы в папках только для чтения, что на самом деле не удаляет файл, а создает скрытый файл белого списка в их каталоге записи. Если вы поймаете все варианты, вы сможете в основном используйте свою файловую систему как бедный человек 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
Если вы просто подключаете несколько устройств вместе, избыточности не будет, поэтому вы можете потерять данные. Но если вы используете мультимедийный / файловый сервер для бизнеса, вы ничего не потеряете, потому что у вас есть резервные копии всего на сервере резервного копирования / ленточном накопителе.
Почему вы избегаете RAID? Суть RAID - доступность; если вы не хотите терять время из-за сбоя диска, вы можете использовать конфигурацию RAID 1, которая также может ускорить чтение. Они не слишком дороги, окупаются в первый раз, когда у вас выходит из строя диск, и если вы ДЕЙСТВИТЕЛЬНО избегаете необходимости платить за карту, вы можете настроить Linux для использования программного RAID, хотя это требует немного больше внимания при настройке. и устранение неполадок, чтобы убедиться, что вы заменили правильный диск.
В противном случае вам придется перепрыгнуть через несколько обручей, чтобы попытаться восстановить данные с оставшихся дисков. Это было бы возможно, но вы вроде бы просите гораздо больше проблем, чем следовало бы. Получите хорошую резервную копию и пересмотрите RAID.
Если вы используете одну файловую систему, охватывающую все тома LVM, вся файловая система будет повреждена, поскольку FS не знает о базовых физических томах и не будет создавать структуры, согласованные с ней. Возможно, удастся спасти некоторые детали на рабочих дисках, но на это нет никаких гарантий.
И просто восстановить файлы с поврежденного диска тоже не получится по той же причине.
Я думаю, что гораздо проще было бы настроить 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, вы можете потерять один диск и иметь функциональный массив, иначе вы испытаете снижение производительности.
Я думаю, что важно понимать, о чем не упоминалось, - это то, что файл в файловой системе не обязательно находится в одном месте на диске. Он разбит на блоки, которые могут находиться где угодно внутри файловых систем. Первый 4K, если ваш файл может быть на disk1, следующий disk2 и т. Д. Вы можете представить себе беспорядок попытки восстановить что-либо, если вы потеряли кусок файловой системы.
Btrfs - здесь хороший выбор; вы можете иметь метаданные, устойчивые к потере одного диска (профиль блока "raid1"); данные на других дисках по-прежнему будут доступны (чтобы мы поняли, это переводится в файлы, полные дыр, везде, где есть ссылки на отсутствующий диск). Это делается запуском баланс btrfs с фильтром:
sudo btrfs balance start -m convert=raid1 /mnt/point