- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Если вам так все очевидно - где баг?
может быть нигде. в конце концов, write cache на дисках включен (он у многих включен)
как бы ни старался md, часть данных может не записаться.
манипуляции с md, после которых reiserfs начинает работать как задумано, на мой взгляд, исключают проблему в reiserfs.
может быть нигде. в конце концов, write cache на дисках включен (он у многих включен)
как бы ни старался md, часть данных может не записаться.
Тогда это тоже баг - либо в md, либо где-то уже ниже (вплоть до прошивки контроллера). По идее, write cache не должен мешать md, "if the programmers make the right call(s)" (тм).
barrier=1 (правда, md тоже должен их поддерживать, как и ФС, и LVM - если есть) должны исключить ситуацию с порчей данных ФС при резете из-за подобных вещей - но на это вроде не похоже.
манипуляции с md, после которых reiserfs начинает работать как задумано, на мой взгляд, исключают проблему в reiserfs.
Да, если бы вы исключили "манипуляции" с reiserfs непосредственно на дисках (загрузчик).
А вы хотите офигенную отказоустойчивость бесплатно? Если "не много" по сравнению с контроллером - может и не стоит заморачиваться? - защита явно экономически малооправданна.
Гм. Ситуации бывают разные. Если я не хочу покупать адаптек за 60 тыс. рублей и в резерве держать еще один такой же - вполне понятно, почему. Кроме экономической целесообразности есть еще и другие факторы. Давайте оставим этот пустой разговор.
А что, теперь известно? Можно пример?
Дооо... Я почему-то считал, что RAID1 Это RAID1. Не больше и не меньше. но когда почему-то могут 1000 секторов различать на дисках - это не рейд. Я, к своему стыду, даже не могу сказать, какие это секторы. Ну у меня /boot отдельно. Как и /var и /tmp и /home. Странно, да?
Допустим, у меня mismatch_cnt = 1000 за месяц. Товарищ телепат, вам это что-то сказало об "активности использования" swap?
Я оценивал активность работы со swap по mismatch_cnt? Пожалуйста. процитируйте, где. Я оцениваю интенсивность работы swap другими средствами, у меня за этим смотрит мониторинг.
Поясните почему, пожалуйста.
В данном случае гарантировать время записи данных на диск можно, к примеру, используя PIO. Или писать данные с задержками, не полагаясь на электронику винта. Или считывать данные с винта сразу после записи для верификации.
А что, теперь известно? Можно пример?
Мдэ. А что, у меня данные на двух слабоиспользуемых винтах разные - ничего, да? Причем сразу же после ребилда массива. Это нормально, видимо, софт просто глючит и показывает мне бред, а на самом деле данные просто идентичны?
По какой причине - выяснили?
Как раз это мне и интересно. Винты в порядке. Записи почти нет.
Странно, что у вас отваливается только второй диск. Мягко говоря.
Отваливаются оба. А вот синхронизация начинается с первого. man md.
killall -s 9 kvm
(в случае нагрузки - может поломаться, а для пустой виртуалки у меня получилось только что 3 из 3 взлетело нормально)
Да? А вы рейд внутри виртуалок поднимаете? Или чего? Я вот свой сервер резетом выдергивал.
А зачем у ФС журнал - вам понятно? Не затруднит изложить это понимание здесь?
Гм. Журнал ФС бесполезен, если повреждено целевое устройство. Он защищает только от пропадания питания. Собственно говоря, журнал существует для того, что в него записываются изменения в ФС, которые можно откатить в случае проблем.
Вот только почему-то в reiserfs есть механизмы для обеспечения целостности данных+метаданных, аналогичные ext3, например барьеры. Может перечислите эти самые дополнительные "предположения", требуемые от аппаратной части?
Как они помогут, эти барьеры, если на низком уровне ахинея? Т.е. как они помогут, когда, к примеру, винт при работе записывает в файл логическую единицу и отдает логическую единицу, а после резета отдает логический ноль? Вот как?
Ну и на засыпку. Чем объяснить то, что уже во время синхронизации намечается mismatch_cnt ?
Personalities : [raid1] [raid0]
md4 : active raid1 sdc[0] sdd[1]
976762496 blocks [2/2] [UU]
md0 : active raid1 sdb1[1] sda1[0]
521984 blocks [2/2] [UU]
md2 : active raid0 sdb3[1] sda3[0]
20964352 blocks 256k chunks
md3 : active raid1 sda5[2] sdb5[1]
923809664 blocks [2/1] [_U]
[============>........] recovery = 64.0% (592067648/923809664) finish=684.8min speed=8072K/sec
md1 : active raid1 sdb2[1] sda2[0]
41945600 blocks [2/2] [UU]
unused devices: <none>
[root@nemo ~]# cat /sys/block/md3/md/mismatch_cnt
1280
Тогда это тоже баг - либо в md, либо где-то уже ниже (вплоть до прошивки контроллера). По идее, write cache не должен мешать md, "if the programmers make the right call(s)" (тм).
из-за кеша записи на одном винте данные могут успеть записаться, а на втором могут не успеть.
хотя у меня не происходит пропадания питания - у меня внезапная перезагрузка.
Да, если бы вы исключили "манипуляции" с reiserfs непосредственно на дисках (загрузчик).
я не представляю зачем grub legacy писать по диску. надо код смотреть.
писать файлы можно на устройство md с reiserfs, а загрузчик размещать в mbr /dev/sda и /dev/sdb. трогать файловые системы на sda и sdb вроде бы и не нужно.
Кроме экономической целесообразности есть еще и другие факторы.
Больше нет. Цена - основной критерий, определяющий риски и бюджет защиты.
Не больше и не меньше. но когда почему-то могут 1000 секторов различать на дисках - это не рейд.
Заявляется, что подобная ситуация возникает только в двух случаях:
1) кто-то трогает явно один из дисков, минуя рейд
2) приложение работает с сильно временными данными, в ситуации когда оно *в принципе* не собирается их позднее читать (mmap, swap и т.п.)
Обе в принципе, не позволяют утверждать наглость "это не рейд".
Я, к своему стыду, даже не могу сказать, какие это секторы.
А вот это мне тоже не нравится. Не знаю, однако, может последние ядра дают администратору больше информации (например, в /sys/). Надо бы почитать...
Вроде только в тодо:
http://neil.brown.name/blog/20110216044002#12
Я оценивал активность работы со swap по mismatch_cnt?
Нет, конечно. Просто "большие" по абсолютной величине mismatch_cnt (~1k) - ровно ничего не говорят порой об интенсивности использования swap.
Мдэ. А что, у меня данные на двух слабоиспользуемых винтах разные - ничего, да? Причем сразу же после ребилда массива. Это нормально, видимо, софт просто глючит и показывает мне бред, а на самом деле данные просто идентичны?
Это нормально в конкретной ситуации (использование swap и т.п.).
Как раз это мне и интересно. Винты в порядке. Записи почти нет.
Начните с того, что отключите swap.
Да? А вы рейд внутри виртуалок поднимаете? Или чего?
Это простой тест, забыли? kill -9 как раз приблизительно эквивалентен внезапному отключению питания. С физической железкой, конечно, лучше - но не думаю что есть принципиальная разница в данном случае.
Гм. Журнал ФС бесполезен, если повреждено целевое устройство. Он защищает только от пропадания питания.
Неуд.
Как они помогут, эти барьеры, если на низком уровне ахинея?
На низком уровне _не может_ быть ахинеи, когда этот самый уровень (или уровни, к примеру если у вас между ФС и диском еще и LVM есть) барьеры поддерживает. Вы бы познакомились немного с предметом.
Чем объяснить то, что уже во время синхронизации намечается mismatch_cnt ?
Поподробнее. Опишите свои действия.
Объяснение покуда штатное из man md "SCRUBBING AND MISMATCHES", в частности учтите то что пишет рейд в ответ на check/repair. Например, после repair c исправленными mismatch_cnt!=0 - показатель md/mismatch_cnt будет ненулевым! Судя по приведенному выводу команд - для вас это неожиданность.
из-за кеша записи на одном винте данные могут успеть записаться, а на втором могут не успеть.
Ну и плевать. ФС с барьерами просто не посчитает такую транзакцию.
я не представляю зачем grub legacy писать по диску. надо код смотреть.
да хоть savedefault?
трогать файловые системы на sda и sdb вроде бы и не нужно.
Трогать определенно нужно, вопрос лишь в том - только ли на чтение.
из-за кеша записи на одном винте данные могут успеть записаться, а на втором могут не успеть.
Ну и плевать. ФС с барьерами просто не посчитает такую транзакцию.
Так ведь запишется разная информация на винты и получится рассинхронизация, которую нельзя определить по метке.
да хоть savedefault?
я уже показывал, в конфигурация подобных моей это отключено специально.
Так ведь запишется разная информация на винты и получится рассинхронизация, которую нельзя определить по метке.
Не запишется, учим матчасть.
я уже показывал, в конфигурация подобных моей это отключено специально.
Это *пример*.
Не запишется, учим матчасть.
Какую еще матчасть?
Есть два отдельных физических диска. Блины на них крутятся сами по себе. Одни и те же команды выполняются за разное время.
Авария прерывает работу в любой момент времени и на одном диске может что-то запишется, а на другом не запишется. Вот данные и разные.
В моем случае еще не известно прерывает ли. Питание-то никуда не пропадает.
Для исключения этой проблемы железные контроллеры делают с памятью и батарейкой.
Тут, вообще-то, должна сработать метка грязности в dmraid, но из-за ncq не известно записалась ли она раньше или позже данных и записалась ли вообще. Пока мне не известно есть ли у dmraid какие-то собственные барьеры. Скорее всего нет, потому что это ухудшит производительность.
В принципе еще до появления ncq подобное поведение было у scsi-устройств и даже до появления барьеров в ядре как таковых. Так что dmraid должен бы учитывать эту ситуацию.
Это нормально в конкретной ситуации (использование swap и т.п.).
На показанном выше примере swap нет. swap находится на md3 (RAID0). Остальные массивы НЕ используются... Вот так вот всё просто.
Поподробнее. Опишите свои действия.
Объяснение покуда штатное из man md "SCRUBBING AND MISMATCHES", в частности учтите то что пишет рейд в ответ на check/repair. Например, после repair c исправленными mismatch_cnt!=0 - показатель md/mismatch_cnt будет ненулевым! Судя по приведенному выводу команд - для вас это неожиданность.
Этот рейд-массив НЕ использовался ещё ни разу. Собственно, массив собирается в первый раз.
Пока мне не известно есть ли у dmraid какие-то собственные барьеры.
Есть, конечно. Их md и пользует.
Скорее всего нет, потому что это ухудшит производительность.
Потому по-умолчанию все и выключено. Как минимум, для ext3/reiserfs. ext4 вроде уже включает по-умолчанию.
Этот рейд-массив НЕ использовался ещё ни разу. Собственно, массив собирается в первый раз.
Как воспроизвести проблему? На уровне "для идиотов", пожалуйста: берем то-то, выполняем такие-то команды, делаем то-то, смотрим на вывод таких-то команд...
(Совсем хорошо, если получится без реальной железки, в qemu/kvm - железки трогать влом ;))