LINUX.ORG.RU

FreeBSD/zfs: исчезновение данных на 600+ GB

 ,


0

2

Как создавал xfs и устанавливал на нее систему:
делал все по этому мануалу.
Ставил все на один диск. затем, скопировал все свои документы (фотки 10летней давности, ролики, доки по работе) с временного диска на FreeBSD по самбе. Когда скопировал, диск обнулил дискдайпом и обратно вернул своему другу.
Достал второй диск и решил сделать зеркало. Для надежности.
ada1 - второй диск.
zpool labelclear /dev/ada1 (на всякий случай)
gpart create -s gpt ada1
gpart add -b 34 -s 94 -t freebsd-boot ada1
gpart add -t freebsd-zfs -l wd_old ada1
zpool attach zroot /dev/gpt/wd_7tys_ryb /dev/gpt/wd_old
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1
ресильверинг прошел успешно.

Понадобилось выключить компьютер. вынуть видеокарту и оставить встроенную.
Когда включил, то не понял. по самбе никуда не могу попасть. полез в шелл - а в корневом каталоге документов полная пустота. документы лежали в /home/iron/1
сам домашний раздел похудел на ~620GB - это все, что было накоплено еще под Slackware с 2002 года. Filesystem Size Used Avail Capacity Mounted on
zroot 2.7T 380M 2.7T 0% /
devfs 1.0k 1.0k 0B 100% /dev
zroot/tmp 2.7T 176k 2.7T 0% /tmp
zroot/usr 2.7T 2.6G 2.7T 0% /usr
zroot/usr/home 2.7T 280M 2.7T 0% /usr/home
zroot/usr/ports 2.7T 1.4G 2.7T 0% /usr/ports
zroot/usr/ports/distfiles 2.7T 787M 2.7T 0% /usr/ports/distfiles
zroot/usr/ports/packages 2.7T 144k 2.7T 0% /usr/ports/packages
zroot/usr/src 2.7T 509M 2.7T 0% /usr/src
zroot/var 2.7T 1M 2.7T 0% /var
zroot/var/crash 2.7T 148k 2.7T 0% /var/crash
zroot/var/db 2.7T 157M 2.7T 0% /var/db
zroot/var/db/pkg 2.7T 14M 2.7T 0% /var/db/pkg
zroot/var/empty 2.7T 144k 2.7T 0% /var/empty
zroot/var/log 2.7T 296k 2.7T 0% /var/log
zroot/var/mail 2.7T 148k 2.7T 0% /var/mail
zroot/var/run 2.7T 380k 2.7T 0% /var/run
zroot/var/tmp 2.7T 152k 2.7T 0% /var/tmp

iron:[~]$zpool status -v
pool: zroot
state: ONLINE
scan: resilvered 665G in 1h47m with 0 errors on Sat Aug 31
10:31:13 2013
config:

NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gpt/wd_7tys_ryb ONLINE 0 0 0
gpt/wd_old ONLINE 0 0 0

errors: No known data errors

Люди. Это же неубиваемая файловая система. лет 15 жил под другими фс, но что я сделал не так?
Есть ли возможность как-то все вернуть?



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

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

C zdb не работал — не в курсе его возможностей. Основные свои соображения я уже высказал: пул в полном порядке, не исключена человеческая ошибка «данные не туда скопировали из-за путаницы со ссылками и/или точками монтирования».

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

про копирование какой стадии идет речь? про синхронизацию во время объединения дисков речь? но там партиции. что за копирование?

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

Ключ "-f" в zpool import — это безусловное монтирование пула. Х.з. что там с его консистенцией может быть.

Импортировалось, загрузившись с загрузочного CD. Соответственно, другой hostid, отличающийся от того, который в метке. Поэтому без -f пул бы и не заимпортировался. На консистентность в данном случае это никак не влияет, так что не надо тут дополнительный FUD разводить. Проблема возникла до этого.

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

Данные копировали туда - zpool status из начала топика говорит о том, что в пуле было использовано 655GB места на момент окончания синхронизации.

Так что здесь что-то другое.

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

Ты сначала создал пульс файловами системами, потом скопировальв него данные, а потом прицепился зеркало. Правильно я понимаю последовательность событий?

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

Да.
Изначально второго диска в 3 TB не было.

Karharot
() автор топика
Ответ на: комментарий от ZZ
zdb -ed zroot
Dataset mos [META], ID 0, cr_txg 4, 8.29M, 202 objects
Dataset zroot/usr/ports/packages [ZPL], ID 80, cr_txg 32, 144K, 7 objects
Dataset zroot/usr/ports/distfiles [ZPL], ID 73, cr_txg 30, 788M, 1761 objects
Dataset zroot/usr/ports [ZPL], ID 66, cr_txg 28, 1.44G, 277059 objects
Dataset zroot/usr/home [ZPL], ID 45, cr_txg 24, 281M, 60329 objects
Dataset zroot/usr/src [ZPL], ID 87, cr_txg 34, 509M, 55585 objects
Dataset zroot/usr [ZPL], ID 38, cr_txg 23, 2.58G, 101054 objects
Dataset zroot/var/crash [ZPL], ID 94, cr_txg 36, 148K, 8 objects
Dataset zroot/var/tmp [ZPL], ID 143, cr_txg 51, 152K, 8 objects
Dataset zroot/var/db/pkg [ZPL], ID 108, cr_txg 40, 14.6M, 2345 objects
Dataset zroot/var/db [ZPL], ID 101, cr_txg 38, 157M, 24854 objects
Dataset zroot/var/log [ZPL], ID 122, cr_txg 44, 308K, 35 objects
Dataset zroot/var/run [ZPL], ID 136, cr_txg 48, 344K, 38 objects
Dataset zroot/var/empty [ZPL], ID 115, cr_txg 42, 144K, 7 objects
Dataset zroot/var/mail [ZPL], ID 129, cr_txg 46, 148K, 14 objects
Dataset zroot/var [ZPL], ID 52, cr_txg 25, 1016K, 82 objects
Dataset zroot/swap [ZVOL], ID 150, cr_txg 56, 72.0K, 2 objects
Dataset zroot/tmp [ZPL], ID 59, cr_txg 26, 176K, 11 objects
Dataset zroot [ZPL], ID 21, cr_txg 1, 380M, 1988 objects

http://rghost.ru/48504813 - «zdb -edddddd zroot 201 203»

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

У меня была мысль, что каким-то образом ZFS после пере загрузки подхватила старое состояние до того, как данные были скопированы. Однако, вывод zdb дает возможность утверждать, что этого не было. Если бы это было действительно так, то количество когда-либо использованных метаслабов было бы гораздо меньше. Однако их 50 штук (см строки где после spacemap идет не нуль), что при размере одного метаслаба в 16 гиг дает верхнюю оценку использованного пространства в 800 гиг, что соответствует данным zpool status из начала топика о синхронизированных 655 гигах. Сейчас же эти метаслабы практически пустые, что говорит о том, что место было освобождено.

Так что скорее всего скопированные данные были каким-то образом нечаянно удалены после создания зеркала.

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

жесть. тогда ну ее нх (извиняюсь), ибо «нечаянно» не удалял ничего. По самбе макось все убила? - но это невозможно, ибо авторизация идет по юзер-логину,в том каталоге были файлы, доступ на запись к которым имел только рут и с правами 0700. без каких-либо доп. acl. Из шелла, так же. даже, если гипотетически представить, что из шелла чего-то там могло бы произойти, то то же нет, ибо шел был в юзер-логине. не под рутом. пришел домой и через ipmi, зайдя в терминал, вырубил комп и все.
В общем, точно, эта система не для слабых умов.

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

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

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

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

В первый раз у меня и в снимке было почти пусто - один в один, как и в опустошенном каталоге документов. Тогда удивился, ибо грешить на zfs никак не могу. лишь на себя.

был бы рад по-исследовать, да некуда исследовать, ибо действий, производимых на машине, производилось с гулькин йух. Бегаю, как муравей в шарике и не знаю, что что даже приблизительно зацепиться. В прошлый раз - мне хватило целого года, что бы прокрутить все в голове. так ничего подозрительного для себя и не наисследовал.
Фря - хорошая система, вместе с zfs итд, но не для меня. Каждому свое6 а то, что хочется лучшего - проблема индейцев)

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

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

Karharot
() автор топика

Давно говорил, что для помойки на фре нет ничего лучше ufs, ибо простое как тапок.

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

Дядьку iZen - это вам не все.

upd: о, а как этого дядьку зовут-то? %)

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

Давно говорил, что для помойки на фре нет ничего лучше ufs, ибо простое как тапок.

Вчера забавный баг в UFS пофиксили: http://svnweb.freebsd.org/base/stable/9/sys/?sortby=date&view=log

Да и так походу фиксят разные несуразности в этой ФС.

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

Бэкап всегда надо держать, вне зависимости от используемых ФС.

кстати. как правильно подсоединить второй носитель не зеркалом, а томом? Эдакий zfs пул второго харда в точку монтирования диска первого пула. именно монтаж, а не присоединение устройства на принципе zfs инструментов.

во блин сказанул))

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

ESTAF ★★★
()
Последнее исправление: ESTAF (всего исправлений: 3)
Ответ на: комментарий от iZEN

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

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

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

Есть куча способов добиться этого.

Во-первых, можно делать репликакцию с помощью send/receive на другую машину или в другой пул на этой же машине.

Во-вторых, можно прицепить зеркало, дождаться окончания синхронизации и сделать для вновь подключенного диска 'zpool offline'. После этого заоффлайненый диск можно доставать и убирать в сторону. В дальнейшем его можно периодически подключать и, дождавшись синхронизации новых данных, снова убирать в сторонку. Для проверки бэкапа его всегда можно заимпортировать на другой машине в режиме только для чтения.

В-третьих, можно использовать zpool split.

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

Кстати, в инете бытует мнение, что подобные случаи (как у автора и у меня (первый случай)) могут происходить из-за размещения файла подкачки на zfs. ну, это мнение. Не факт. просто, есть высказывания.

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

Ну «Радио ОБС» еще и не то расскажет :) В данном конкретном случае я не вижу никакой связи. Данные были скопированы, занимали место. Потом данных не стало, место освобождено, никаких повреждений пула не выявлено. Наиболее вероятная причина - данные были удалены. Если бы произошло какое-то повреждение, явное или неявное, приведшее к недоступности данных, то занимаемое ими место все еще было бы помечено как используемое. Однако этого не наблюдается. Каким образом сюда можно приплести swap - я не представляю.

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

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

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

Кто-то написал, что использовал скрипт, написанный на bash для копирования и удаления файлов.

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

кстати. как правильно подсоединить второй носитель не зеркалом, а томом? Эдакий zfs пул второго харда в точку монтирования диска первого пула. именно монтаж, а не присоединение устройства на принципе zfs инструментов.

Что-то мне шепчет, что собачка порылась в месте недостаточного понимания терминологии, архитектуры ZFS и использования целевого пула для копирования данных (которые впоследствии пропали) в извращённом виде...

iZEN ★★★★★
()
13 декабря 2013 г.
Ответ на: комментарий от iZEN

Кто может подсказать хорошую настольную книгу zfs?
Что бы, изучив ее (надеюсь, ее и за год можно будет вызубрить и понять) приступить к установке.

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

Вчера забавный баг в UFS пофиксили:

Разбудишь, когда вернут на место поддержу PS/2 устройств в 9.2.

А пока что, ничего лучше Дебиана не нашел.

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

Разбудишь, когда вернут на место поддержу PS/2 устройств в 9.2.

У меня материнка ECS A785GM-M вообще не имеет интерфейсов PS/2. Так что нет возможности узнать, что это такое и когда вернут. :)

К тому же, uname показывает, что установлена FreeBSD 10.0-PRERELEASE. ;)

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

Я думаю с поддержкой беспроводных мышей и клавиатур во фряшеньке вообще никак. Надо будет взять себе такие и проверить в линуксе :)

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

Почему это? Logitech VX Revilution работает как обычная USB-мышь. Тут проблема в том, как дополнительные кнопки настроить.

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

UPD: Сейчас проверил: из дополнительных кнопок только кнопки «Вперёд/Назад» и «Влево/Вправо» работают в браузерах Firefox, Midori и Chromium.

iZEN ★★★★★
()
9 мая 2014 г.

Была такая проблема, переустанавливал клиенту зефесню,

Суть проблемы уже не помню, помню что забыл после установки сделать zfs export перед ребутом и в итоге запустилась старая разбивка с ошибками.

Данных не копировал, но факт есть факт, разбивка не сохранилась.

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

anonymous
()
18 сентября 2014 г.

Попробуйте проверить диск victotiya с галочкой remapоятно нарушенна целостность структуры из за сбойных клайстеров. В случае с NTFS или Fat32 это помогает восстановить даже разделы. Но какой результат получится точно сказать не могу. Для этого сделайте клон диска прежде чем его проверять. Удачи и напишите чем закончилось восстановили ли и как это сделали. yqapchenko@mail.ru

anonymous
()

http://sysalex.com/2012/03/root-on-zfs-freebsd-9-4k-optimized/

мало того, что ты использовал экспериментальную ФС, так ты ещё и напихал её самыми нестабильными, самыми тестовыми выборочными опциями, ну фейспалм ваще. Бекапы надо было делать.

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