수백 대의 데비안 서버에서 업그레이드 관리


20

수십 개의 (수백이 아니라면) 데비안 서버를 최신 상태로 유지하는 가장 좋은 방법은 무엇이라고 생각하십니까? 명심하십시오 :

  • 서버 그룹 (예 : 동일한 웹 서버, DB 서버 등)이 있습니다.
  • 몇 가지 데비안 문제가있을 수 있습니다 (lenny, etch)
  • 모든 서버에서 루프를 실행하고 apt-get 업데이트 및 업그레이드를 수행하는 것은 허용되지 않습니다 (현재 내가하고있는 일이기 때문에) :) 이것보다 낫습니다!

현재 모든 업그레이드를 완료하면 새로운 보안 업데이트가 게시되므로 다시 한 번 수행해야합니다.

미리 serverfault 커뮤니티에 감사드립니다!


1
하나의 로컬 서버에 최신 패킷을 저장하고이를 적절한 저장소로 사용하십시오. 이렇게하면 대역폭과 시간이 절약되고 로컬 저장소를 사용하여 로컬 서버에 업데이트를 배포합니다. 아, apt-get 대신 적성을 사용하십시오.
Karolis T.

3
거울에는 맞고 적성에는 없습니다. 요즘에는 혜택이 없습니다. 슈퍼 파워도 없습니다.
David Pashley

답변:


12

내가 사용하는 경향이-dater를 내 데비안 업그레이드를 관리 할 수 있습니다. 트릭을 충분히 잘하는 것 같습니다. 그래도 수백 개의 호스트로 확장하려고 시도하지 않았습니다.


1
내가 들어 본 적이 없지만 재미있는 제품.
wzzrd

매우 좋습니다! apt-dater에 각 호스트에 설치할 로컬 패키지가 없으면이 답변을 홍보하고 ... 왜 필요한지 이해하지 못합니다.
Falken

테스트 후이 도구는 훌륭합니다! 그러나 수백 대가 아닌 수십 대의 서버에서 작동합니다. 많은 기계를 다룰 때 그것은 모두 벗겨지고 느려집니다 ... 너무 나쁩니다.
Falken

1
나는이 답변을 마침내 사용할 수 있었기 때문에이 답변을 홍보하지만 귀하의 환경 설정 / 환경에 따라 다른 솔루션도 상당히 좋습니다!
Falken

2
우분투의 기본 ssh 에이전트는 모두 잘못했습니다. 나는 단순히 그것을 제거하고 쉬운 "ssh-add"를 사용했다. 모든 속도 저하가 사라졌습니다!
Falken


3

꼭두각시를 사용하여 중요하지 않은 패키지의 보안 수정 프로그램을 업그레이드하려고 시도했습니다. apticron을 실행하여 모든 서버에 대한 업데이트 목록을 전자 메일로 보낸 다음 매일 이러한 업데이트를 꼭두각시 매니페스트 파일로 병합하는 스크립트를 실행하여 각 배포에 대한 패키지와 버전을 제공했습니다. 그러면 개별 서버에서 많은 파일이 업데이트되고 패키지 업그레이드가 필요할 때 업그레이드 스크립트가 시작됩니다. 이것은 합리적으로 작동했지만 원하는만큼 테스트하지 않았습니다. 이 체계는 Puppet이 여러 곳에 정의 된 동일한 리소스를 가지고 있지 않다는 한계를 극복했습니다.

또한 무작위 업데이트가 서비스를 중단시키는 MySQL 또는 PostgreSQL과 같은 것들의 자동 업그레이드를 수행하는 데 익숙하지 않았습니다. 여전히 수동 업데이트가 필요합니다.

Spacewalk와 Debmarshall은 꼭두각시 계획에 적합한 대안으로 보입니다.


대답에 대한 의견이없고, 뒤늦은 "행복한 10K 날"이 외쳤다.
Evan Anderson

1

분명히 Spacewalk는 이제 데비안을 예비 지원합니다. 그것은 아마도 꼭두각시와 함께 나의 출발점이 될 것입니다. Spacewalk에 대한 데비안 지원을 개발하는 사람이 데비안 지원을 더 높은 수준으로 끌어 올리는 데 도움을 줄 것이라고 확신합니다.


1

Puppet과 같은 풀 기반 구성 시스템에는 bcfg2 및 cfengine도 있습니다. 그중 하나 또는 당신의 요구에 잘 맞을 수도 있습니다. 지금 실험실에서 bcfg2를 배포하고 있습니다.


1

func으로 솔루션을 제공 할 수 있습니다.


나는 기능을하지 않을 것입니다. 그것은 약속을 보여 주지만 인정 하기는하지만 프로덕션 용도로 미숙 한 방법 입니다.
wzzrd

func는 cobbler에 의해 사용되며 미성숙 한 IMHO가 아닙니다. cobbler는 RH 전문가가 많이 사용하며 이러한 기술은 다음 RHEL 릴리스에 포함될 예정입니다. 아마도 "공식적으로"생산 준비가되어 있지는 않지만 실제로는 거의 근접한 상태입니다.
drAlberT

0

어떤 유형의 솔루션을 기대하는지 잘 모르겠습니다. 당신은 아마 cron 작업에 대해 알고 있지만, 사람의 개입이 필요하기 때문에 맹인의 시스템을 업데이트하지 않을 것입니다 (그리고 이것이 그들이 당신에게 지불하는 이유입니다)?

완전히 동일한 시스템을 가지고 있다면 rsync와 같은 것을 사용하여 차이점을 고려할 수 있지만 rsync가 아닌 파일을 알아내는 것이 어려울 수 있으며 서비스가 실행되는 동안이 작업을 수행하지 않습니다. 최소한 업데이트 스크립트는 서비스 재시작 및 구성 파일 차이점의 병합을 관리하도록 설정되어 있습니다.

아마도 apt-get 명령을 사용하여 문제가 무엇인지 설명하면 피하고 싶은 것을 볼 수 있습니다.

문제가 대역폭과 다운로드 시간 인 경우 로컬 데비안 리포지토리로 작동하도록 하나의 상자를 설정해야합니다. 그렇게하는 방법에 대한 데비안 가이드가 있습니다.

다음은 업데이트해야 할 사항을 최소화하는 방법에 대한 팁입니다.

데비안을 설치할 때 해당 콘솔에서 X를 실제로 사용해야하는 경우가 아니라면 데스크탑을 설치하지 마십시오. 대부분의 서버는 X를 설치할 필요가 없습니다. 이렇게하면 시스템의 패키지 수가 크게 줄어들 수 있으므로 많은 패키지를 업데이트 할 필요가 없습니다.

sources.list에 실제로 필요한 저장소 만 포함되어 있는지 확인하십시오. 일부 저장소를 실험하고 잊어 버린 경우 필요하지 않거나 원하지 않는 업데이트를 가져올 수 있습니다.

프로덕션 서버에서 맹목적으로 업데이트를 수행하는 데 문제가 발생한 경우 주요 업데이트 (4.0 ~ 5.0)가있을 때 데비안 업그레이드 안내서를 참조하십시오. 업그레이드 지시 사항을 따르면 매우 잘 진행됩니다. apt-get dist-upgrade를 실행하고 멀리 걷는 것만 큼 쉽지 않습니다. 때로는 지침에 apt-get 대신 적성을 실행할 때에 대한 포인터도 있습니다. 그들에는 약간의 차이가 있습니다.


0

이제이 도구 "댄서의 껍질"입니까? 나는 그것을 좋아하고 그것을 사용합니다. 그러나 너무 많은 호스트에 사용할 수 있는지 모르겠습니다. 아마도 당신은 시도 할 수 있습니다 ...

http://www.netfort.gr.jp/~dancer/software/dsh.html.en

그리고 그는 저장소에 있습니다.


-1

ClusterSSH. 모든 서버에 로그온하여 동일한 명령을 제공하므로 대화 상자에도 반응 할 수 있습니다. 하나의 서버가 추가 질문을 받으면 해당 서버를 클릭하면 응답하는 유일한 서버가됩니다.

25 개의 웹 서버를 식각에서 레니로 업그레이드하는 데 사용했습니다. 매력처럼 일했다.

http://sourceforge.net/projects/clusterssh/


한 번에 ~ 50 대의 컴퓨터에 연결하는 것과 같은 이상한 일을 시도하면 SSH 에이전트가 실제로 죽습니다. 그렇지 않으면 다른 수준의 그룹화가 필요하지만 ClusterSSH가 좋습니다.
LapTop006

-1

클러스터 ssh는 좋은 제안입니다.

debmarshal은 아직 데비안의 일부가 아닙니다-패키지인지 확실하지 않습니다-전문 저장소가있는 완전히 다른 시스템 인 것 같습니다. 화자가 말했듯이, 이것은 현재 사용자에게 적대적이며 사용자 친화적이지 않습니다.

Spacewalk는 적어도 웹 인터페이스에서 Redhat Network의 복제본 인 것 같습니다. Redhat Network를 사용하여 시스템을 업데이트 한 결과가 나빴습니다. 한 번 이상 중단되지 않아 서비스가 중단되었습니다. 나는 즉시 yum 업데이트를했고 그 문제를 잘 처리 했으므로 RHN쪽에 문제가 있다고 가정 할 수 있습니다. RHN 업데이트에 대해 마음에 들지 않는 다른 점은 업데이트가 언제 발생하는지 알지 못하여 문제를 감시한다는 것입니다.


-1 Untrue : RHN 업데이트를 자동으로 만들지 않으면 자동으로 업데이트되지 않습니다. 그 외에도 : 매일 RHN을 사용하는 사람으로서, 나는 아직도 그것을 바르지 못했습니다.
wzzrd

RHN이 자동이라고 말하지 않았습니다. 그러나 RHN에서 업데이트를 설정하면 언제 일어날 지 알려주지 않으므로 동일하게 느껴집니다. 당신의 명백한 행운은 실패와 서비스없이 사용자를 떠나 실제 경험을 취소하지 않습니다. yum 업데이트조차 실패 할 수 있습니다. 업데이트 및 이동 만 할 수 있다고 생각하는 사람은 프로덕션 서버가 아니기 때문에 조심하지 않거나 걱정하지 않아도됩니다 (생산 = 서비스에 의존하는 클라이언트가 있습니다).
labradort
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.