LINUX.ORG.RU

Ядра 5.14 и 5.15 наглухо убивают систему

 ,


1

2

Жил - не тужил на Openmediavault 5 с ядром 5.10, но потребовалось перейти на OMV 6, там по-умолчанию ставится ядро 5.14. После первой же загрузки при операциях записи файловая система ext4 повреждается, корень ремаунтится в ro. После чего даже fsck не спасает - слишком много повреждений в фс, загрузиться невозможно. Подумал, что версия ядра неудачная - после установки сразу пробовал ставить из репо 5.15 - ситуация без изменений, всё тоже самое. Подумал, что что-то с ssd - поменял на другой, никаких изменений. Протестировал всё железо - всё ок. Поставил OMV 5 - всё работает. Тут пришла идея поставить сразу после установки OMV 6 ядро 5.10. Сделал - всё работает. Железо - MicroServer Gen8 с 1265LV2, система на ssd проброшена через штатный софт-рейд контроллер HP (стандартное решение - других вариантов загрузиться с внутреннего диска нет). Лог ниже.

[   22.603193] ------------[ cut here ]------------
[   22.603194] WARNING: CPU: 6 PID: 1099 at drivers/iommu/intel/iommu.c:2394 __domain_mapping.cold+0x28/0x2f
[   22.603197] Modules linked in: softdog intel_rapl_msr ipmi_ssif intel_rapl_common btusb btrtl x86_pkg_temp_thermal btbcm intel_powerclamp btintel coretemp bluetooth cpufreq_conservative cpufreq_ondemand jitterentropy_rng cpufreq_powersave kvm_intel cpufreq_userspace kvm sha512_ssse3 sha512_generic irqbypass ghash_clmulni_intel ctr drbg mgag200 aesni_intel ansi_cprng crypto_simd drm_kms_helper ecdh_generic cryptd rfkill cec ecc rapl rc_core intel_cstate iTCO_wdt acpi_ipmi i2c_algo_bit intel_pmc_bxt evdev joydev intel_uncore hpwdt iTCO_vendor_support sg hpilo watchdog ipmi_si ie31200_edac serio_raw pcspkr ipmi_devintf ipmi_msghandler acpi_power_meter button drm sunrpc fuse configfs ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 hid_generic usbhid hid btrfs blake2b_generic zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c crc32c_generic raid1 raid0 multipath linear md_mod sd_mod sr_mod t10_pi cdrom crc_t10dif
[   22.603257]  crct10dif_generic uas usb_storage ahci libahci xhci_pci libata xhci_hcd uhci_hcd ehci_pci ehci_hcd crct10dif_pclmul crct10dif_common usbcore tg3 scsi_mod libphy crc32_pclmul ptp psmouse scsi_common crc32c_intel lpc_ich pps_core usb_common
[   22.603273] CPU: 6 PID: 1099 Comm: journal-offline Tainted: G        W I       5.15.0-0.bpo.2-amd64 #1  Debian 5.15.5-2~bpo11+1
[   22.603276] Hardware name: HP ProLiant MicroServer Gen8, BIOS J06 04/04/2019
[   22.603277] RIP: 0010:__domain_mapping.cold+0x28/0x2f
[   22.603279] Code: d2 ff 4c 89 e1 48 89 c2 4c 89 f6 48 c7 c7 c0 08 d9 a7 e8 c1 9b fd ff 8b 05 34 b7 ed 00 85 c0 74 09 83 e8 01 89 05 27 b7 ed 00 <0f> 0b e9 4b 25 d2 ff 4c 89 c9 44 89 da 48 c7 c6 80 01 af a7 48 c7
[   22.603281] RSP: 0018:ffffac1241cc7690 EFLAGS: 00010046
[   22.603283] RAX: 0000000000000000 RBX: ffff8bc6848eb710 RCX: ffff8bc9b6fa0888
[   22.603284] RDX: 0000000000000000 RSI: 0000000000000027 RDI: ffff8bc9b6fa0880
[   22.603286] RBP: 0000000000000001 R08: 0000000000000000 R09: ffffac1241cc74c0
[   22.603287] R10: ffffac1241cc74b8 R11: ffff8bc9c7f34de8 R12: 000000019afe9801
[   22.603288] R13: ffff8bc684548b00 R14: 00000000000b52e2 R15: 000000000019afe9
[   22.603290] FS:  00007fcc2e9ab700(0000) GS:ffff8bc9b6f80000(0000) knlGS:0000000000000000
[   22.603292] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   22.603294] CR2: 00007fcc2f9b7390 CR3: 0000000168e96005 CR4: 00000000001706e0
[   22.603295] Call Trace:
[   22.603296]  <TASK>
[   22.603298]  ? __find_get_block+0xb3/0x2d0
[   22.603301]  intel_iommu_map_pages+0xb0/0xe0
[   22.603304]  __iommu_map+0xd3/0x270
[   22.603307]  __iommu_map_sg+0x96/0x130
[   22.603309]  iommu_dma_map_sg+0x33d/0x4f0
[   22.603312]  ? ata_scsi_mode_select_xlat+0x4a0/0x4a0 [libata]
[   22.603325]  __dma_map_sg_attrs+0x5d/0x70
[   22.603328]  dma_map_sg_attrs+0xa/0x20
[   22.603332]  ata_qc_issue+0x12b/0x1f0 [libata]
[   22.603343]  __ata_scsi_queuecmd+0x141/0x410 [libata]
[   22.603356]  ata_scsi_queuecmd+0x40/0x80 [libata]
[   22.603368]  scsi_queue_rq+0x38e/0xb30 [scsi_mod]
[   22.603379]  blk_mq_dispatch_rq_list+0x139/0x810
[   22.603383]  ? sbitmap_get+0x86/0x190
[   22.603386]  __blk_mq_do_dispatch_sched+0xb8/0x300
[   22.603390]  __blk_mq_sched_dispatch_requests+0xf6/0x140
[   22.603393]  blk_mq_sched_dispatch_requests+0x30/0x60
[   22.603397]  __blk_mq_run_hw_queue+0x2d/0x60
[   22.603399]  __blk_mq_delay_run_hw_queue+0x144/0x150
[   22.603402]  blk_mq_sched_insert_requests+0x63/0xe0
[   22.603405]  blk_mq_flush_plug_list+0xfd/0x190
[   22.603409]  blk_finish_plug+0x36/0x50
[   22.603411]  ext4_writepages+0xacd/0xfd0 [ext4]
[   22.603437]  do_writepages+0xce/0x1f0
[   22.603441]  filemap_fdatawrite_wbc+0x74/0xc0
[   22.603444]  file_write_and_wait_range+0x9c/0x100
[   22.603447]  ext4_sync_file+0x73/0x340 [ext4]
[   22.603469]  __x64_sys_fsync+0x34/0x60
[   22.603473]  do_syscall_64+0x38/0xc0
[   22.603475]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[   22.603478] RIP: 0033:0x7fcc30a6dabb
[   22.603480] Code: 0f 05 48 3d 00 f0 ff ff 77 45 c3 0f 1f 40 00 48 83 ec 18 89 7c 24 0c e8 d3 f2 f8 ff 8b 7c 24 0c 41 89 c0 b8 4a 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 44 89 c7 89 44 24 0c e8 11 f3 f8 ff 8b 44
[   22.603482] RSP: 002b:00007fcc2e9aacf0 EFLAGS: 00000293 ORIG_RAX: 000000000000004a
[   22.603484] RAX: ffffffffffffffda RBX: 00005604c8aeb450 RCX: 00007fcc30a6dabb
[   22.603485] RDX: 0000000000008000 RSI: 00007fcc30d9e414 RDI: 0000000000000013
[   22.603487] RBP: 00007fcc30da0d30 R08: 0000000000000000 R09: 00007fcc2e9ab700
[   22.603488] R10: 0000000000000414 R11: 0000000000000293 R12: 0000000000000002
[   22.603490] R13: 00007fffb1e8db7f R14: 00007fcc2e9aae00 R15: 00005604c8ac1080
[   22.603492]  </TASK>
[   22.603493] ---[ end trace 270187cbc0d39cbb ]---
[   22.603500] DMAR: ERROR: DMA PTE for vPFN 0xb52df already set (to b52df003 not 19aec0801)
[   22.603504] EXT4-fs error (device sda1): htree_dirblock_to_tree:1028: inode #5505057: comm run-parts: Directory block failed checksum

Хотелось бы на будущее понять причину такого глюка.

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

ergo ★★ ()

5.14

Оно же древнее мамонта. Если бы что-то было, о чём ты тут пишешь, то это бы давно уже заметили. Проверь на другом железе.

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

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

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

DECEMBER 20, 2020

Unbreakable Enterprise Kernel [4.14.35]

HP ProLiant DL380p Gen8, BIOS P70 05/24/2019

Хотел предложить очевидную бисекцию и анализ коммитов, но с таким разбросом версий это будет не просто.

Глянь, может в твоей эзотерике как-то по-особому ядро собирают. Проверь на других дистрах.

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

А для чего нужно ставить новое ядро, новые фичи же всё равно без обновления systemd остального софта не заработают? Мя просто всегда ядро обновлял только из стокового репозитория, потому на себе не проверял..

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

А для чего нужно ставить новое ядро

я не занимаюсь ручными правками системы. просто сижу на unstable channel. там свежий софт весьма быстро появляется. особенно нужно сейчас, когда линуксовое окружение трансформируется на связку gnome40/wayland/systemd/pipewire. и особенно в части последнего. проект молодой, баги частенько проявляются. оно вцелом стабильно себя ведет, но был неприятный баг с неумением всякого софта вроде teams правильно выбирать вывод для звука когда в системе больше, чем одна звуковая. недавно и его пофиксили. еще годик подожду, потом может на stable пересяду.

ergo ★★ ()

«После первой же загрузки при операциях записи файловая система ext4 повреждается»

Ого, звучит пугающе.

Shushundr ()

система на ssd проброшена через штатный софт-рейд контроллер HP (стандартное решение - других вариантов загрузиться с внутреннего диска нет)

Как владелец микросервера как раз восьмого поколения, заявляю - нет, можно отключить RAID-контроллер(если не планируется его использовать, а нужен например только mdadm), тогда все жесткие диски будут доступны по AHCI

По ошибке - похоже что-то с iommu. Если не используется VT-d - лучше заблэклистить модуль и/или отключить VT-d в BIOS, точнее его аналоге(не помню правда есть ли там такой пункт или нет, был в этом BIOS-е давно)

Пруфы:

mini-router [~]# lspci -k | grep -i raid

mini-router [~]# lspci -k
<skip>
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port Desktop SATA AHCI Controller (rev 05)
        Subsystem: Hewlett-Packard Company Device 330d
        Kernel driver in use: ahci
<skip>

mini-router [~]# lsblk | grep disk
sda                        8:0    0   2.7T  0 disk
sdb                        8:16   0   2.7T  0 disk
sdc                        8:32   0   2.7T  0 disk
sdd                        8:48   1   933M  0 disk

mini-router [~]# uname -a
Linux mini-router 5.15.12-0-lts #1-Alpine SMP Fri, 31 Dec 2021 13:23:07 +0000 x86_64 Linux

mini-router [~]# cat /etc/alpine-release
3.15.0
mini-router [~]# dmidecode
<skip>
Handle 0x0100, DMI type 1, 27 bytes
System Information
        Manufacturer: HP
        Product Name: ProLiant MicroServer Gen8
        Version: Not Specified
        Wake-up Type: Power Switch
        Family: ProLiant
<skip>

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

новые фичи же всё равно без обновления systemd остального софта не заработают?

Новые фичи отлично работают и со старым прочим софтом. Оптимизируется код ядра, впиливают новые суперпатчи и фичи. С новыми ядрами может расти производительность.

hakavlad ★★★ ()

ставь 5.16 Linux arch 5.16.2-arch1-1 #1 SMP PREEMPT Thu, 20 Jan 2022 16:18:29 +0000 x86_64 GNU/Linux

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

Микросервер в виде роутера? Воу!

Ну так исторически сложилось, такое же имя было у двух предыдущих серверов(начиная с самосбора на Pentium II).

Сначала там был роутер и файлопомойка, ну а потом там и VPN образовался, и торрентокачалка и много чего еще...

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

Это так, если 4 диска и загрузка с флешки. А если 4 диска + ssd на порту для ODD, то c SSD можно загрузиться только если активировать этот самый raid и на одном этом ssd создать «массив»

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

Ответил выше про ssd. Поставил, т.к. флешки у меня умирали раз в пару лет, даже с flash2ram (или как там оно) с самого начала.

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

Короче 5.10 не работает корректно с OMV 6 - там лютые глюки начинаются. Пока на микросервер поставил proxmox с 5.13.9 - никаких проблем. Там уже поставил виртуалку OMV и пробросил напрямую диски в qemu. Наверное, на такой конфигурации и останусь, и так 2 дня потратил на поиски решения.

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

флешки у меня умирали раз в пару лет, даже с flash2ram (или как там оно) с самого начала.

Потому что надо выносить всё в оперативку, тогда и флешка будет целее.

mini-router [~]# fdisk -l /dev/sdd
Disk /dev/sdd: 933 MB, 978321408 bytes, 1910784 sectors
59712 cylinders, 1 heads, 32 sectors/track
Units: sectors of 1 * 512 = 512 bytes

Флешке 9 лет, используется только для чтения всего образа корневой ФС(+отдельно конфиги) в оперативку при старте сервера. Ну и на запись - при обновлении образа корневой ФС.

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

Я же написал - всё в памяти. Флешки флешкам рознь, в gen 7 вообще ноунейм стик лет 8 работает по такой же схеме до сих пор. А сандиски и кингстоны в ген 8 сдохли, может от нагрева (мелкие), может по питанию.

msk123 ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.