BIOS 업데이트 및 Intel 마이크로코드 패키지에도 불구하고 정오표로 인해 TSC_DEADLINE이 비활성화되었습니다.

BIOS 업데이트 및 Intel 마이크로코드 패키지에도 불구하고 정오표로 인해 TSC_DEADLINE이 비활성화되었습니다.

커널 업데이트 후 proxmox(Debian 기반) 홈 서버가 시작되지 않습니다.

여기에 이미지 설명을 입력하세요.

# dmesg | grep -i microcode
[    0.080090] [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x22 (or later)
[    0.200978] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    1.043840] microcode: sig=0x306c3, pf=0x2, revision=0x19
[    1.043870] microcode: Microcode Update Driver: v2.2.

내가 찾은이것그리고이것첫 번째 잘못된 질문에 TSC_DEADLINE disabled due to Errata. 그래서 업데이트했어요바이오스2015년 5월 19일 현재 V1.12인 최신 버전으로 업데이트되었습니다. 업데이트 프로세스 중에 오류가 보고되지 않았습니다. 적용된 것 같습니다.

# dmidecode -t BIOS | grep -E 'Version|Date'
        Version: V1.12
        Release Date: 05/19/2015

하지만 여전히 오류가 발생합니다. 5.4.41-1-pve가 최신 커널이고 성공적으로 부팅할 수 있다는 것을 알았습니다.

여기에 이미지 설명을 입력하세요.

이전 버전(예: 5.3)도 작동하지만 최신 버전은 작동하지 않습니다. 따라서 intel-microcode패키지를 설치했으며 문제를 해결하는 데 사용할 수 있는 BIOS 업데이트가 없는 경우 패키지를 설치하는 것이 좋습니다. 하지만 문제가 지속되어 최신 커널 버전을 부팅할 수 없습니다.

정규식 오류

다른 정규식 오류는 에 의해 발생하는 것 같습니다 /etc/lvm/lvm.conf. 거기에 다음 필터가 구성되어 있습니다.

global_filter = [ "r|/dev/zd.*|", "r|/dev/mapper/pve-.*|" "r|/dev/mapper/.*-(vm|base)--[0-9]+--disk--[0-9]+|" "r|/dev/sda" "r|/dev/sdd"]

이것디스크 대기 문제 방지, proxmox는 주기적으로 디스크에서 정보(예: 사용량)를 가져와 깨어 있는 상태로 유지하기 때문입니다.

끝에 구분 기호를 넣어야 한다고 생각합니다. 이는 r|/dev/sda|대신 r|/dev/sda이것이 과거에 허용되었으며 현재 이것을 테스트하고 있음을 의미합니다.

편집하다

update-grub실행하고 마지막에 패턴을 수정 하는 동안 동일한 정규식 오류가 발생했습니다 . |그 이후에는 update-grub실행해도 오류가 발생하지 않습니다 . 하지만 새 커널로 재부팅한 후 Invalid filter pattern "r|/dev/sda"실행 |중이지만 /etc/lvm/lvm.conf.

을 실행하는 동안 apt upgradeproxmox로부터 커널이 업데이트되었지만 아직 로드되지 않았다는 경고가 표시됩니다(재부팅 필요). 또한 현재 유효한 0.19가 아닌 마이크로코드 개정판 0x28이 필요하다고 말합니다.

여기에 이미지 설명을 입력하세요.

하드웨어 세부정보

# dmidecode -t Baseboard | grep -E 'Manufacturer|Product|Version'
        Manufacturer: MSI
        Product Name: Z87-GD65 GAMING (MS-7845)
        Version: 1.0

# grep "model name" /proc/cpuinfo
model name      : Intel(R) Core(TM) i3-4150 CPU @ 3.50GHz

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

# egrep ^deb /etc/apt/sources.list
deb http://ftp.de.debian.org/debian buster main contrib non-free
deb http://security.debian.org buster/updates main contrib non-free
deb [arch=amd64] https://download.docker.com/linux/debian buster stable
deb http://ftp.de.debian.org/debian buster-backports main

답변1

문제는 /etc/lvm/lvm.conf호출만으로는 reload가 되지 않는다는 것 입니다 update-grub.이 기사나에게 올바른 팁을 제공했습니다(나중에도이것은 독일어로 되어있습니다):

기존 initramfs를 백업하고 재구축하여 이후 재부팅 시 변경된 /etc/lvm/lvm.conf 파일이 사용되도록 합니다.

재건하기 위해 찾았습니다initramfs 업데이트명령을 내리고 다음과 같이 실행합니다.

update-initramfs -u -k all

여러 커널 버전이 있고 일부 커널 버전에 문제가 있을 수 있다고 예상했기 때문에(이전 테스트에서처럼) 모든 커널 버전을 다시 빌드했습니다. 일반적으로 전환하지 않고도 최신 버전을 다시 빌드하는 것으로 충분합니다 -k all.

이제 서버가 문제 없이 다시 시작되고 마이크로코드가 업데이트되었는지 확인할 수 있습니다.

# dmesg | grep -i microcode
[    0.000000] microcode: microcode updated early to revision 0x28, date = 2019-11-12
[    0.200700] SRBDS: Mitigation: Microcode
[    0.929176] microcode: sig=0x306c3, pf=0x2, revision=0x28
[    0.929231] microcode: Microcode Update Driver: v2.2.

이전에는 0x19가 있었지만 지금은 proxmox에서 예상한 대로 0x28입니다. 이러한 업데이트는 수동으로 업데이트할 때까지 적용되지 않는 것 같습니다. 나는 이것이 (현재) 유효하지 않은 정규식 패턴과 관련이 있다고 생각합니다. 정규식 패턴이 |없어져서 앱이 업데이트되지 못하게 되었습니다.

관련 정보