Присматриваюсь к ZFS, хочу перейти на неё с выходом FreeBSD 8-RELEASE. Есть два вопроса, на которые так и не нагуглил нормального ответа
1) Как её можно "убить", кроме как полностью перезаписав поверх другими данными (например о другой ФС). Можно ли восстановить физически не перезаписанные данные в случае если пользователь случайно начнёт устанавливать что-то поверх (т.е. затрёт разметку, начало слайса, но ещё не затрёт сам файл).
2) Как контролируется рассинхронизация данных на зеркале? Т.е. можно ли потом наверняка знать что после scrub данные последние, а не подхватилась старая версия файла?
Подойди с такими вопросами к выбору жены. Как ее убить и можно ли восстановить? Как проконтролировать, что она не изменяет? Можно ли наверняка знать что получится спид, а не подхватится старая зараза.
>Подойди с такими вопросами к выбору жены. Как ее убить и можно
>ли восстановить? Как проконтролировать, что она не изменяет? Можно ли наверняка
>знать что получится спид, а не подхватится старая зараза.Дайте угадаю - вы холост и , к счастью, не размножаетесь?
По теме вам сказать нечего, зато смеете оскорблять мою благоверную. Зачем писать, если недоумок?
Сори, рэйзером навеяно.
Видимо целостность рэйд контролируется 1) наличием сбоя операции ввода-вывода, 2) целостностью чексуммы блока данных. зфс использует чексуммы, если это не отключено пользователем
>Сори, рэйзером навеяно.
>Видимо целостность рэйд контролируется 1) наличием сбоя операции ввода-вывода, 2) целостностью чексуммы
>блока данных. зфс использует чексуммы, если это не отключено пользователемЦелостность данных как раз понятно, а актуальность? Сообразит ZFS что на одном винте данные обновились, а на другом остались старые или можно в итоге получить эффект как в случае с неправильным восстановлением аппаратного рейда, когда на выходе получаем две копии старых данных.
Now, all this gets more complicated with ZFS in the mix. You probly have heard that ZFS is transactional and as a result is always consistent-on-disk. But few really spend time thinking that through. Similar to an OLTP database, transactions are created, work is done, and then finally committed.http://www.cuddletech.com/blog/pivot/entry.php?id=1015
http://blogs.sun.com/bonwick/entry/raid_z
Красиво. Собственно сложить систему мне так и не удалось, документации по "убиению" нормальной нет, на тестовой виртуальной машине 8.0-RC2 i386 с малым количеством памяти (баловался от 128 до 256 в qemu и VirtualBox) глюкала только при развёртывании портежей/исходников в момент установки, если ставить по статье http://wiki.freebsd.org/ZFSOnRootWithZFSboot , а если сначала по статье поставить ядро и base, а остальное развёртывать на уже установленной и настроенной системе, всё работает на ура. Пересобрал мир и ядро, установил, установил порты и пачку пакетов. Пытался уложить её скриптом
#!/bin/sh
mdconfig -a -t vnode -f /root/md -u 4
mount_mfs -s 512M /dev/md4 /mntfor i in 1 2 3 4 5 6
do
dd if=/dev/urandom of=random.dat bs=1M count=256
bzip2 -c < random.dat > random2.dat.bz2
bzip2 -dc < random2.dat.bz2 > /dev/null
donecd ~
umount /mnt
mdconfig -d -u 4Где /root/md изначально файл на 520Мб забитый нулями, используется как раздел подкачки. Скрипт был сделан на основе этой заметки http://www.opennet.me/tips/info/837.shtml с той разницей, что применённый в заметке вариант ни на ФС, ни на память у меня нагрузку не сделал, пришлось выталкивать всё это в раздел размещённый в памяти, чтобы она активно использовалась.
Нагрузить FreeBSD и ZFS получилось, винт хрустел по всем статьям, всё это дело сильно свапилось. А уронить не получилось. zpool status -v выдаёт что всё красиво, zpool scrub ничего не выдаёт.
Вот сижу, думаю, толи искать место для переброса данных на ZFS, толи неможет быть всё так круто и стабильно практически "из коробки" и я просто что-то не дожал.
Помню, что на Фряхе до 7.2 при малом количестве памяти оно падало. Сам видел в виртуалке.
http://wiki.freebsd.org/ZFSTuningGuide
Но я не тестировал на 7.2 и 8.0
Попробуй нагрузить большим количеством файлов и папок.
Да, оно падало при малом количестве памяти -> В момент установки. Если установку всё-таки сделать (например на машине с бОльшим количеством RAM), затем настроить и сделать файл подкачки в пару Гб хотябы, то всё нормально.>Попробуй нагрузить большим количеством файлов и папок.
Вот это вариант, осталось скрипточек придумать, который бы мне этот хаос создал.