LINUX.ORG.RU
ФорумAdmin

mdadm,raid0+raid1 can't convert block across chunks


0

2

Все события разворачиваются на debian squeeze, 2.6.32-5-amd64

Есть два софт-рейда:
md2: два диска по 300 гб, в страйпе. итого: 600 Gb, RAID0
md3: два диска(раздела) по 600 гб, в зеркале, итого: 600 Gb RAID1

Делаем новый md4 (raid1) из этих двух дисков, т.е. RAID1 md4: [md2,md3] = 600 Gb
Вся эта конструкция синхронизируется и начинает работать. Спустя несколько часов процессы которые пишут на md4 - перестают это делать и зависают, а в логах непрерывно сыпется вот такое:


....................
13:54:08 kvm kernel: [51994.933588] raid0_make_request bug: can't convert block across chunks or bigger than 512k 101631996 3
13:54:08 kvm kernel: [51994.933758] raid0_make_request bug: can't convert block across chunks or bigger than 512k 101631996 3
13:54:08 kvm kernel: [51994.933924] raid0_make_request bug: can't convert block across chunks or bigger than 512k 101631996 3
13:54:08 kvm kernel: [51994.934091] raid0_make_request bug: can't convert block across chunks or bigger than 512k 101631996 3
13:54:08 kvm kernel: [51994.934268] raid0_make_request bug: can't convert block across chunks or bigger than 512k 101631996 3
13:54:08 kvm kernel: [51994.945350] raid0_make_request bug: can't convert block across chunks or bigger than 512k 101631996 3
13:54:08 kvm kernel: [51994.945532] raid0_make_request bug: can't convert block across chunks or bigger than 512k 101631996 3
...................

Согласно гуглу, подобные проблемы всплывали раньше при создании lvm тома поверх raid0, но эту багу пофиксили несколько лет назад.

Есть у кого какие мысли, что можно сделать, чтобы исправить ситуацию?


p.s.
Такая странная конфигурация обусловлена тем, что пара дисков - быстрые, а вторая пара - медленные.
Соответственно медленные в зеркале, быстрые в страйпе, при этом зеркало медленных помечено как write-mostly, т.е. чтение с него не производится.
Имеем:
1. Надежность зеркала
2. Скорость чтения - страйпа
3. Некоторую избыточность, с которой я готов мириться.
Cделать штатный "--level=raid10" в такой конфигурации, как я понимаю - нельзя.


>Делаем новый md4 (raid1) из этих двух дисков, т.е. RAID1 md4: [md2,md3] = 600 Gb
и как вам такая идея пришла в голову, собрать raid1 из raid0 и raid1? =)
хотите скорости - купите более менее нормальный контроллер. а md поверх md, имхо бред.

соберите raid10 по 300. получите те же 600гб, и, имхо, с той же скоростью наиболее медленных дисков.

300гб харды sas? что ж вы контроллер нормальный то не взяли для них? =)

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

>соберите raid10 по 300. получите те же 600гб, и, имхо, с той же скоростью наиболее медленных дисков.

Читайте внимательно - в моей конфигурации только запись идет со скоростью самого медленного диска. Чтение идет со скоростью старйпа из двух быстрых винтов. И тесты показывают что прирост реальный, и md over md - никаких видимых тормозов не создает.

Единственная возникшая проблема - эта.

что ж вы контроллер нормальный то не взяли для них?

Объем финансирования :(

У кого-нибудь есть идеи по существу?

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

raid10 с layout f2 говорят быстрее дефолтного n2
для вашего мегакостыля с рейдами поверх рейдов у меня идей других нет.

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

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