Red Hat Enterprise Linux(RHEL)의 인플레이스 업그레이드 자동화에 대한 글을 쓴 지 벌써 2년이 넘었습니다. 그동안 Red Hat은 수십 개의 고객이 Red Hat의 규범적이고 자동화된 접근 방식을 사용하여 수십만 개의 시스템을 규모에 맞게 RHEL 업그레이드하는 것을 보았습니다. 이 문서에서는 RHEL 업그레이드 자동화의 롤아웃을 가속화하는 데 도움이 되는 주요 기능을 간략하게 검토합니다. 효과적인 방법과 함께 과제와 교훈을 살펴보겠습니다.

주요 학습 사항: 빠르게 실패하고, 반복하고, 다시 시도하세요. 여기서 가장 중요한 사항은 업그레이드 프로세스의 부담을 줄이고, 문제가 즉시 예상대로 진행되지 않을 때 원래 상태로 신속하게 복구할 수 있도록 하는 것입니다.

과제

Red Hat의 대규모 고객 중 다수는 2000년대 초 엔터프라이즈급 Linux 도입이 시작된 이후 수십 년 동안 성장하고 진화한 대규모 RHEL 환경을 보유하고 있습니다. 조직은 애플리케이션 워크로드를 배포하고 관리하는 방법을 현대화하기 위해 가상화와 컨테이너화를 시도했지만, 일부 조직은 여전히 수많은 RHEL 호스트를 따라잡지 못하고 있습니다. 이러한 애플리케이션은 수년에 걸쳐 세심하게 관리되었지만, 수동 변경으로 인해 추적되지 않는 드리프트가 많이 누적된 '펫' 서버에서 실행됩니다.

조직이 이전 버전의 RHEL을 계속 사용하는 이유는 이러한 애플리케이션 환경을 변경하기가 어렵기 때문입니다. 인프라 및 운영 팀에게는 새로운 RHEL 버전으로의 재플랫폼이 일반적으로 쉬운 일이지만, '펫' 애플리케이션을 재배포하는 것은 애플리케이션 팀에게 부담스러운 작업입니다. 기술 부채를 해결하고 워크로드를 안전하게 재배포하는 방법을 찾는 것은 비용이 많이 들고 위험이 따르는 일입니다. 그렇기 때문에 빠르게 실패하고 학습하는 것이 퍼즐의 핵심 조각입니다.

결론: 애플리케이션을 건드리지 않고도 환경을 새로운 RHEL 버전으로 더 쉽게 이동할 수 있는 방법이 있습니다. 규모에 맞게 구현하면 조직 전체에서 절감한 비용이 빠르게 누적됩니다.

솔루션

RHEL 업그레이드 확장에 대한 Red Hat의 접근 방식은 Red Hat Ansible Automation Platform과 Ansible 검증 콘텐츠를 사용하여 자동화하는 것입니다. 이러한 자동화는 RHEL 6에서 7로, 최신 RHEL 9에서 10으로, 그리고 그 사이의 모든 업그레이드를 처리할 수 있습니다. RHEL 7에서 RHEL 9로의 멀티홉 업그레이드를 단일 유지 관리 기간에 자동화하는 고객도 있습니다. 

이 솔루션은 네 가지 필수 기능을 기반으로 합니다.

RHEL In-place Upgrade Automation - Key Features to Succeed at Scale (slide)

1. 전체 자동화

RHEL 업그레이드를 위한 엔드 투 엔드 자동화는 운영 팀과 애플리케이션 팀 모두에게 손쉽게 이용하고 반복할 수 있는 푸시 버튼 서비스로 프로세스를 제공합니다. 

2. 스냅샷과 롤백

이는 애플리케이션 영향 위험을 최소화하는 이 접근 방식의 가장 중요한 기능이므로, 업그레이드를 미룰 이유가 없습니다. 스냅샷은 환경에 따라 LVM(논리 볼륨 관리자), VMware 스냅샷 또는 relax-and-recover(ReaR) 백업을 사용하여 자동화할 수 있습니다. 특히 롤백을 사용하면 빠르게 실패하고 다시 시도할 수 있습니다.

3. 사용자 지정 모듈

RHEL Leapp 프레임워크는 운영 체제 자체를 업그레이드하지만 표준 타사 툴 및 에이전트와 같은 환경의 세부 사항을 처리하려면 사용자 지정 자동화를 개발해야 합니다.

4. 리포팅 대시보드(매우 유용한 선택 옵션)

리포팅 대시보드는 전체 RHEL 자산에서 업그레이드 결과를 추적합니다. 이는 Leapp에서 생성한 사전 업그레이드 리포트를 시각화하여, 발견 사항을 분석하고 완료된 업그레이드의 규모와 진행 상황에 대한 메트릭을 쉽게 집계할 수 있도록 합니다. 

100만 건의 RHEL 인플레이스 업그레이드 자동화를 통해 얻은 교훈

고객이 이 접근 방식을 구현하도록 지원하면서 배운 점은 처음부터 완벽하게 작동하는 것은 없다는 것입니다. 모든 "스노우플레이크(snowflake)" 구성, 낮은 수준의 타사 제품의 영향, 외부 환경 요인 등을 예측할 수 있는 방법은 없습니다. Red Hat은 낮은 수준의 랩 및 개발 환경에서 시작하여 업그레이드를 시도하는 것이 가장 좋다는 것을 알게 되었습니다.

Red Hat은 이를 "페일패스트(fail-fast)" 접근 방식이라고 부르며, 이는 궁극적으로 사용자 환경에 고유한 모든 변형을 처리할 수 있는 솔루션을 신속하게 개발하는 데 핵심적인 역할을 합니다. 이는 실패를 예상하고 의도적으로 업그레이드를 시도하여 빠르게 학습하고 반복할 수 있는 방법론입니다. 실패를 관찰하고 신속하게 되돌린 다음, 학습한 내용을 활용하여 자동화의 실패를 방지합니다.

RHEL 인플레이스 업그레이드 자동화에 페일패스트 접근 방식이 중요한 이유는 다음과 같습니다.

  • 리스크 감소와 신뢰 구축
    • 가장 중요한 위험 감소 요소는 스냅샷 롤백 기능입니다. 이렇게 하면 업그레이드가 애플리케이션 팀에 매우 위험하다는 우려를 완화할 수 있습니다. 문제가 발생하는 경우 시스템은 장기간 중단되지 않고 신속하게 이전 상태로 되돌릴 수 있습니다. 이러한 신속한 복구 기능은 애플리케이션 팀이 빠르게 업그레이드하고, 뱅킹과 같은 산업에서 컴플라이언스 및 규제 요구 사항과 관련된 중요한 애로 사항을 해결할 수 있도록 지원합니다.
    • 한 유명 고객의 애플리케이션 팀은 스냅샷 프로세스의 신뢰성을 확보하기 위해 호스트 업그레이드와 롤백을 여러 번 테스트했습니다. 심지어 요점을 입증하기 위해 롤백하기 전에 의도적으로 시스템에 문제를 발생시키기도 했습니다.
    • 마찬가지로, 한 대규모 은행 고객은 롤백이 작동하여 페일패스트 방법론을 검증했기 때문에 첫 번째 베어 메탈 업그레이드 중에 '장애'가 발생한 것으로 간주했습니다.
    • 소규모 자산을 보유한 또 다른 고객은 "빠른 속도와 혁신"을 원칙으로 자동화와 롤백에 의존하여 단 2주 만에 60개의 RHEL 호스트를 모두 성공적으로 업그레이드했습니다.
  • 개발 속도 향상과 자동화 품질 개선
    • Fail-fast는 팀이 신속하게 반복할 수 있도록 하여 사용자 정의 자동화 개발을 가속화합니다. 이 접근 방식에서는 가능한 모든 문제를 예측하는 대신 업그레이드를 실행하고, 중단되는 항목을 관찰하고, 롤백하고, 수정 사항을 자동화한 다음 프로세스를 반복하도록 권장합니다.
    • 이렇게 하면 새 RHEL 버전과 호환되지 않을 수 있는 타사의 툴, 에이전트, 미들웨어를 처리하는 등 복잡한 사용자 지정 요구 사항에 대한 솔루션을 식별하고 개선하는 데 도움이 됩니다. 예를 들어, 다른 뱅킹 고객은 이를 통해 업그레이드로 제거된 타사 벤더 패키지를 식별하고 재설치를 자동화했습니다.
    • 이 접근 방식은 '현실 세계의 변수' (이는 곧 환경 전반에서 발생하는 예기치 않은 편차와 변화를 의미합니다)를 발견하고, 이후에 자동화 시스템을 개선하여 이러한 변수에 대처할 수 있도록 합니다.
  • 조직 내 장벽 해소
    • 실패와 관련하여 과도한 위험 회피 행동으로 이어지는 낙인이 있을 수 있습니다. 강력한 롤백 기능으로 지원되는 페일패스트(fail-fast) 접근 방식은 실패를 신속하고 안전하게 해결할 수 있을 뿐만 아니라, 실패를 통해 빠르게 학습할 수 있는 접근 방식임을 보여줌으로써 이러한 장벽을 극복하는 데 도움이 됩니다.
    • Red Hat이 회의적인 중앙 IT 또는 운영 팀의 망설임에 직면한 경우, 페일패스트 접근 방식과 애플리케이션 팀에 대한 이점을 강조하는 것이 도움이 됩니다. 또한 비용이 많이 드는 리플랫포밍(re-platforming)을 수행하지 않고도 솔루션이 어떻게 역량을 강화하는지 보여줍니다.
  • 대규모 적용 가능하게 만들기
    • 반복적인 테스트를 통해 문제를 신속하게 식별하고 해결함으로써 조직은 업그레이드 속도를 높일 수 있습니다. 예를 들어, 100,000개 이상의 인스턴스로 구성된 RHEL 자산을 보유한 고객은 신속한 반복 및 롤백을 지원하는 셀프 서비스 자동화를 사용하여 전 세계적으로 매월 8,000회의 업그레이드를 달성했습니다.
    • 프로덕션으로 이동하기 전에 하위 환경(랩 및 개발)에서 자동화를 손쉽게 테스트하고 개선할 수 있는 기능은 운영 중단을 방지하고 대량의 업그레이드를 달성하기 위한 모범 사례입니다.

페일패스트를 지원하는 주요 구성 요소에 대한 세부 정보는 다음과 같습니다.

  • 자동화된 스냅샷과 롤백 기능: 이것이 바로 페일패스트 접근 방식의 기반입니다. 옵션에는 LVM 스냅샷 또는 VMware 스냅샷이 포함됩니다. ReaR 백업은 스냅샷 롤백이 작동하지 않는 경우에 대비하여 이중 안전 장치 접근 방식에도 사용할 수 있습니다. 
     
  • 맞춤형 모듈과 자동화: 공식 Leapp 시스템 업그레이드 리포지토리와 해당 액터가 운영 체제 업그레이드를 처리하지만, 고객 환경에 특화된 타사 툴, 에이전트 및 미들웨어를 관리하려면 사용자 정의 Ansible 태스크 또는 추가 사용자 정의 Leapp 액터가 필요합니다. 이러한 맞춤형 자동화는 페일패스트 반복을 통해 개선됩니다.
     
  • 리포팅 대시보드: Elastic 또는 Splunk와 같은 툴은 사전 업그레이드 결과를 시각화하고 업그레이드 진행 상황을 추적할 수 있으므로 팀이 일반적인 문제를 식별하고 자동화를 개선하는 데 도움이 됩니다.

RHEL 업그레이드에 대해 자세히 알아보기

페일패스트(fail-fast) 접근 방식을 도입하면 대규모 RHEL 업그레이드의 어려워 보이는 작업을 학습과 안전을 우선시하는 반복적인 프로세스로 전환하여 궁극적으로 속도를 크게 높이고 컴플라이언스를 빠르게 개선할 수 있습니다.

  • RHEL 7 유지보수 종료 전 업그레이드를 자동화하는 방법
  • 다가오는 Red Hat Enterprise Linux 7 유지보수 종료
  • infra.leapp Git repo: RHEL 인플레이스 업그레이드를 자동화하기 위한 Ansible 롤 컬렉션으로, 활발한 업스트림 커뮤니티가 지원합니다. 이러한 역할은 Leapp 프레임워크를 사용하여 사전 업그레이드 분석 및 RHEL 업그레이드 자체를 수행하는 표준화된 방법을 제공합니다. 기업용 업그레이드를 실행하기 위해 자체 사용자 정의 플레이북을 개발할 준비가 되었다면 이 Ansible 컬렉션의 롤을 사용하여 작업을 더 쉽게 수행하는 것이 좋습니다.
  • infra.lvm_snapshots Ansible 컬랙션: RHEL 인플레이스 업그레이드 자동화를 위한 핵심 구성 요소로, 특히 LVM 스냅샷 관리를 위한 역할을 제공합니다. 이 컬렉션은 정의된 LVM 스냅샷 볼륨 세트를 생성하는 snapshot_create, 볼륨을 삭제하는 snapshot_remove, 시스템을 이전에 캡처한 상태로 즉시 되돌리는 snapshot_revert와 같은 중요한 기능을 제공합니다. 또한 스냅샷을 위한 공간을 확보하기 위해 논리 볼륨 크기를 안전하게 줄이는 shrink_lv와 부팅 파티션을 늘리는 bigboot와 같은 역할도 포함합니다.
  • ripu-splunk repo: RHEL 업그레이드 자동화 솔루션을 개선하기 위해 설계된 보고 대시보드에 대한 참조 구현을 제공합니다. 이 오픈소스 컬렉션은 사전 업그레이드 요약, 사전 업그레이드 상세 보고서, 업그레이드 진행 타임라인 등 Splunk Dashboard Studio로 가져올 수 있는 예시를 제공합니다.

Red Hat이 도와드리겠습니다

지난 몇 년 동안 자동화된 업그레이드가 진화함에 따라 Red Hat Consulting Service는 많은 고객이 이 솔루션을 구축할 수 있도록 중요한 역할을 해왔습니다. 대규모 환경 업그레이드에 대한 부담을 느끼거나 어디서부터 시작해야 할지 모르겠다면, Red Hat Consulting Service가 전문 지식과 지침을 공유하여 고객의 목표 달성을 돕고, 그 과정에서 시간과 비용을 절약할 수 있도록 지원해 드립니다.

제품 체험판

Red Hat Ansible Automation Platform | 제품 체험판

에이전트리스 자동화 플랫폼

저자 소개

Bob is an industry veteran with a lifetime of experience in IT dating back to the 1980s. Before coming to Red Hat in 2022, he held software consulting roles at DEC/HP and later moved to the banking industry as a pioneer leading Wall Street's early adoption of Linux. Today as a member of Red Hat's Customer-led Open Innovation team, he is committed to growing the community that's developing automation to make RHEL in-place upgrades successful at enterprise scale.

Bob Handlin has helped build and promote products in various parts of the tech industry for more than 20 years. He currently focuses on RHEL migrations and upgrades, but also assists with storage technologies and live patching.

UI_Icon-Red_Hat-Close-A-Black-RGB

자세히 알아보기

채널별 검색

automation icon

오토메이션

기술, 팀, 인프라를 위한 IT 자동화 최신 동향

AI icon

인공지능

고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트

open hybrid cloud icon

오픈 하이브리드 클라우드

하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요

security icon

보안

환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보

edge icon

엣지 컴퓨팅

엣지에서의 운영을 단순화하는 플랫폼 업데이트

Infrastructure icon

인프라

세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보

application development icon

애플리케이션

복잡한 애플리케이션에 대한 솔루션 더 보기

Virtualization icon

가상화

온프레미스와 클라우드 환경에서 워크로드를 유연하게 운영하기 위한 엔터프라이즈 가상화의 미래