LINUX.ORG.RU

Сервер на убунте: правильно разбить диск и фс для дедупликации

 


1

1

Помогите вендовозу.

Нужно переезжать на новую железку для сайта (будет больше ссд). Планирую тыкать в 16.04 через pytti (вы таки отговорили от вебмина) и wiscp.

Вопросы пока такие:

1. Как разумнее разбить диск? Я бы хотел что-то типа / - все вообще, и только под /boot немного отдельно остричь. Почему? Ну ссд не бесконечный, а файлов у меня овер дофига. Не хочется пустых «системных разделов».

2. Как (фс, средства, правильный мануал) организовать дедупликацию файлов? Поясню на примере. Одна большая (скажем 100-200 гигапикселей) панорама хранится во всей разверстке 360*180 градусов независимо от того, сплошняком она состоит из изображения (самой картинки) или нет. Если часть этой сферы - просто чернота, то так и хранфятся миллионы и миллионы идентичных мелких файлов по 512х512рх. И все это сразу в нескольких (5-15) уровнях детализации. Типичный полезный набор файлов примерно 1\4-1\3 от общего. Хотелось бы как-то не хранить миллионы копий одного и того же.
Расскаите, на какие грабли тут можно наступить? Пока надеюсь просто обойтись новым серверов, а не арендовать еще один.



Последнее исправление: dk- (всего исправлений: 1)

1. Ну тебе что ли жалко 30 гектар под систему? Зато обновляться будет легче, когда очередная федора не осиливает дистр-апгрейд.

2. Этим должен заниматься мантейнер программы. Пусть сделают другой формат файла, в котором по умолчанию на всех секторах панорамы черный квадрат (и вместо пикселей хранится тупо значение «no data»), а в отснятых - что-то есть.

anonymous
()

Прозрачная онлайн-дедупликация - ZFS, но надо будет МНОГО оперативки, чтобы вся DDT поместилась, иначе тормоза.

Можешь еще посмотреть https://btrfs.wiki.kernel.org/index.php/Deduplication

anonymous
()

Не хочется пустых «системных разделов».

Лентяй виндузятник конечно не будет это делать, но вообще задача решается использованием LVM thin provisioning.

Грубо говоря все свободное место (кроме /boot) уходит под LVM. Далее в VG создается сам пул, а уже в нем ты можешь делать ext4 разделы любого размера, плюс можно делать overallocation. Место из пула расходуется динамически и возвращается в пул если ты для раздела включишь discard (для большинства SSD все равно это надо делать). При необходимости можно ещё один диск потом добавить в VG и потом пул.

Если часть этой сферы - просто чернота, то так и хранфятся миллионы и миллионы идентичных мелких файлов по 512х512рх.

Если это именно идентичные файлы с одинаковыми хэш суммами, то можно просто заюзать костыль типа rmlint. Оно просто проходит по всей ФС, находит идетичные файлы и заменяет их хардлинками.

Очень тупо, надежно, можно запускать по крону раз в неделю/месяц, но работает только если файлы идентичные.

Расскаите, на какие грабли тут можно наступить?

Можно взять btrfs / zfs и что-нибудь сломать себе все кривыми руками. В принципе lvm thin pool тоже можно сломать если поостараться.

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

Во! Хардлинки крутой вариант! Как я забыл то. Файлы идентичны всем кроме времени создания (ну последовательно создаются)

dk-
() автор топика

Хз что тут посоветовать, одно могу сказать точно - даже не смотрите в сторону LVM, если не хотите пердолиться аки клинический линуксоид.

Для ваших задач подошёл бы ZFS, но эта монструозная хрень нуждается в продолжительном пердолинге с настройками и тюнингом.

Есть ещё Btrfs, но её опасно использовать на raid5/6. А так-то у неё штатный оффлайновый дедупликатор есть.

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

Охщи) Просто не в курсе, что ещё два дедупликатора появилось, когда был один bedup, я и считал, что это и есть штатный.

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

Хз что тут посоветовать, одно могу сказать точно - даже не смотрите в сторону LVM, если не хотите пердолиться аки клинический линуксоид.

С чем там пердолится?

Даже для хранения /boot на thin pool достаточно погуглить и скриптик добавить из мануала в инете. А обычный конфиг ставится копипастом команд с сайта редхата.

o-
()

Можно еще взять отдельный крохотный ссд под систему. Минимальный дебиан у меня влезает в 4 гигабайта, половина свободна.

anonymous
()

Народ, так что rmlint - годное решение?

Файлы обновляются на сервере не очень редко, сабжевые проекты - 1-2 раза в год. Даже крон не особо нужен.

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

Дешевле арендовать еще один сервер, чем кастомизировать единственный.

dk-
() автор топика

это же веб сайт со статикой, как уже сказали проходишься любой утилитой для поиска одинаковых файлов (их штук 5 только в репе дебиана) и меняешь дубли на линки хард/софт для веб сервера не важно

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

rmlint - годное решение?

Для «прям сейчас» конечно сойдёт, но, как уже пытались сказать, лучше перенести этот вопрос повыше - в свой софт, чтобы он знал, где пусто.

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