URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID15
Нить номер: 2806
[ Назад ]

Исходное сообщение
"ZFS под ножом"

Отправлено QuAzI , 03-Ноя-09 05:39 
Присматриваюсь к ZFS, хочу перейти на неё с выходом FreeBSD 8-RELEASE. Есть два вопроса, на которые так и не нагуглил нормального ответа
1) Как её можно "убить", кроме как полностью перезаписав поверх другими данными (например о другой ФС). Можно ли восстановить физически не перезаписанные данные в случае если пользователь случайно начнёт устанавливать что-то поверх (т.е. затрёт разметку, начало слайса, но ещё не затрёт сам файл).
2) Как контролируется рассинхронизация данных на зеркале? Т.е. можно ли потом наверняка знать что после scrub данные последние, а не подхватилась старая версия файла?

Содержание

Сообщения в этом обсуждении
"ZFS под ножом"
Отправлено mummy , 03-Ноя-09 11:31 
Подойди с такими вопросами к выбору жены. Как ее убить и можно ли восстановить? Как проконтролировать, что она не изменяет? Можно ли наверняка знать что получится спид, а не подхватится старая зараза.

"ZFS под ножом"
Отправлено QuAzI , 03-Ноя-09 13:00 
>Подойди с такими вопросами к выбору жены. Как ее убить и можно
>ли восстановить? Как проконтролировать, что она не изменяет? Можно ли наверняка
>знать что получится спид, а не подхватится старая зараза.

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


"ZFS под ножом"
Отправлено mummy , 03-Ноя-09 13:24 
Сори, рэйзером навеяно.
Видимо целостность рэйд контролируется 1) наличием сбоя операции ввода-вывода, 2) целостностью чексуммы блока данных. зфс использует чексуммы, если это не отключено пользователем

"ZFS под ножом"
Отправлено QuAzI , 03-Ноя-09 13:40 
>Сори, рэйзером навеяно.
>Видимо целостность рэйд контролируется 1) наличием сбоя операции ввода-вывода, 2) целостностью чексуммы
>блока данных. зфс использует чексуммы, если это не отключено пользователем

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


"ZFS под ножом"
Отправлено mummy , 03-Ноя-09 16:35 
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


"ZFS под ножом"
Отправлено QuAzI , 03-Ноя-09 17:12 
Красиво. Собственно сложить систему мне так и не удалось, документации по "убиению" нормальной нет, на тестовой виртуальной машине 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 /mnt

for 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
done

cd ~
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, толи неможет быть всё так круто и стабильно практически "из коробки" и я просто что-то не дожал.


"ZFS под ножом"
Отправлено mummy , 04-Ноя-09 11:50 
Помню, что на Фряхе до 7.2 при малом количестве памяти оно падало. Сам видел в виртуалке.
http://wiki.freebsd.org/ZFSTuningGuide
Но я не тестировал на 7.2 и 8.0

"ZFS под ножом"
Отправлено mummy , 04-Ноя-09 11:51 
Попробуй нагрузить большим количеством файлов и папок.

"ZFS под ножом"
Отправлено QuAzI , 04-Ноя-09 14:23 
Да, оно падало при малом количестве памяти -> В момент установки. Если установку всё-таки сделать (например на машине с бОльшим количеством RAM), затем настроить и сделать файл подкачки в пару Гб хотябы, то всё нормально.

>Попробуй нагрузить большим количеством файлов и папок.

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