hdd juggling
Sep. 25th, 2006 12:53 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Когда в кучке «личных винчестеров для бэкапа» совокупная их емкость достигает терабайта, начинаешь думать о постоянно доступном файлохранилище. О! Или даже сервере!..
Четыре винта по 250GB. Куда же их воткнуть? Профессиональная сисадминская паранойя не позволяет использовать для личных дисков/файлов серверы служебные, поэтому железо для обвязки должно быть своё.
Р-раз! — и покупается материнская плата с двумя SATA и двумя IDE контроллерами, благо такие ещё существуют. Плюс процессор и память. Со времен Celeron 600 всё такое быстрое стало, оказывается. Так, все винты IDE, а нужно 2 SATA? Ничего, покупаем два адаптера SATA-IDE.
Два! — и вся кучка монтируется в старый, еще ATшный корпус, но зато 19" 4U. Блок питания специально прикупил из недешевых — FSP. Кнопку питания ATX на старый ресет завел, — и так сойдет. Зачем стоечный корпус? А чтобы поставить поближе к интернету, прямо в провайдерскую стойку.
Три!.. — а вот три как раз и не получается. Как создать программный RAID5 из винтов, которые содержат данные? Пусть не терабайт, но все равно больше винта. И начинается то самое "жонглирование дисками":
<LINUX SYSADMIN BLABLABLA>
Исторически сложилось, что бЫкапы мои лежат на винтах просто файловыми системами на разделах, об LVM заранее никто не позаботился. Поэтому приходится все данные перебрасывать на другие винты, этот размечать кучкой разделов, помечать их как физические тома LVM, создавать логические тома, копировать данные на логические тома, размечать следующий винт и т.д. Для взаимозаменяемости почти все разделы на винтах имеют размер в 20GB — когда винты станут больше 600GB это станет проблемой.
Всё, скопировал. Теперь всё файло сосредоточено в логических томах, которые лежат на физических томах, которые находятся в конце дисков. Из лежащих в начале диска свободных разделов создаем RAID5, получившиеся /dev/md* добавляем в ту же группу томов (я назвал ее massvg) как физические тома, затем посредством pvmove старые не-raid физические тома освобождаем и через pvremove удаляем. Освободившиеся разделы используем под дополнительные RAID5 разделы, которые в свою очередь добавляем в группу томов.
Представляете, сколько на это всё уходит времени? Даже если скорость перебрасывания с винта на винт около 50MB/s, на то чтобы трижды переместить 500 гигов, потребуется ~30 тысяч секунд. Это ~8 часов, да еще приходится ждать синхронизации разделов RAID5, на всякий случай. Когда сделал raid5 — поставил Debian Etch, pvmove стало возможно делать удаленно, а до этого возле Кноппикса сидел неотрывно. Выходные на это угробил.
</LINUX SYSADMIN BLABLABLA>
Зато в конце этой замечательной эпопеи мы имеем много-много гигабайт данных на резервированном носителе в удобной для масштабирования форме. LVM-поверх-Software RAID5 — значительно лучше просто груды винтов. Теперь пора отфильтровать, что именно из хранимого следует дополнительно хранить off-site, а что не стоит хранить вообще. И куда я проеподевал свой генератор веб-альбомов?..