LINUX.ORG.RU
решено ФорумTalks

Искусственный интеллект @#$%^&*()!

 ,


0

2

Жил был сервер dell r710. Вдруг, неожиданно, после 12 лет работы умирает raid-контроллер (типа lsi 9208). При старте сервак говорит - иди к саппорту.

Ну и хрен с ним!

Достаем из двух зеркал (которые были в одном VG) по одному диску и цепляем к машинке. На каждом диске есть раздел с типом 8E Linux LVM.

pvs не хочет их видеть :(

Первый звоночек, что что-то не так - в /proc/partitions нет для диска партиций :-/

Но мы умные! Запускаем blockdev --rereadpt ... и вуаля, в /proc/partitions есть инфа.

pvs показывает, что все есть!

vgs говорит что все есть!

lvs говорит, что все LV есть, но не активые.

vgchange говорит «а вот хрен тебе»!

dmesg на каждый LV по паре строк

[   84.016907] device-mapper: table: 253:9: linear: Device lookup failed
[   84.029914] device-mapper: ioctl: error adding target to table
Охренеть как информативно.

bc + losetup и доступ к одному LV получен.

Но вопрос «какого хрена оно не активирует LV», все равно остался.

И тут я вспомнил про полезнейшую утиль lsblk.

А она говорит: чувак, у тебя тут на этих дисках есть 3 рейда (md124-md126)! 2 вроде живых, а один странный.

Малёха охренев, я взглянул в /proc/mdstat и нашел там 3 рейда! Все 3 были «деградате».

Откуда? В dmseg нет никаких сообщений о создании этих рейдов!

В какой момент эта братская щука захапала диски в рейд ?!

Выполняем «mdadm --stop» для всех этих огрызков и vgchange радостно сообщил, что все 7 LV доступны!

Убита куча времени.

Какая падла молча создала эти рейды: pvscan/pvchange/vgscan/vgchange ?

★★★★★

Рейды вероятно собрал mdadm в инкрементальном режиме, а его позвал udevd. На дисках скорее всего был какой-нибудь ddf или imsm, который mdadm смог прочитать.

kmeaw ★★★
()

Ну так а сразу посмотреть fdisk -l ?

Судя по всему там у разделов выставлен тип «linux raid», который присвоил им raid-контроллер. А при старте системы, mdadm увидел, что есть рейдовые разделы и честно их подцепил.

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

Судя по всему там у разделов выставлен тип «linux raid», который присвоил им raid-контроллер

А с каких пор RAID-контроллеры меняют таблицу разделов на диске и пишут в неё типы разделов? :)

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

Есть полусофтверные рейд-контроллеры, что часть функций отдают ОС. На классических такого нет, да, там ОС видит только то, что показывает контроллер, а не сами диски.

Vsevolod-linuxoid ★★★★★
()

Охренеть как информативно.

Да, если иметь хоть какое-то представление о LVM. Ты пытаешься активировать mirrored том как linear, потому что никогда не слышал про --activationmode partial.

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

raid контроллер настоящий, аппаратный, с батарейкой и памятью.

зеркало создано было средствам контроллера и lvm об это мог только догадываться.

Да, если иметь хоть какое-то представление о LVM. Ты пытаешься активировать mirrored том как linear, потому что никогда не слышал про --activationmode partial.

Не только слышал, но и неоднократно пользовался.

Вопрос только один - какая падла обнаружила сигнатуры рейда и молча его попыталасть собрать!

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

Кто обнаружил, что диск был в составе аппаратного рейда и молча попытался собрать этот рейд?

vel ★★★★★
() автор топика
Ответ на: комментарий от shell-script

нет, про linux-raid я знаю, но здесь его небыло.

На сколько я помню, если система при старте обнаруживает разделы linux-raid, то в dmesg это видно.

~# fdisk -l /dev/sde
Disk /dev/sde: 447.13 GiB, 480103981056 bytes, 937703088 sectors

Device     Boot   Start       End   Sectors   Size Id Type
/dev/sde1  *       2048   8390655   8388608     4G 83 Linux
/dev/sde2       8390656 936640511 928249856 442.6G 8e Linux LVM

~# fdisk -l /dev/sdd
Disk /dev/sdd: 476.94 GiB, 512110190592 bytes, 1000215216 sectors

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdd1        2048 999030783 999028736 476.4G 8e Linux LVM

Вот две части одного VG

# pvs
  PV         VG Fmt  Attr PSize    PFree   
  /dev/sdd1  V0 lvm2 a--   476.37g   32.01g
  /dev/sde2  V0 lvm2 a--   442.62g   13.75g

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

Ну да, тут ты прав. В dmesg должно было появиться что-то типа

[    2.040823] md/raid1:md4: active with 2 out of 2 mirrors
[    2.136050] md/raid1:md1: active with 2 out of 2 mirrors
[    2.144764] md/raid1:md2: active with 2 out of 2 mirrors

shell-script ★★★★★
()

Спасибо что я больше не админ.

chenbr0
()

Перед введением диска в RAID недостаточно его просто подключить. Надо всегда делать полное обнуление поверхности: dd if=/dev/zero of=/dev/ada0 bs=4M. Скорее всего так не делали, вот и вылезли левые служебные записи, которые воспринял контроллер и попытался из них сделать конфетку.

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

Перед введением диска в RAID недостаточно его просто подключить.

Мне не нужно вводить его в рейд. Я из сдохшего аппаратного рейда выдернул 2 диска из разных томов и подключил их к компу.

Я адски обрадовался когда «fdisk -l» показал правильные данные.

vel ★★★★★
() автор топика
Ответ на: комментарий от shell-script

Я тоже так думал.

Правда мне не доводилось загружаться с частично отсутствующими элементами рейда. У меня они пока только разваливались на ходу и я на ходу менял диски.

В понедельник будет расследование этого безобразия.

vel ★★★★★
() автор топика
Ответ на: комментарий от shell-script

Повторение эксперимента показало, что шибко умное у нас ядро.

Сразу после подключения дисков

[Mon Mar 27 10:48:12 2023] usb 1-2.1: new high-speed USB device number 37 using xhci_hcd
[Mon Mar 27 10:48:12 2023] usb 1-2.1: New USB device found, idVendor=152d, idProduct=2509, bcdDevice= 0.00
[Mon Mar 27 10:48:12 2023] usb 1-2.1: New USB device strings: Mfr=1, Product=11, SerialNumber=3
[Mon Mar 27 10:48:12 2023] usb 1-2.1: Product: ZM-MH200HUB
[Mon Mar 27 10:48:12 2023] usb 1-2.1: Manufacturer: JMicron
[Mon Mar 27 10:48:12 2023] usb 1-2.1: SerialNumber: 10000000906F
[Mon Mar 27 10:48:12 2023] usb-storage 1-2.1:1.0: USB Mass Storage device detected
[Mon Mar 27 10:48:12 2023] scsi host8: usb-storage 1-2.1:1.0
[Mon Mar 27 10:48:13 2023] scsi 8:0:0:0: Direct-Access     ZALMAN                         PQ: 0 ANSI: 2 CCS
[Mon Mar 27 10:48:13 2023] sd 8:0:0:0: Attached scsi generic sg7 type 0
[Mon Mar 27 10:48:13 2023] sd 8:0:0:0: [sdi] 937703088 512-byte logical blocks: (480 GB/447 GiB)
[Mon Mar 27 10:48:13 2023] scsi 8:0:0:1: Direct-Access     ZALMAN                         PQ: 0 ANSI: 2 CCS
[Mon Mar 27 10:48:13 2023] sd 8:0:0:1: Attached scsi generic sg8 type 0
[Mon Mar 27 10:48:13 2023] sd 8:0:0:0: [sdi] Write Protect is off
[Mon Mar 27 10:48:13 2023] sd 8:0:0:0: [sdi] Mode Sense: 34 00 00 00
[Mon Mar 27 10:48:13 2023] sd 8:0:0:1: [sdj] 1000215216 512-byte logical blocks: (512 GB/477 GiB)
[Mon Mar 27 10:48:13 2023] sd 8:0:0:0: [sdi] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[Mon Mar 27 10:48:13 2023] sd 8:0:0:1: [sdj] Write Protect is off
[Mon Mar 27 10:48:13 2023] sd 8:0:0:1: [sdj] Mode Sense: 34 00 00 00
[Mon Mar 27 10:48:13 2023] sd 8:0:0:1: [sdj] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[Mon Mar 27 10:48:13 2023]  sdi: sdi1 sdi2
[Mon Mar 27 10:48:13 2023] sd 8:0:0:0: [sdi] Attached SCSI disk
[Mon Mar 27 10:48:13 2023]  sdj: sdj1
[Mon Mar 27 10:48:13 2023] sd 8:0:0:1: [sdj] Attached SCSI disk
[Mon Mar 27 10:48:14 2023] udevd[10656]: inotify_add_watch(6, /dev/sdi1, 10) failed: No such file or directory
[Mon Mar 27 10:48:14 2023] udevd[10659]: inotify_add_watch(6, /dev/sdi2, 10) failed: No such file or directory
[Mon Mar 27 10:48:14 2023] udevd[10656]: inotify_add_watch(6, /dev/sdj1, 10) failed: No such file or directory
cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] 
md125 : inactive sdj[0]
      499515392 blocks super external:/md127/0
       
md126 : inactive sdi[1] sdc[0]
      936640512 blocks super external:/md127/1
       
md127 : inactive sdj[1](S) sdi[0](S)
      1123504 blocks super external:ddf

Я охреневаю! /dev/sdc вообще отсутствует в системе! Откуда оно в md126 ?!

Вывод: братская щука живет в ядре!

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

Нет.

Любой диски из делловского рейда при «blockdev --rereadpt /dev/sdx» или при подключении пытается собрать рейд и при этом в dmesg тихо.

приходится пользоваться kpartx.

vel ★★★★★
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)