커널 업데이트 후 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 upgrade
proxmox로부터 커널이 업데이트되었지만 아직 로드되지 않았다는 경고가 표시됩니다(재부팅 필요). 또한 현재 유효한 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입니다. 이러한 업데이트는 수동으로 업데이트할 때까지 적용되지 않는 것 같습니다. 나는 이것이 (현재) 유효하지 않은 정규식 패턴과 관련이 있다고 생각합니다. 정규식 패턴이 |
없어져서 앱이 업데이트되지 못하게 되었습니다.