Рейтинг:2

Файловые системы только для чтения на нескольких устройствах

флаг my

Компания, в которой я работаю, имеет около 100 серверов Ubuntu 18.04, разбросанных по Соединенным Штатам, как часть одной из наших линеек продуктов. У нас не было НИКАКИХ проблем с этими машинами в течение 1-2 лет, до прошлой недели. За последние 5 дней на шести устройствах были обнаружены критические ошибки, что в конечном итоге привело к файловой системе только для чтения.

Наконец-то я получил физический доступ к одному из устройств. Я нашел следующее в DMESG: EXT4-fs (dm-0): не удалось перемонтировать RDWR из-за необработанного списка потерянных индексных дескрипторов. Пожалуйста, размонтируйте/перемонтируйте вместо этого И запуск fsck.ext4 -n /dev/sda2 (который является корневым разделом) дает несколько потерянных инодов. Я уверен, что fsck может это исправить, но меня больше интересует, что вызывает это в первую очередь.

Я также нашел некоторые ошибки ядра в системном журнале:


27 июля, 12:35:09 ядро ​​xxxxxxx: [5505.937302] ОШИБКА: невозможно обработать запрос на подкачку ядра в ffff93cdf5ef2eaa
27 июля 12:35:09 xxxxxxx ядро: [5505.937348] IP: kmem_cache_alloc+0x7a/0x1c0
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937360] PGD 87d99067 P4D 87d99067 PUD 0 
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937383] Упс: 0000 [#3] SMP PTI
Jul 27 12:35:09 xxxxxxx kernel: [ 5505.937395] Modules linked in: ccm intel_rapl intel_soc_dts_thermal intel_soc_dts_iosf intel_powerclamp coretemp kvm_intel arc4 kvm irqbypass snd_hda_codec_hdmi punit_atom_debug joydev iwlmvm snd_hda_codec_realtek intel_cstate snd_hda_codec_generic mac80211 snd_hda_intel iwlwifi snd_hda_codec snd_hda_core snd_hwdep hid_multitouch input_leds cfg80211 snd_pcm ftdi_sio lpc_ich serio_raw snd_timer usbserial btusb cdc_acm btrtl snd mei_txe shpchp mei soundcore hci_uart btbcm btqca btintel rfkill_gpio bluetooth ecdh_generic pwm_lpss_platform pwm_lpss mac_hid sch_fq_codel ib_iser rdma_cm iw_cm ib_cm ib_core iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ip_tables x_tables autofs4 btrfs zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1
Jul 27 12:35:09 xxxxxxx kernel: [ 5505.937571]  raid0 multipath linear hid_generic usbhid i915 crct10dif_pclmul crc32_pclmul drm_kms_helper ghash_clmulni_intel cryptd syscopyarea sysfillrect igb sysimgblt psmouse fb_sys_fops dca i2c_algo_bit drm ptp pps_core ahci libahci video i2c_hid hid
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937646] CPU: 0 PID: 1212 Comm: uwsgi Tainted: G D 4.15.0-151-generic #157-Ubuntu
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937657] Имя оборудования: Winmate Inc. IB3S/IB32S, BIOS V210 06.05.2019
27 июля, 12:35:09 xxxxxxx ядро: [5505.937676] RIP: 0010:kmem_cache_alloc+0x7a/0x1c0
27 июля, 12:35:09 ядро ​​xxxxxxx: [5505.937689] RSP: 0018:ffffb7b6c1207d58 EFLAGS: 00010286
27 июля, 12:35:09 xxxxxxx ядро: [5505.937703] RAX: ffff93cdf5ef2eaa RBX: 0000000000000000 RCX: 00000000000000000
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937715] RDX: 0000000000009791 RSI: 00000000014080c0 RDI: 0000440bc0024800
27 июля, 12:35:09 ядро ​​xxxxxxx: [5505.937727] RBP: ffffb7b6c1207d88 R08: ffffd7b6bfc24800 R09: ffff93aaf1400c00
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937738] R10: 0000000000000010 R11: 0000000000026d00 R12: ffff93cdf5ef2eaa
27 июля, 12:35:09 ядро ​​xxxxxxx: [5505.937750] R13: 00000000014080c0 R14: ffff93aafb017800 R15: ffff93aaf1405e00
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937765] FS: 00007fe86c207740(0000) GS:ffff93aaffc00000(0000) knlGS:00000000000000000
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937778] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
27 июля, 12:35:09 ядро ​​xxxxxxx: [5505.937789] CR2: ffff93cdf5ef2eaa CR3: 00000001314ce000 CR4: 00000000001006f0
27 июля 12:35:09 xxxxxxx ядро: [5505.937800] Трассировка вызова:
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937824] ? __delayacct_tsk_init+0x1e/0x40
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937844] __delayacct_tsk_init+0x1e/0x40
27 июля, 12:35:09 xxxxxxx ядро: [5505.937868] copy_process.part.35+0x6d3/0x1c00
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937887] ? __handle_mm_fault+0xa21/0xff0
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937911] _do_fork+0xdf/0x400
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937931] ? __do_page_fault+0x2a1/0x4b0
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937951] ? get_unused_fd_flags+0x30/0x40
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937971] SyS_clone+0x19/0x20
27 июля 12:35:09 xxxxxxx ядро: [ 5505.937990] do_syscall_64+0x73/0x130
27 июля, 12:35:09 xxxxxxx ядро: [5505.938009] entry_SYSCALL_64_after_hwframe+0x41/0xa6
27 июля, 12:35:09 xxxxxxx ядро: [5505.938025] RIP: 0033:0x7fe86a002b7c
27 июля, 12:35:09 ядро ​​xxxxxxx: [5505.938036] RSP: 002b:00007fff26bfcc60 EFLAGS: 00000246 ORIG_RAX: 00000000000000038
27 июля, 12:35:09 ядро ​​xxxxxxx: [5505.938052] RAX: ffffffffffffffda RBX: 00007fff26bfcc60 RCX: 00007fe86a002b7c
27 июля 12:35:09 xxxxxxx ядро: [ 5505.938063] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011
27 июля, 12:35:09 ядро ​​xxxxxxx: [5505.938075] RBP: 00007fff26bfccd0 R08: 00007fe86c207740 R09: 00007fe86a5cab40
27 июля 12:35:09 xxxxxxx ядро: [ 5505.938086] R10: 00007fe86c207a10 R11: 0000000000000246 R12: 00000000000000000
27 июля 12:35:09 xxxxxxx ядро: [ 5505.938098] R13: 0000000000000020 R14: 0000000000000000 R15: 0000000001abacf8
27 июля 12:35:09 xxxxxxx ядро: [ 5505.938113] Код: 50 08 65 4c 03 05 0f d5 1b 4d 49 83 78 10 00 4d 8b 20 0f 84 09 01 00 00 4d 85 e4 0f 3 84 00 01 47 20 49 8b 3f 4c 01 e0 <48> 8b 18 49 33 9f 40 01 00 00 48 89 c1 48 0f c9 4c 89 e0 48 31 
27 июля, 12:35:09 ядро ​​xxxxxxx: [5505.938259] RIP: kmem_cache_alloc+0x7a/0x1c0 RSP: ffffb7b6c1207d58
27 июля, 12:35:09 xxxxxxx ядро: [ 5505.938269] CR2: ffff93cdf5ef2eaa
27 июля 12:35:09 xxxxxxx ядро: [ 5505.938284] --- [ конец трассировки 5841e09627f12869 ] ---
26 июля, 19:46:35 ядро ​​xxxxxxx: [167923.077278] ОШИБКА: невозможно обработать запрос на подкачку ядра по адресу ffff994c94603766.
26 июля 19:46:35 xxxxxxx ядро: [167923.077295] IP: down_write+0x1f/0x40
26 июля 19:46:35 xxxxxxx ядро: [167923.077298] PGD a0599067 P4D a0599067 PUD 0 
26 июля 19:46:35 xxxxxxx ядро: [167923.077304] Упс: 0002 [#2] SMP PTI
Jul 26 19:46:35 xxxxxxx kernel: [167923.077308] Modules linked in: ccm arc4 snd_hda_codec_hdmi iwlmvm snd_hda_codec_realtek snd_hda_codec_generic mac80211 intel_rapl intel_soc_dts_thermal intel_soc_dts_iosf intel_powerclamp coretemp kvm_intel joydev kvm irqbypass punit_atom_debug intel_cstate iwlwifi snd_hda_intel snd_hda_codec ftdi_sio serio_raw hid_multitouch snd_hda_core lpc_ich cfg80211 input_leds mei_txe snd_hwdep snd_pcm usbserial btusb btrtl mei snd_timer snd cdc_acm soundcore shpchp hci_uart btbcm btqca btintel bluetooth rfkill_gpio pwm_lpss_platform pwm_lpss ecdh_generic mac_hid sch_fq_codel ib_iser rdma_cm iw_cm ib_cm ib_core iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ip_tables x_tables autofs4 btrfs zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1
Jul 26 19:46:35 xxxxxxx kernel: [167923.077360]  raid0 multipath linear hid_generic usbhid i915 igb drm_kms_helper dca ahci i2c_algo_bit crct10dif_pclmul syscopyarea crc32_pclmul sysfillrect sysimgblt ghash_clmulni_intel ptp cryptd fb_sys_fops psmouse pps_core libahci drm i2c_hid video hid
26 июля 19:46:35 xxxxxxx ядро: [167923.077381] CPU: 2 PID: 22792 Comm: uwsgi Tainted: G B D W 4.15.0-151-универсальный # 157-Ubuntu
26 июля 19:46:35 xxxxxxx ядро: [167923.077384] Имя оборудования: Winmate Inc. IB3S/IB32S, BIOS V210 06.05.2019
26 июля 19:46:35 xxxxxxx ядро: [167923.077389] RIP: 0010:down_write+0x1f/0x40
26 июля 19:46:35 xxxxxxx ядро: [167923.077392] RSP: 0018:ffffb4e7018cfd10 EFLAGS: 00010246
26 июля, 19:46:35 xxxxxxx ядро: [167923.077396] RAX: ffff994c94603766 RBX: ffff994c94603766 RCX: 0000000000027f57
26 июля, 19:46:35 xxxxxxx ядро: [167923.077398] RDX: ffffffff00000001 RSI: 0000000001000200 RDI: ffff994c94603766
26 июля, 19:46:35 xxxxxxx ядро: [167923.077401] RBP: ffffb4e7018cfd18 R08: ffffd4e6ffd292c0 R09: ffff996d60d7e4e0
26 июля, 19:46:35 xxxxxxx ядро: [167923.077404] R10: 00007f220ffec000 R11: ffff996d70adde00 R12: ffff994c9460375e
26 июля 19:46:35 xxxxxxx ядро: [167923.077407] R13: ffff996d54325ec0 R14: ffff994c9460375e R15: ffff996df104f000
26 июля 19:46:35 xxxxxxx ядро: [167923.077410] FS: 00007f221338d740(0000) GS:ffff996dffd00000(0000) knlGS:00000000000000000
26 июля 19:46:35 xxxxxxx ядро: [167923.077413] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
26 июля, 19:46:35 xxxxxxx ядро: [167923.077416] CR2: ffff994c94603766 CR3: 00000000943ba000 CR4: 00000000001006e0
26 июля 19:46:35 xxxxxxx ядро: [167923.077419] Трассировка вызова:
26 июля 19:46:35 xxxxxxx ядро: [167923.077428] anon_vma_clone+0x8f/0x1c0
26 июля 19:46:35 xxxxxxx ядро: [167923.077433] anon_vma_fork+0x32/0x130
26 июля 19:46:35 xxxxxxx ядро: [167923.077440] copy_process.part.35+0xfe1/0x1c00
26 июля 19:46:35 xxxxxxx ядро: [167923.077446] _do_fork+0xdf/0x400
26 июля 19:46:35 xxxxxxx ядро: [167923.077454] ? __do_page_fault+0x2a1/0x4b0
26 июля 19:46:35 xxxxxxx ядро: [167923.077460] ? get_unused_fd_flags+0x30/0x40
26 июля 19:46:35 xxxxxxx ядро: [167923.077465] SyS_clone+0x19/0x20
26 июля 19:46:35 xxxxxxx ядро: [167923.077471] do_syscall_64+0x73/0x130
26 июля 19:46:35 xxxxxxx ядро: [167923.077475] entry_SYSCALL_64_after_hwframe+0x41/0xa6
26 июля 19:46:35 xxxxxxx ядро: [167923.077479] RIP: 0033:0x7f2211188b7c
26 июля 19:46:35 xxxxxxx ядро: [167923.077482] RSP: 002b:00007fff81411ac0 EFLAGS: 00000246 ORIG_RAX: 0000000000000038
26 июля, 19:46:35 xxxxxxx ядро: [167923.077486] RAX: ffffffffffffffda RBX: 00007fff81411ac0 RCX: 00007f2211188b7c
26 июля 19:46:35 xxxxxxx ядро: [167923.077488] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011
26 июля 19:46:35 xxxxxxx ядро: [167923.077491] RBP: 00007fff81411b30 R08: 00007f221338d740 R09: 00007f2211750b40
26 июля 19:46:35 xxxxxxx ядро: [167923.077494] R10: 00007f221338da10 R11: 0000000000000246 R12: 00000000000000000
26 июля 19:46:35 xxxxxxx ядро: [167923.077497] R13: 0000000000000020 R14: 0000000000000000 R15: 0000000001735cf8
26 июля 19:46:35 xxxxxxx ядро: [167923.077500] Код: 40 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 53 48 89 fb e8 9e d7 ff ff 1 40 0 ​​0 0 0 00 ff ff ff ff 48 89 d8 <f0> 48 0f c1 10 85 d2 74 05 e8 73 b5 fe ff 65 48 8b 04 25 00 5c 
26 июля, 19:46:35 xxxxxxx ядро: [167923.077534] RIP: down_write+0x1f/0x40 RSP: ffffb4e7018cfd10
26 июля 19:46:35 xxxxxxx ядро: [167923.077537] CR2: ffff994c94603766
26 июля 19:46:35 xxxxxxx ядро: [167923.077541] ---[ конец трассировки 4d3c04fc4bbb2b33 ]---

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

Я также часто вижу это при загрузке:

[ FAILED ]Не удалось запустить службу имен хостов
Подробности смотрите в статусе systemctl systemd-hostnamed.service.
...
[FAILED] Не удалось запустить разрешение сетевых имен.
Подробности смотрите в статусе systemctl systemd-resolved.service.
[ OK ]Остановлено разрешение сетевого имени
[FAILED] Не удалось запустить разрешение сетевых имен.
Подробности смотрите в статусе systemctl systemd-resolved.service.
[ OK ]Остановлено разрешение сетевого имени
[FAILED] Не удалось запустить разрешение сетевых имен.
Подробности смотрите в статусе systemctl systemd-resolved.service.
[ OK ]Остановлено разрешение сетевого имени

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

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

Редактировать 1: Результаты ls -la / загрузка

всего 143024
drwxr-xr-x 3 root root 4096 23 июля 06:35 .
drwxr-xr-x 24 root root 4096 22 июля 06:57 ..
-rw-r--r-- 1 root root 217414 18 июня 16:49 config-4.15.0-147-generic
-rw-r--r-- 1 root root 217414 9 июля 20:19 config-4.15.0-151-generic
drwxr-xr-x 5 root root 4096 23 июля 06:34 grub
-rw-r--r-- 1 root root 60458100 20 июля 20:08 initrd.img-4.15.0-147-generic
-rw-r--r-- 1 root root 60462046 23 июля 06:35 initrd.img-4.15.0-151-generic
-rw------- 1 root root 4082393 18 июня 16:49 System.map-4.15.0-147-generic
-rw------- 1 root root 4082629 9 июля 20:19 System.map-4.15.0-151-generic
-rw------- 1 root root 8449696 18 июня 18:42 vmlinuz-4.15.0-147-generic
-rw------- 1 root root 8453792 9 июля 20:23 vmlinuz-4.15.0-151-generic

Результаты бесплатно -ч

              общее количество использованных бесплатных общих баффов/доступных кешей
Память: 3,7 г 165 м 3,2 г 6,7 м 435 м 3,4 г
Обмен: 0B 0B 0B

swapon -s не дал результатов

Результаты sysctl vm.swappiness

vm.swappiness = 60

Редактировать 2:

Нашел этот отчет об ошибке, относящийся к ядру -151: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1938013

Я также вытащил старый модуль и тщательно протестировал его на 4.15.0-142-generic. Затем я обновил его до -151 и смог вызвать ошибку, используя nmcli для попытки подключения к Wi-Fi. После перезагрузки в -142 я больше не мог вызывать ошибку. У меня еще есть тесты на оригинальном устройстве, и я опубликую, когда закончу.

heynnema avatar
флаг ru
Проблема заключается в «ОШИБКЕ: невозможно обработать запрос на пейджинг ядра по адресу ffff93cdf5ef2eaa». Это может быть не поправимо. Это **МОЖЕТ** быть проблемой BIOS. Проверьте версию BIOS с помощью команды «sudo dmidecode -s bios-version» и перейдите на веб-сайт производителя, чтобы проверить наличие более новой версии. Это **МОЖЕТ** быть проблемой ядра. Проверьте, не было ли недавно обновлено ваше ядро ​​с помощью `ls -al /boot`. Попробуйте загрузиться с более старым ядром и посмотрите, поможет ли это с ошибкой подкачки. Запустите `мемтест`. И, конечно же, сделайте `fsck`.
heynnema avatar
флаг ru
Отредактируйте свой вопрос и покажите мне `ls -al /boot` и `free -h` и `swapon -s` и `sysctl vm.swappiness`. Начинайте комментировать меня с @heynnema или я пропущу их.
JPetersonVNL avatar
флаг my
@heynnema Спасибо за предложения! Я опубликовал результаты этих команд
JPetersonVNL avatar
флаг my
@heynnema Я загрузился в старое ядро ​​​​147, и оно ничего не исправило, но я предполагаю, что ущерб уже нанесен fs. Если 151 вызывает ошибки ядра, которые повреждают fs, то, возможно, мне просто нужно избегать 151. Как я могу предотвратить обновление 151 на других устройствах в полевых условиях? У меня есть доступ по SSH, но не физический.
heynnema avatar
флаг ru
Эта проблема началась 23 июля или около того? Именно тогда было установлено ядро ​​-151. Слишком рано говорить, является ли проблема -151, но из других отчетов я начинаю чувствовать, что это может быть. Загрузка до -147 не исправит ошибки файловой системы, которые уже есть. Загрузитесь с Ubuntu Live USB/DVD и выполните «fsck», затем перезагрузитесь до -147 и посмотрите, продолжают ли вы получать ошибки ошибки страницы. Вы проверяли свой БИОС? Вы запускали `memtest`?
heynnema avatar
флаг ru
Кроме того, почему нет обмена?
heynnema avatar
флаг ru
На самом деле это было 9 июля, а не 23 июля.
JPetersonVNL avatar
флаг my
@heynnema Да, о проблеме нам впервые сообщили 26 числа. Биос относительно недавний, и с его версией нет известных проблем. Сейчас работает Memtest, а потом еще хочу сделать smartctl для проверки SSD. Как только эти тесты будут выполнены, я проверю его, загрузлюсь в 147 и проверю. Смотрите мое последнее редактирование для теста, который я сделал сегодня вечером. Я предполагаю, что отсутствие свопа связано с тем, что он смонтирован как доступный только для чтения? Спасибо за вашу помощь в этом!
heynnema avatar
флаг ru
Никакого свопа может быть потому, что он настроен как сервер. Сделайте `grep -i swap /etc/fstab`, чтобы проверить. Этот отчет об ошибке, по-видимому, не имеет никакого отношения к ошибкам вашей страницы. Держи меня в курсе.
Рейтинг:1
флаг my

у меня нет окончательный подтверждение, но у меня есть немало наблюдательных подтверждений того, что это было результатом выпуска ядра Ubunut 151. Я смог легко воспроизвести проблему при запуске 151, но после перехода на любую предыдущую версию я не смог. Одним из неприятных побочных эффектов было сохранение повреждений. Сам по себе сбой ядра не был прямой причиной RO-файловой системы. Это было повреждение FS (осиротевшие иноды и тому подобное), вызванное сбоем ядра. Это означает, что даже после отката к предыдущему ядру повреждение файловой системы может быть уже нанесено, что приводит к тому, что модуль переходит в RO даже после отката. Чтобы помочь с этим, после отката ядра я также включаю автоматический fsck при загрузке. Прошло несколько месяцев, и проблема, кажется, была решена. Спасибо @heynnema за вашу помощь и возможность делиться с вами идеями!

Ответить или комментировать

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