On 06/24/17 05:22, Sergey Matveev wrote: > *** Tim Sattarov <[email protected]> [2017-06-24 01:18]: >> У меня сейчас одна задача с большим количеством (несколько терабайт) >> мелких и уже сжатых файлов: это ElasticSearch >> причём в AWS. где диски можно подобрать разные, но они все "сетевые" >> (EBS), то есть есть некоторая задержка в доступе. >> Там же важна скорость чтения. > Мне кажется что тут стоит попробовать ZFS. С мелкими файлами, как и в > XFS, проблем нет. Если это, кстати, сжатые .gz/whatever файлы, то на ZFS > можно включить прозрачное сжатие zlib и тогда на ФС будут хранится > просто файлы, без архивов, но на самом деле сжатые. Просто удобна > прозрачность. сжатие файлов не отключается, это ES... и там свои алгоритмы, я не вникал
Параллельный вопрос - умеет ли оно кэшировать на более быстрые устройства (типа основные данные на HDD, а кэш на SSD) ? как те же bcache или dm-cache ? Я понимаю, что по хорошему надо бы почитать самому, просто пока руки не дошли. >> А какой смысл держать ZFS на рабочей машине/лаптопе ? Не придираюсь, >> реально интересно. > Ммм, не хочу чтобы ответ показался грубым, отнюдь > но какой смысл не держать ZFS > если есть возможность :-)? Как-минимум: > > * snapshot-ы. ага, про них слышал > * удобство backup-ов, которое тут обсуждают. Ок. тоже интересно > * <сжатие> сомневаюсь в необходимости, но почему бы и нет... > * я очень переживаю за целостность данных. ОЧЕНЬ. с ZFS и его zfs scrub, > который мне каждый байтик напротив Skein (раньше напротив SHA256) > проверит -- убирает психологическое напряжение полностью. Вот меня больше всего привлекла именно эта фича. > У меня в > cron стоит раз в 4-часа создание очередного snapshot, генерирование > инкрементального бэкапа А инкремент от `0' или от другого инкремента ? > и отсылка его в сжатом и зашифрованном виде > (всё красиво через | xz -0 | gpg -r backup -e | nncp-file - делается) > в NNCP который раскидывает на две машины. Когда прихожу домой, то > прозрачно у меня на домашний сервер сбрасываются все недоброшенные > 4-часовые слепки всех данных (из них можно *полностью* восстановить > всё состояние диска), когда прихожу домой, то прозрачно добрасываются > на рабочий компьютер. Если внезапно SSD/whatever упадёт, то у меня > мизерной ценой (а не обмазками всюду shell-скриптами) везде полные > компактные копии данных. И не надо думать где размещать > checksum.sha512 или что-то подобное и как его считать. Вся эта > головная боль убрана. И правда красиво, вопрос теперь как это повторить :) > * в домашнем сервере используется зеркало ZFS-ное. Это конечно мелочь, > но приятно что я могу просто взять и достать диск, протереть от пыли, > пропылесосить, вставить, сделать resilvering, который мне покажет что > "ok, синхронизировал 6 MiB данных, зеркало снова *полностью* в строю", > потом достать второй диск и всё то же самое. С RAID/LVM это > невозможно, потому-что они обязаны будут полностью переrebuild-ить все > эти 3 TB данных. Плюс у меня третий диск есть, в шкафчике, который я > раз в месяц добавляю, он делает resilvering (не трёх терабайт, а > только diff-а), убираю снова в шкафчик, зная что там у меня есть > offline архивная копия всех данных Звучит вкусно, спасибо за подробный разбор. У меня сейчас в домашнем медиацентре три зеркальных тома на LVM, надо будет как то перевести их на ZFS аккуратно... > Если коротко, то я бы это мог сравнить со своими ощущения перехода от > Subversion к Git. Я не понимал чем он лучше, пока не попробовал. Сейчас > SVN/CVS я использую только в страшном сне. ZFS на HDD на машине с 4 GB > памяти действительно работает помедленнее, но я бы докупил память -- оно > стоит того. > Вздрогнул от "CVS" :) Памяти у меня на машинах вроде хватает: домашний медиа центр 16GB, рабочий лаптоп-workstation вообще с двумя SSD и 32GB. надо начать её использовать. > Кроме того, масса мелочей из серии: > > * включить/отключить atime -- zfs set atime=... mypool/fs, включить > отключить sync или перевести в режим бОльшего кэширования -- опять же, > один zfs set. Никаких редактирований fstab и перемонтирований. ну можно и перемонтировать на лету mount -oremount,noatime / а редактирование fstab даёт уверенность в однозначности конфигурации и что никакой умник втихую не поменяет настройки > * хочется расшарить директорию/ФС по NFS: zfs set sharenfs=.... Не надо > вспоминать по какому там пути, редактировать exports, передёргивать > mountd. не хочу звучать параноиком, но что-то как-то многовато для ФС, автор не Поттеринг случаем ? (здесь картинка тролля) > * надо сделать образ диска для виртуалки из серии dd if=/dev/zero of=hdd > bs=1M count=1024 && losetup ... -- делается zfs create -V 1G > mypooo/fs/hdd и сразу же будет сделан блочный loopback. Причём со > всеми фишками типа возможности snapshot-ов или, в данном случае > clone-ов. А как оно с шифрованием ? мне если делать такие тома то часто нужны временные шифрованные диски.

