재부팅하지 않고 서버의 커널을 어떻게 업그레이드 할 수 있습니까?


29

이것은 이미 알고 있고 ksplice에 매우 관심이 있기 때문에로드 된 질문 입니다. 문제는 Oracle이 Oracle을 구입 한 이후 오퍼링에서 수많은 서버 배포판을 가져와야한다는 것입니다. 그 답은 예전처럼 간단하지 않습니다.

나는 눈치 Unix.SE에 질문을 주 것을 :

고유 한 ksplice 패치를 빌드하여 고유 한 커널에 동적으로로드 할 수 있습니다

큰! 그러나 어떻게?!

무료 ksplice패키지 ksplice-uptrack가 아닌 데스크톱의 저장소에 무료 패키지를 설치했으며 이제 업데이트를 생성하고 적용하려고합니다. 과정은 무엇입니까? 프로세스를 자동화하는 스크립트가 있습니까?

또한 재부팅이 필요없는 업그레이드에 필요한 모든 기계가 커널 (및 ksplice패키지)에있는 경우 왜 기본적으로이를 활용하지 않습니까?


최근에 kGraft가 발표되었습니다 . 그것은 거의 동일한 결과 인 것 같습니다. 따라서 당신이 그것에 대한 답변을 가지고 있다면, 나는 그것에 만족할 것입니다. 현재 출시 된 지 몇 달이 지났습니다.


참고 1 : ksplice 옆의 솔루션에 만족하지만 서버를 재부팅하지 않고 적용 할 수있는 커널에 롤링 업데이트를 제공해야합니다.

참고 2 : 다시 말씀 드리겠습니다. 기본 ksplice "서비스"는 Ubuntu 서버를 지원하지 않습니다. 예전에는 없었지만 더 이상은 아닙니다. ksplice 사용에 대해 이야기 할 때 ksplice패키지 의 오픈 소스 도구에 대해 이야기하고 있습니다 . 이 답변은 ksplice-uptrack앞서 언급 한 "서비스"와 직접 통합되는 부분이기 때문에 내가 대답 한 내용 이 아닐 수도 있습니다.

답변:



6

ksplice에 대해서는 잘 모르지만 언급 할 것이라고 생각했습니다 kexec. 이것이 필요할 수도 있습니다.

질문에 관해 왜 우리는 이것을 기본 메커니즘으로 채택하지 않았습니까? 현재 커널이 아직 실행 중일 때 메모리를 덮어 쓰면 잠재적 인 문제가 발생할 수 있습니다. 또한 하드웨어 장치가 항상 가능한 것은 아니지만 잘 정의 된 상태에있을 것으로 예상합니다.

당신은 한 번 봐 걸릴 수 는 IBM 개발자 작품 은 필요에 맞는 경우는 결정에 대한 기사를.


5
에 +1 kexec하지만 본질적으로 핫 재부팅입니다-IE 커널이 처음부터 다시로드되므로 init 스크립트 등이 여전히 호출됩니다. 이것은 기술적 으로 재부팅이 아니지만 실행중인 서비스가 중지됩니다.
— jackweirdy

그래, 나는 그것을 알고 있지만 그것이 어떻게 다른지 알아 내기 위해 ksplice에서 아무것도 읽지 않았다.
— Marcin Kaminski

1
에 따르면 en.wikipedia.org/wiki/Ksplice , ksplice이 메모리에 여전히 동안 실행중인 커널에 대한 이진은 diff 패치를 적용
— jackweirdy

2
흥미 롭기 때문에 이것에 대해 조금 더 읽어야 할 것입니다. 재설정 시간을 절약하려는 가동 시간은 얼마나됩니까? : D
— Marcin Kaminski 1

3

ksplice는 재부팅 할 필요없이 커널 스왑을 허용합니다. Uptrack은 ksplice에서 작동하며 /etc/uptrack/uptrack.conf에 편집 가능한 설정 파일이 있습니다


2

Ksplice에 대한 완전한 오픈 소스 대안이 몇 가지 있는데, 둘 다 메인 라인 Linux 커널에 포함되도록 제출되었습니다. 커널에서 어느 쪽이 끝날지 말하기는 너무 이르지만, 용감하다면 여전히 시도해 볼 수 있습니다.

현재 둘 다에 대한 자세한 내용을보실 수 있습니다 : SUSE 게시물 kGraft, 레드햇 게시물 Kpatch 패치


1

아치 리눅스 위키에는 https://wiki.archlinux.org/index.php/ksplice가 있습니다.

배포판 고유의 유일한 부분은 ksplice 자체를 설치하는 방법입니다. 당신은 이미 그것을 알아 낸 것으로 알고 있기 때문에, 나는 이것이 당신을 당신의 길로 인도해야한다고 생각합니다.


1
이것이 이론적으로 질문에 대답 할 수 있지만 여기에 답의 핵심 부분을 포함시키고 참조 할 수있는 링크를 제공하는 것이 바람직 합니다.
— Eric Carvalho

0

2015 년 7 월 16 일부터 공식적으로 "Oracle Ksplice는 Fedora 및 Ubuntu Desktop Edition에서 무료로 제공됩니다."

다운로드 한 .deb 파일 을 설치 하면됩니다 .

시도 sudo dpkg -i ksplice-uptrack.deb하면로 종속성을 수정해야 할 수도 있습니다 sudo apt-get install -f.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.