LINUX.ORG.RU
ФорумAdmin

Опять zfs, неужели никак нельзя починить?

 , ,


1

2
Предисловие для "особо одарённых":
У меня нет ни каких претензий к zfs, и ни в чём я её не обвиняю.
У меня сложилась ситуация и надо найти из неё выход.
Не надо утруждать себя, и доказывать мне что я сам виноват. Я всю жизнь, делал продакшн системы на "том что есть", а не требовал крутого оборудования для продакшна, начиная с 90х, когда помогал поднимать первый в городе диалап интернет на OS/2, мультипортовках и аналоговых телефонных модемах, и это был ПРОДАКШН!
Так и сейчас. Есть определенное бюджетное оборудование и надо добиться его стабильной работы.



Потихоньку «роняю» zfs. (Вернее сама падает в нестабильных условиях)
Сейчас, после scrub имею:

  pool: T4T3S
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-8A
  scan: scrub repaired 2.17M in 09:12:56 with 38 errors on Fri Apr 18 18:37:59 2
config:

        NAME         STATE     READ WRITE CKSUM
        T4T3S        DEGRADED     0     0     0
          T4T3STORE  DEGRADED     0     0 4.44K  too many errors

errors: Permanent errors have been detected in the following files:

        T4T3S/:Dedup:<0x0>
        T4T3S/:pub:<0x0>

К сожалению - ошибки в самих подтомах, и не в отдельных файлах, которые можно удалить и перезалить. Неужели решение только в полной перезаливке подтомов?

И не надо хамить. Оригинальные данные надеюсь в стабильных условиях, но надо добиться стабильной работы дисков, на разных хостах через USB3.
В прошлый раз всё работало стабильно, но данные обновились и решил снова рсинкнуть. Подключил накопитель, и он стал DEGRADED после попытки rsync. К сожалению не отметил в чём разница подключений прошлого раза и этого.

★★★

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

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

Нет, диск новый, энтерпрайз от Тошибы:

Model Family:     Toshiba MG04ACA... Enterprise HDD
Device Model:     TOSHIBA MG04ACA400E
...
User Capacity:    4 000 787 030 016 bytes [4,00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
...
  9 Power_On_Hours          0x0032   096   096   000    Old_age   Always       -       1655

Но этот диск подключен по USB3, через USB3 адаптер. Но видимо нужен ещё и хаб с питанием. Хотя адаптер уже с питанием.
На МикроПК этот диск работал без проблем, но на основном осуществил крупную миграцию данных и надо было отразить на копии.

Что касается дисков и зеркал, то у меня зеркало на sata, но десктоп лопает много энергии и хочу его включать только для обратного рсинка, а этот отдельный тупо использовать на МикроПК - потребляющем 15Ватт, а не 200 как десктоп.

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

А виновата почему-то ZFS. Ясно.

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

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

Я вам даю полигон в своём лице, чтобы отработать нештатные ситуации

Это не «нештатная ситуация» - это включить реверс передачу на ходу.

надо уже знать как с ней справиться.

А уже известно:

action: Restore the file in question if possible.  Otherwise restore the entire pool from backup.
MagicMirror ★★★
()
Ответ на: комментарий от targitaj

Кабель другой пробовал?

в общем то вопрос не в кабеле, а в том как с этой ситуацией справиться. С этим кабелем всё и работало и работает, но на других компах. В этом стоит 8портовая USB3, и похоже она сбоит без активного USB3хаба с питанием, но у меня пока такого свободного нет. Хотя в принципе есть, но подключить и перезалить с нуля - это ОЧЕНЬ ДОЛГО (>2.8Т данных с упаковкой и частично с дедупом).

Safe  used                  2.84T                      -
Safe  available             701G                       -
.....
Safe  logicalused           3.06T                      -

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

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

Я вам даю полигон в своём лице, чтобы отработать нештатные ситуации

Это не «нештатная ситуация» - это включить реверс передачу на ходу.

А реверс на ходу это уже не нештатная ситуация? ЛОЛ!

надо уже знать как с ней справиться.

А уже известно:

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

action: Restore the file in question if possible. Otherwise restore the entire pool from backup.

Типа я читать не умею?
Так бы и написал что не знаешь.

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

USB не предназначен для надёжного подключения чего бы то ни было. Найди на своём компе sata слот, или pci(pci-e) разъём, куда можно воткнуть sata контроллер, и подключай диск туда. Повторю ещё раз, zfs тебе не поможет против проблем с железом (а диск через usb - это именно оно), тем более если он сделан без зеркала.

зеркало на sata, но десктоп лопает много энергии и хочу его включать только для обратного рсинка,

Рсинк это не зеркало.

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

Блин, ну сколько уже можно стрелять себе в ногу, а потом спрашивать с невинным лицом «А что это у меня случилось?»

ZFS пул не предназначен для расположения на говноподключениях, не тот use case, совсем. Собери nas из более-менее нормального железа, поставь туда диски и наслаждайся скоростью и надёжностью.

Я вам даю полигон в своём лице

Это не полигон, это хренота из говна и палок, не приводящая ни к чему полезному. Можно ещё собрать zfs пул через nfs over raid over lvm и писать «отлаживайте мне, я вам полигон дал же!»

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

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

Но этот диск подключен по USB3, через USB3 адаптер.

Я тебе уже писал про USB, но на всякий повторю: не любит ZFS non-SATA (non-SAS) диски. Плюс у USB питание нестабильное.

Неужели решение только в полной перезаливке подтомов?

zpool clear
mord0d ★★★★★
()
Ответ на: комментарий от n0mad

А реверс на ходу это уже не нештатная ситуация? ЛОЛ!

Господи… Да! Современная коробка вообще не позволит тебе сделать такую глупость, а на старой, если конечно сил хватит, ты ее либо сломаешь либо сцепление сожжешь. Раз на 4ый точно сломаешь.

Типа я читать не умею?

Видимо да. Других способов то нет.

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

сколько уже можно стрелять себе в ногу, а потом спрашивать

Своих шишек набьёт — опыта наберётся.

А задавать 100500 (чаще всего глупых) вопросов в день и теоретизировать каждый горазд.

а ты в ответ ещё агрессируешь постоянно и обзываешь людей

Можно пруфов?

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

Своих шишек набьёт — опыта наберётся

Так в том то и дело, что не наберётся, он инвалид (даже я уже запомнил это)

Можно пруфов?

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

Dimez ★★★★★
()

Уже десятки раз упоминал на ЛОРе, что ZFS очень хорошо отлавливает ошибки, появляющиеся в аппаратных шинах данных.

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

Для примера, можешь поместить свой мобильный HDD внутрь металлического системника с подключением на внутренний USB разъём матплаты, чтобы кабель не торчал наружу, и сразу увидишь падение количества CRC. Если запихать твой системник ещё и в большой сплошной металлический ящик для электрооборудования, то количество ошибок вероятно упадёт до нуля. Ещё можешь попытаться замотать кабель с диском тканью Фарадея почти с тем же эффектом.

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

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

USB не предназначен для надёжного подключения чего бы то ни было.

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

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

А вот этот твой подход плохой. Угроза, очевидно, имеется, и надо её учитывать и защищаться. Когда ты кому-то понадобишься (+ когда ты узнаешь о том что кому-то понадобился), будет уже поздно всё это изучать.

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

А можно просто использовать подходящий интерфейс. Экранирование и гальванические развязки известны давно и используются в том числе из-за этого. Но сидеть в экранированной клетке и шапочке из фольги, как предлагается в той копипасте, чтобы USB был «надёжным» - объект интереса для людей в белых халатах.

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

USB не предназначен для надёжного подключения чего бы то ни было. Найди на своём компе sata слот, или pci(pci-e) разъём, куда можно воткнуть sata контроллер, и подключай диск туда. Повторю ещё раз, zfs тебе не поможет против проблем с железом (а диск через usb - это именно оно), тем более если он сделан без зеркала.

Я всё себя считаю убогим, а здоровые люди почему то совершенно не читают топик и гонят отсебятину.
Вы обладаете квалификацией для определения для чего предназначен USB? Какое у Вас образование? При чём тут ошибки и зеркало? Если он будет на USB с зеркалом - это ни чего не изменит! («тем более если он сделан без зеркала»)
USB - это шина переддачи данных, и контоль ошибок там есть, я не вижу проблемы - передать ещё один пакет в случае ошибки.
Диски с USB - используются уже более 25 лет! До появления zfs - я банально не встречал проблем с USB, хотя до zfs у меня и не было USB3.

зеркало на sata, но десктоп лопает много энергии и хочу его включать только для обратного рсинка,

Рсинк это не зеркало.

Читаем? Да? «ЗЕРКАЛО НА SATA» - перевести?
РСИНК ДЛЯ БЭКАПА!
С зеркала на внешний носитель!
Может так понятнее?
Впрочем больше спорить и учить не буду. У меня подозрение что Вас и не было ещё, когда я начал использовать USB диски.

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

передать ещё один пакет в случае ошибки.

Ты не понимаешь чтоли, что если даже SATA контроллер пропускает CRC ошибки, то USB и подавно. Они просто не знают, что пропущенная ошибка произошла, и что нужно было делать повтор и дроп пропущенного пакета. Не работает твой аппаратный контроль ошибок, как того хотелось бы, доказательство тому софтовый контроль ошибок ZFS, а возможен он лишь потому, что шина CPU обеспечивает намного большую стабильность работы даже в плохих условиях помех, чем периферийные шины.

Именно поэтому твой zpool status и показывает такую красотищу.

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

Повторяю: USB для подключения стационарных дисков непригоден. А зеркало помогло бы автоматически устранить как минимум часть возникших из-за твоего дурацкого USB ошибок.

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

Если у тебя заранее на всё есть своё мнение - незачем ничего спрашивать вообще.

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

Нет, он никогда не был предназначен. Годится для всяких мышек или подключить флешку на полчаса чтобы потом вытащить.

Зачем там скорость 20Гбит? А именно такая скорость у крайнего USB.
В современных шинах, не USB2 и токи и напряжения - выше! Как раз для того чтобы надежно передавать данные, другое дело что не каждое устройство - хорошо сделано. Одни работают без проблем, но есть и проблемные девайсы. В общем то у меня проблемы появляются в основном на китайской 8портовой плате, стоящей в десктопе. На той что стояла до неё - проблем не было, но она сдохла. Сейчас ткну туда активный хабю и проблема решится. Сейчас вспомнил, что прошлый раз тоже всё решилось подключением USB3 хаба с отдельным блоком питания. Причём диски даже не надо подключать в этот хаб - он своим кабелем, подаёт качественное питание в USB компьютера.

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

Очищу этот пул и отправлю на чистый тот который на sata.

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

Прошу главного гуру по zfs оказать мне помощь.
Или придётся долго читать доки.

Есть том: Safe, в нём несколько подтомов, с разными настройками.
Можно ли всё это хозяйство - рекурсивно послать на новый том: T4T3S? (Только что сделал DESTROY старого тома и создал новый с тем же именем)

Или на новом надо создавать всю иерархию с настройками и посылать каждый подтом?

Подскажи пожалуйста синтаксис этой операции.

Вот такой у меня ужасный сейф:

NAME                USED  AVAIL     REFER  MOUNTPOINT
Safe               2.84T   701G     31.5K  /zfs/=Safe
Safe/:1T             24K   701G       24K  /zfs/=Safe/:1T
Safe/:Backup        209G   701G      209G  /opt/=pub/=Backup
Safe/:Dedup        14.6G   701G     14.6G  /zfs/=Safe/:Dedup
Safe/:Media        1.65T   701G     1.65T  /opt/=pub/=Media
Safe/:SB           10.0G   701G     10.0G  /zfs/=Safe/:SB
Safe/:cry           108G   701G      108G  /opt/=pub/enc/=cry
Safe/:ecry         84.5G   701G     84.5G  /opt/=pub/enc/=ecry
Safe/:encfs          25K   701G       25K  /opt/=pub/enc/=encfs
Safe/:ext            24K   701G       24K  /zfs/=Safe/:ext
Safe/:pub           792G   701G      792G  /opt/=pub

# zpool status Safe
  pool: Safe
 state: ONLINE
  scan: scrub repaired 0B in 23:38:24 with 0 errors on Mon Feb 10 00:02:26 2025
config:

	NAME          STATE     READ WRITE CKSUM
	Safe          ONLINE       0     0     0
	  mirror-0    ONLINE       0     0     0
	    T4T1Safe  ONLINE       0     0     0
	    T4T2Safe  ONLINE       0     0     0

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

Зачем там скорость 20Гбит? А именно такая скорость у крайнего USB. В современных шинах, не USB2 и токи и напряжения - выше!

Сейчас любят производить не пойми что не пойми зачем и потом жрать этот кактус. USB как раз из такого.

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

В современных шинах, не USB2 и токи и напряжения - выше! Как раз для того чтобы надежно передавать данные

Что ты блин несёшь? Стандарты зарядки Quick Charge и Power Delivery не относятся к передаче данных вообще никак. Полно кабелей PD 100W (20V*5A), но с USB2 стандартом (даже у iphone такое встречается)

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

В современных шинах, не USB2 и токи и напряжения - выше! Как раз для того чтобы надежно передавать данные

Что ты блин несёшь? Стандарты зарядки Quick Charge и Power Delivery не относятся к передаче данных вообще никак. Полно кабелей PD 100W (20V*5A), но с USB2 стандартом (даже у iphone такое встречается)

Ну виноват, попутал это правда только у питания - есть протокол согласования напряжения. На интерфейсе и правда так и остались 5В, где то что то прочитал и не так понял.

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

У меня есть флешка на 64 ГиБ с USB3, так вот, у меня она по каким-то причинам нормально не работает, скорость записи даже с F2FS, которая, в общем-то, и разрабатывалась с прицелом на флеш-память и NAND, крайне низкая, а ядро сыпет ошибками чтения-записи. Не разбирался еще, в чем именно проблема, но точно не в самой ФС. Тут запросто может оказаться виновником кривая прошивка контроллера USB3, а не ZFS. Поэтому, советую прислушаться к советам сменить транспорт на более адекватный SATA.

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

У меня есть флешка на 64 ГиБ с USB3, так вот, у меня она по каким-то причинам нормально не работает, скорость записи даже с F2FS, которая, в общем-то, и разрабатывалась с прицелом на флеш-память и NAND, крайне низкая, а ядро сыпет ошибками чтения-записи. Не разбирался еще, в чем именно проблема, но точно не в самой ФС.

Я и не писал что проблема в fs! Я просил помощи в ПОЧИНКЕ!
Чувствуете разницу?

Тут запросто может оказаться виновником кривая прошивка контроллера USB3, а не ZFS.

Я этого вообще не касался и длинной палкой! Мне не поиск виновника нужен - а возможность ПОЧИНИТЬ!
Впрочем это уже в прошлом. Удалил раздел, создал пустой и запустил копию 4Т диска. С таймером, заодно посмотрим сколько он будет думать. За почти 2 часа - скопировалось 500+Гб, если прикинуть то 16 часов. т.е. к 16 часам он должен допилить.

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

Чувак, ты вообще читал вводные?
МикроПК - это коробочка 10x10см с VGA,2*USB2,2*USB3,8RAM,128SSD
ТАМ НЕТ SATA!
ВСЁ!
Но Десктоп (который тоже конечно есть, и с зеркалом и с отдельным винтом) лопает ~200Вт/час=4800Вт/день=144кВт/мес по 4.61 это 664р/мес.
МикроПК - лопает 15Вт, с 5HDD он лопает 60Вт/час=1440Вт/день=43кВт/мес по 4.61 это 198р/мес.
ЧУВСТВУЕШЬ РАЗНИЦУ? А за год? За год он сэкономит 200-60=140Вт/час===5600р это больше половины его цены! Учитывая что компьютер у меня не выключается в принципе!
Хотя конечно ща набегутся те для кого 5к это пообедать...
А я не хочу тратить 5к там где можно этого не делать, да и не гудит он, он вообще с пассивным охлаждением. А десктоп воет как нытик...
Да и скорость на USB3 неплохая:

# dd if=/dev/sdc of=/dev/null bs=1024M count=1
1+0 records in
1+0 records out
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 6,35992 s, 169 MB/s

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

~200Вт/час=4800Вт/день=144кВт/мес

Дать бы кому-нибудь учебником физики по голове

Оффтоп, конечно, но это прям больно читать. Мощность измеряется в Вт. Потребленное электричество - в Вт*ч. Умножить, а не разделить

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

ТАМ НЕТ SATA

Что за говно ты купил? У меня есть плата D945GCLF2D 2008 года выпуска Mini-ITX и там есть SATA(2 шт). Я не помню за сколько её покупал, но сейчас вижу на авито за 500-1000 рублей. Там процессор жрет 8 ватт, единственное что с прошивкой по умолчанию система не умеет грузится с жесткого диска, но это решается перепрошивкой.

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

он инвалид

Но не идиот.

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

в том то и дело, что не наберётся

Пусть медленно, но набирается. Обрати внимание что я почти во всех его тредах про ZFS отписался. Если бы он был необучаемым, я бы уже давно плюнул и забил.

В этой теме началось

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

Я никого не обвиняю, просто делюсь наблюдениями.

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

Диску требуется до 12W (ноутбучным меньше, тыртырпрайзным больше) под нагрузкой.

UBS3 по стандарту должно выдавать 4.5W, но фактически оно плавает в пределах ±1W на почти всём консьюмерском железе. То есть в идеальных условиях USB3 способно вытягивать диск в idle (≈4W), и то без гарантий. Под полной нагрузкой блок питания может не додать на диски даже через его штатные провода.

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

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

Вначале делаешь zpool clear, затем делаешь zpool scrub, если повторяется — тут только пересоздавать проблемные датасеты.

Но и тут можно извернуться: создаёшь новые датасеты с другими именами, переносишь данные (можно даже zfs send|recv), уничтожаешь (zfs destroy) проблемные датасеты, переименовываешь (zfs rename) новые в старые имена.

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

Или на новом надо создавать всю иерархию с настройками и посылать каждый подтом?

Пропы датасетов передаются в zfs send флагом -p, в zfs recv принимаются по умолчанию.

Создавать иерархию не нужно. Можешь в zfs send использовать флаг -R, который передаст решительно ВСЁ (даже снапшоты и клоны).

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

mord0d ★★★★★
()