커널 업데이트 후 Citrix XenServer 7.1 CentOS 가상 시스템이 시작되지 않음
작업 코어 버전,
yum update
이전3.10.0-693
, yum update
이후3.10.0-1127.19.1
이 문제는 내가 업데이트한 커널에
spectre/meltdown
패치가 있기 때문이다.그러나 XenServer 7에는 없습니다. 이러한 차이는 커널 부트 문제를 야기합니다.흥미로운 것은 이 문제는 CentOS 가상 시스템에만 영향을 미친다는 것이다.다른 Ubuntu 서버는 문제 없이 업데이트를 실행할 수 있지만 CentOS 가상 시스템은 호스트를 업데이트해야 합니다. 그렇지 않으면 작업이 중단됩니다.이 문제를 해결하려면 XenServer를 최신 버전으로 업데이트해야 합니다. 그렇지 않으면 사용할 수 있는 패치가 있으면 설치해야 합니다.
XenServer 7.1 패치에 대한 링크입니다.https://support.citrix.com/article/CTX230788
XenServer 7.1을 업그레이드하려면 먼저 Citrix 라이센스가 있어야 합니다.그러나 이후의 대규모 안전 문제로 7.2 버전에서'무료'패치가 발표되었다.
그러나 이전 버전인 7.1 버전의 XenServer 버전을 실행하는 경우 XenServer를 최신 버전으로 업데이트하는 것 외에는 선택할 수 없습니다.
또한 CentOS의 새 커널 버전에서 부트 문제가 해결되었으므로 나중에 검토하겠습니다.
녹아내리고 유령의 구멍은 무엇입니까?
https://spectreattack.com
가상 시스템에 액세스할 수 있는 사용자는 가상 시스템 자체 이외의 메모리를 읽을 수 있으므로 동일한 물리적 호스트의 다른 가상 시스템에서 데이터를 읽을 수 있습니다.공격자는 가상 머신의 다른 응용 프로그램 빈틈 공격(웹 서버 등)을 통해 들어갈 수 있습니다.
나는 영향을 받았습니까?
Meldown은 Intel CPU에서만 설계 결함을 사용합니다.이것은 Xen sec 팀에서 SP3(악성 데이터 캐시 로드라고도 함)라고 합니다.
다음 도구를 사용할 때만 영향을 받습니다.
64-bits PV guests are vulnerable because guest and hypervisor share the same address space, but with different privileges. HVM aren't.
위험 완화:
모든 가상 머신을
PV
에서 HVM
로 마이그레이션하거나 XenServer를 최신 버전으로 업그레이드하거나 패치를 설치합니다.그러나 이전 버전의 XenServer를 실행한 경우
7.1
이전에 이 문제를 해결하려면 XenServer를 업데이트해야 합니다.CentOS 7 부트 문제로 돌아갑니다.
최신 CentOS 커널 버전에서 부트 문제가 해결된 것 같습니다.만약 XenServer가 최신 패치라면 가상 머신에는 아무런 문제가 없을 것입니다.하지만 저는 XenServer를 업데이트하지 않았기 때문에 현재 최신 CentOS 7 코어를 설치하거나 이전에 실행된 낡은 코어로 강등합니다.
커널 버전 업그레이드
먼저 추가
ELRepo Repository
.시스템에 ELRepo gpg 키를 추가합니다.
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
This is important – CentOS will not allow the installation of an unsigned software package. The GPG key provides a digital signature to verify that the software is authentic.
이제 새 ELRepo 저장소를 추가합니다.
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
완료되면 시스템에서 활성화된 모든 저장소를 확인하고 ELRepo가 목록에 있는지 확인합니다.yum repolist
yum --enablerepo=elrepo-kernel install kernel-ml
코어 ml - 메인 라인 버전을 표시하며 지원 기간이 짧지만 업데이트가 빈번합니다.또는 설치(ml 또는 lt 설치)
yum --enablerepo=elrepo-kernel install kernel-lt
커널 lt - 안정적인 장기 지원 버전을 나타냅니다.시스템의 모든 기존 코어 버전을 나열합니다.
awk -F\' /^menuentry/{print\$2} /etc/grub2.cfg
CentOS Linux (4.4.234-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1127.19.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1127.18.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-c848e02bc90943f7a4daa50b09df4) 7 (Core)
CentOS 최신 커널 버전4.4.234-1
을 설치했습니다.이제 기본 커널로 설정합니다.기본 커널 버전 설정
먼저 기존의 커널 버전을 모두 열거합니다.
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.234-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1127.19.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1127.18.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-c848e02bc90943f7a4daa50b09df4) 7 (Core)
NOTE: The first entry is denoted as
Zero
. Let us modify the Kernel Version to4.4.234-1
which is at line number1
but denoted as entry0
.
Set default kernel.
grub2-set-default 0
다음으로 Rebuild grub.cfg
명령'gurb2-mkconfig'
을 사용하여 아카이빙합니다.grub2-mkconfig -o /boot/grub2/grub.cfg
기본 커널 버전 확인
cat /boot/grub2/grubenv |grep saved
saved_entry=CentOS Linux (4.4.234-1.el7.elrepo.x86_64) 7 (Core)
서버 재부팅reboot
상술한 해결 방안은 안내 문제를 해결할 것이다.CentOS 커널을 최신 버전으로 업데이트하지 않고 기존 커널에서 시작하려면 시스템을 다시 시작하고
grub menu
에서 이전에 정상적으로 작동하던 커널 버전을 선택한 다음 enter
을 선택하고 다음 절차를 따르십시오.기본 커널 버전을 설정하지만, 먼저 모든 기존 커널 버전을 표시합니다.
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.234-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1127.19.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1127.18.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-c848e02bc90943f7a4daa50b09df4) 7 (Core)
NOTE: The first entry is denoted as
Zero
. So currently the Server is booted to0th
entry as per the above command output. Let us modify the Kernel Version to3.10.0-693
which is at line number4
but denoted as entry3
.
Set default kernel.
grub2-set-default 3
다음으로 Rebuild grub.cfg
명령'gurb2-mkconfig'
을 사용하여 아카이빙합니다.grub2-mkconfig -o /boot/grub2/grub.cfg
기본 커널 버전 확인
cat /boot/grub2/grubenv | grep saved
saved_entry=CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
서버 재부팅reboot
Reference
이 문제에 관하여(커널 업데이트 후 Citrix XenServer 7.1 CentOS 가상 시스템이 시작되지 않음), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bidhanahdib/citrix-xenserver-7-1-centos-vm-s-not-starting-after-kernel-update-ek7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)