LINUX.ORG.RU
ФорумAdmin

Не холивара ради, FreeBSD+Software_Raid10+zfs vs Linux+Software_Raid10+lvm

 , , , ,


2

3

Доброго времени суток всем!

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

Вводные данные:
Высвободился старенький сервак: Intel 2 ядра, 4GB RAM, SATA - 4 устройства без поддержки аппаратного Raid, 2 сетевые 1Gb.

Задача:
Поднять файл-помойку (файловый сервер по протоколу SMB/CIFS и авторизацией в AD) используя рейд 10 с сохранением предыдущий версий файлов.

Суть вопроса:

Для решения задачи первоначально собирался использовать связку Linux + Software Raid10 + lvm + Samba4. Но коллеги начали меня пугать низкой производительностью lvm (по сравнению с zfs) и ее ненадежностью. Кроме того, у некоторых из моих коллег есть предубеждения, что Linux дико тормозит при операциях над множеством мелких файлов (Bug 12309). Решил обратить взор на zfs - и меня так же попытались напугать в ненадежности FreeBSD и что она вообще RIP.

Вообще то мы на работе используем для файловых серверов аппаратно-программные решения. Когда-то очень давно (2009-2011 г.г.) использовали Linux + аппаратный Raid10 + Samba3 без lvm. Но тут необходимо сохранять предыдущую версию при изменении оригинала. Сторонники zfs меня уверяют, что lvm не умеет Copy-on-write, и это придется реализовывать или созданием snapshots по расписанию, или через кучу костылей в виде скриптов. При этом я не знаю, как это делается в zfs, но где-то слышал, что zfs умеет таки Copy-on-write «из каропки». Сторонники lvm зато хвалятся полностью динамическими разделами, которые дают возможность очень гибко настраивать разделы «на лету».

Собственно, кто что может сказать по существу при выборе одной из данных технологий? Только прошу без толстоты и троллинга. Всем спасибо за понимание.

★★★★★

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

Ответ на: комментарий от EvgGad_303

Параллельно тяну... Дело в том, что с zfs до сегодняшнего дня вообще не был знаком, сейчас и изучаю матчасть. Про lvm наслышан, но в данном контексте его использование не видел. Про создание снапшотов по событию в lvm, прочитал в одной хаутушке - там автор нагородил целые портянки скриптов, а в комментах на него взъелись, что всё это будет дико тормозить.

Просто есть непреодолимое желание сделать сохранение предыдущей версии файла в момент изменения оригинала. Читал, что такое организовать возможно. Именно поэтому и создан тред, что бы понять как это лучше сделать, какой инструмент для этого лучше подойдет, если это вообще возможно организовать.

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

ivanlex ★★★★★
() автор топика

zfs превосходит lvm во всём, кроме требований к ОЗУ, но 4Гб ОЗУ для файлопомойки на zfs должно хватить.
Если не доверяешь ZfsOnLinux (хотя это необоснованно), ставь freebsd, она очень надёжна и ни разу не RIP.

King_Carlo ★★★★★
()
Ответ на: комментарий от int13h

Да всё, что на illumos, в общем-то, ну, кроме всяких мутантов типа нексенты. OI вяло пилится просто.

EvgGad_303 ★★★★★
()

У тебя главное требование

с сохранением предыдущий версий файлов

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

Так что с «предыдущий версий файлов»? Только nilfs2 даст версионность, zfs здесь не роляет.

anonymous
()
phoenix ~ # uname -a
Linux phoenix 4.0.5-gentoo-PHOENIX #2 SMP Mon Oct 19 11:52:47 MSK 2015 x86_64 QEMU Virtual CPU version 2.3.0 GenuineIntel GNU/Linux
phoenix ~ # free -m
              total        used        free      shared  buff/cache   available
Mem:           7978        1888        2131           0        3959        2169
Swap:             0           0           0
phoenix ~ # zpool list
NAME      SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
phoenix  2,98T  2,66T   329G         -    43%    89%  1.03x  ONLINE  -

Как говорится - думай сам. Нагрузка на данную виртуалку у нас небольшая, из служб там - vsftpd, samba3 и nfs

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

бэкапы делать не планировалось. Вместо бэкапов хотелось использовать «предыдущие версии». Если это «хотелку» отсечь, то тред бы не создавался. Вся затея ради этой «хотелки».

ivanlex ★★★★★
() автор топика
Ответ на: комментарий от ivanlex

Вместо бэкапов хотелось использовать «предыдущие версии»

Смело. Сгоревший БП, утащивший с собой все железо, злой вирус, постиравший в т.ч. и снапшоты и прочие прелести доставят тебе много приятных моментов.

Davyd ★★
()
Ответ на: комментарий от ivanlex

Просто есть непреодолимое желание сделать сохранение предыдущей версии файла в момент изменения оригинала. Читал, что такое организовать возможно. Именно поэтому и создан тред, что бы понять как это лучше сделать, какой инструмент для этого лучше подойдет, если это вообще возможно организовать.

для этого нужна версионная ФС.
COW совершенно другой механизм, он обеспечивает транзакционность изменений ФС
файлы часто меняться будут? подумай сколько у тебя наплодится снэпшотов, разгребать потом как будешь?
далее, зачем тебе на файлопомойку raid10?
вполне пойдет raidz1
голую freebsd не ставь, не осилишь настраивать
ставь nas4free, и рули через WEB интерфейс.

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

не осилишь настраивать

Чего там настраивать то?

pawnhearts ★★★★★
()
Ответ на: комментарий от ivanlex

Просто есть непреодолимое желание сделать сохранение предыдущей версии файла в момент изменения оригинала.

Так не бывает. Можно сделать близко к этому, например снапшот эн раз в день.

Ну если уж совсем никак без этого, то можно задействовать git+inotify.

redixin ★★★★
()
Ответ на: комментарий от TOXA

Другой вариант - делать zpool с двумя зеркалами по 2 диска

не понял, в чем проблема:

zpool create RD10 mirror ada0 ada1
zpool add RD10 mirror ada3 ada4

Получили raid 10
RD10 ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ada0 ONLINE 0 0 0
ada1 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
ada2 ONLINE 0 0 0
ada3 ONLINE 0 0 0



что еще надо? Почему какие то проблемы появились внезапно с вылетом 2 дисков?

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

Файлы часто меняться не будут. Это будет помойка для хранения того, что уже не нужно, вряд ли пригодиться, но хранить еще положено определенный срок. К примеру, сканы уже не действующих договоров, которые положено хранить еще 5 лет, фото осмотра и другая подобная информация. То есть пользователи не будут с этой информацией работать. Только скидывать её на хранение, и периодически поднимать ее, когда возникнет необходимость (то есть почти никогда, хотя иногда все же нужно).

Фряху думаю осилю. Ранее настраивал и использовал FreeBSD+Squid для раздачи интернет, а так же vpn для удаленных точек. Ничего - вроде справлялся. Хотя Linux мне больше нравится.

ivanlex ★★★★★
() автор топика
Ответ на: комментарий от ivanlex

В третий и последний раз

NILFS2

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

Не так уж и много жрет. У меня тоже планируется небольшая нагрузка. После увиденного, думаю, что 4GB вполне должно хватить.

ivanlex ★★★★★
() автор топика
Ответ на: комментарий от ivanlex

Т. е. теперь у тебя файло ридонли, зачем версионность хотел. Сдаётся мне ты всё же флейма ради создал эту тему

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

не вижу проблемы в лицензиях. Есть куча модулей не под GPL и все грузятся и работают как надо.

про FUSE забудь, как про страшный сон.

TOXA ★★
()
Ответ на: комментарий от zgen

Допустим вылетели ada2 и ada3. Что будет с данными? Правильно - тыква. Доступными останутся только те, которые были на ada0 и ada1. А в случае с какой-нибудь другой ФС к потере данных добавляется еще и головная боль восстановления всего, что не подохло физически.

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

Не ридонли. Пользователи скидывают информацию. Наполнение будет идти постоянно, пусть и небольшим потоком. Версионность хотел, что бы, в случае изменения какого либо файла пользователем случайно или сознательно, была возможность увидеть оригинал, который был залит на хранилище изначально. Храниться будет большой объем данных. Вариант с бекапированием требует проведение Full backup хотя бы один раз, что слишком чрезмерно. Версионность позволит увидеть оригинал, даже если пользователь случайно или сознательно изменил какой то файл, без создания Full backup. Это в теории. И да - это эксперимент. В случае его удачи, результат эксперимента пойдет в «жизнь».

ivanlex ★★★★★
() автор топика
Ответ на: комментарий от ivanlex

К примеру, сканы уже не действующих договоров, которые положено хранить еще 5 лет, фото осмотра и другая подобная информация. То есть пользователи не будут с этой информацией работать. Только скидывать её на хранение, и периодически поднимать ее, когда возникнет необходимость (то есть почти никогда, хотя иногда все же нужно).

т.е. неизменяемая по определению информация.

нафига на это городить версионность?

нафига на это raid10?

Фряху думаю осилю.

не сомневаюсь — «дорогу осилит идущий», но WEB удобнее и время экономит :)

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

нафига на это городить версионность?

А ради чего ставят эксперименты?! У меня в руках, пусть старый, сервер, который отдан мне на растерзание. У меня есть время и задача, которую я, без этой хотелки, уже мог бы давно организовать. Но сроки меня ни куда не гонят - есть время попробовать новое и поэкспериментировать. Нужно двигаться вперед, изучать что то новое. Я раньше не работал с zfs и lvm. Попробую, потыкаю. Если не понравиться - я всегда могу поднять классическую файлпомойку, которую уже собирал и до этого. Сроки позволяют, так почему бы и нет?

ivanlex ★★★★★
() автор топика
Ответ на: комментарий от ivanlex

бэкапы делать не планировалось. Вместо бэкапов хотелось использовать «предыдущие версии».

Подавился. В школу, в школу и больше не прогуливать.

anc ★★★★★
()
Ответ на: комментарий от ivanlex

Если все выше описано правильно, то имхо вам лучше всего подойдет что-то типа owncload, seafile и т.п. Городить огород с фс имхо лишнее.

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

Подавился

Незачем давиться. Так же незачем бекапить то, что уже вряд ли понадобиться, но храниться должно, потому что «так положено».

ivanlex ★★★★★
() автор топика
Ответ на: комментарий от ivanlex

Ну если у вас на это «положенно» то можно и не начинать даже, сразу сказать что все «сожрал хомяк» сгорело.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от TOXA

Доступными останутся только те, которые были на ada0 и ada1.

# zpool status test
  pool: test
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        test        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            da1     ONLINE       0     0     0
            da2     ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            da3     ONLINE       0     0     0
            da4     ONLINE       0     0     0

errors: No known data errors
# zpool status test
  pool: test
 state: UNAVAIL
status: One or more devices are faulted in response to IO failures.
action: Make sure the affected devices are connected, then run 'zpool clear'.
   see: http://illumos.org/msg/ZFS-8000-HC
  scan: none requested
config:

        NAME                      STATE     READ WRITE CKSUM
        test                      UNAVAIL      0     0     0
          mirror-0                ONLINE       0     0     0
            da1                   ONLINE       0     0     0
            da2                   ONLINE       0     0     0
          mirror-1                UNAVAIL      0     0     0
            12321217884887890813  REMOVED      0     0     0  was /dev/da3
            10888957077127389424  REMOVED      0     0     0  was /dev/da4

errors: No known data errors
как вытащить "живые" данные?
anonymous
()
Ответ на: комментарий от anc

подойдет что-то типа owncload, seafile и т.п.

Не думал о таком варианте. Спасибо. Обязательно посмотрю в эту сторону. С этой штукой тоже не работал. Хотя слышал про такое. Не знаю, легко ли удастся освоить это пользователям. Одно дело сетевая папочка по SMB, а тут им придется привыкать к новому. Но идея хорошая.

ivanlex ★★★★★
() автор топика
Ответ на: комментарий от ivanlex

Они по webdav монтироваться умеют. А так есть клиенты синхронизации, вебморда, вобщем все как у людей.

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

клиенты синхронизации

Это не те, которые все облако заливают на локальную тачку? Такой вариант точно не подходит - у пользователей столько места на локальных ПК ни когда не будет. Да и не к чему им клиент. Возможно им веб-интерфейс будет более чем удобен, особенно если он позволяет отсканеное смотреть прям в вебе.

ivanlex ★★★★★
() автор топика
Ответ на: комментарий от ivanlex

А ради чего ставят эксперименты?!

наукой занимаетесь?

У меня есть время и задача

замечательно! а задача вам понятна? похоже что нет. вам нужно организовать архив информации перешедшей с состояние readonly, с постоянным доступом «если вдруг надо почитать».

Нужно двигаться вперед, изучать что то новое.

ну так посмотрите в сторону groupware, и вам польза и юзерам жизнь облегчите... может быть.

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

Бери Linux.

А FreeBSD действительно никогда не юзал.

советчик322

reprimand ★★★★★
()
Ответ на: комментарий от ivanlex

Это не те, которые все облако заливают на локальную тачку?

Они, но про них я написал только то что они есть, а не применительно к вашей задаче. Вам скорее вебдав подойти должен.

Возможно им веб-интерфейс будет более чем удобен, особенно если он позволяет отсканеное смотреть прям в вебе.

Плагины разные под owncloud есть. Я веб в нем не использую (точнее использую только для поднятия исторических копий), так же как и клиенты, поэтому точно не скажу.

anc ★★★★★
()

Если решишь юзать ZFS, то лучше ставь FreeBSD. ZFS там лучше приклеен чем в Линуксе.

iron ★★★★★
()
Ответ на: комментарий от ivanlex

будет, когда мало оперы страдают опции отвечающие за предварительное чтение и группировку данных

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

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

такое могет обычный rsync

rsync --delete -backup --backup-dir=/home/backup-`date --rfc-3339=date` -avz '/home/test' /home/current-backup/

синхронизируем директорию /home/current-backup с каталогом /home/test, удаленные из каталога /home/test файлы сохраняем в каталогах /home/backup- с датой удаления

axelroot
()

zfs - это тома и массивы в одном флаконе, мгновенные снапы за счет cow т.к. данные продолжаются писаться уже в новое место, 4 гига мало для зфс, лвм также умеет копирование при записи но для этого использует буфер для вытеснения устаревших данных из тома который с какогото назвали снапом. адназначна юзай ЗФС будущее за такими фс, бутерфс не в счет.

vxzvxz ★★★
()

Если не планируется апгрейд RAM, то FreeBSD + GEOM Mirror/Stripe (для RAID10).

Если планируется апгрейд RAM до 8-12 ГБ, то FreeBSD + ZFS.

iZEN ★★★★★
()
Ответ на: комментарий от pawnhearts

Solaris не лучше. Он просто другой, совместимый сам с собою.

iZEN ★★★★★
()
Ответ на: комментарий от ivanlex

А что так?

Легче/дешевле приобрести планки ОЗУ и сделать жизнь себе и другим гораздо веселее, чем бороться со «склерозом» устаревшими «методами».

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

Все упирается в средства. У руководства одна отмазка: «Кризис. Средств нет. Используй то, что есть.» Из собственного кармана такие расходы так же не запланированы.

ivanlex ★★★★★
() автор топика
Ответ на: комментарий от ivanlex

полноценно это умеют только log-structured filesystems. btrfs и zfs умеют в снапшоты (да, в реализации учавствует CoW), но «все предыдущие версии за определенный период»? Нет.

t184256 ★★★★★
()
Ответ на: комментарий от axelroot

rsync разве не копии создает? Что то не очень затея, если честно. По поводу удаленных файлов - в samba есть сетевая корзина.

Направление понятно - но данной дорогой я уже ходил.

ivanlex ★★★★★
() автор топика
Ответ на: комментарий от ivanlex

Вариант с бекапированием требует проведение Full backup хотя бы один раз, что слишком чрезмерно.

Ну это ровно на 0 раз больше, чем продиктовано здравым смыслом.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от ivanlex

Ну тогда все решено. Так как тебе хочется обычные снапшоты, данные положено хранить определенный срок, а на их сохранность тебе решительно насрать, то можно останавливать поиски — это просто идеальный сценарий для btrfs. Рекомендую snapper. Есть даже интеграция предыдущих версий в виндовый проводник через самбу, сам видел.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.