ECS: 상위 수준의 ECS 패브릭 계층 및 구성 요소를 참조하는 방법
Summary: 아키텍처 가이드: 빠른 참조를 위한 패브릭 세부 정보입니다.
Instructions
자세한 내용은 ECS 아키텍처 가이드 백서, 4코드 버전을 참조하십시오.
직물
패브릭 계층은 클러스터링, 시스템 상태, 소프트웨어 관리, 구성 관리,
업그레이드 기능 및 알림을 제공합니다. 서비스의 계속 실행과 디스크, 컨테이너 및 네트워크와 같은 리소스 관리를
담당합니다. 장애 탐지와 같은 환경 변화를 추적하고 이에 반응하며 시스템 상태와 관련된
알림을 제공합니다. 패브릭 계층에는 다음과 같은 구성 요소가 있습니다.
- 노드 에이전트는 각 노드에서 실행됩니다.
- 호스트 리소스를 관리합니다.
- 설치 서비스
- 컨테이너
- 디스크
- ECS 방화벽
- ECS 네트워크 - NAN(Nile Area Network)
- 패브릭에 대한 유지 보수(노드 유지 보수 모드, 디스크 등) 및 업그레이드를 제어하는 데 사용됩니다.
- 패브릭 에이전트는 디스크 상태를 가져오기 위해 하드웨어 관리자/HAL(Hardware Abstraction Layer) 구성 요소에서 사용됩니다.
- 운영자가 패브릭 CLI(명령줄 인터페이스) /opt/emc/caspian/fabric/cli/bin/fcli를 사용하여 클러스터 및 노드를 관리할 수 있습니다.
- 시스템, 애플리케이션 상태, 장애 탐지 및 알림
- 환경 변화 추적 및 대응
수명주기 관리자: 서비스 시작, 복구
, 알림 및 장애 감지가 포함된 애플리케이션 수명주기 관리.
- 여러 수명주기 관리자 인스턴스가 노드의 하위 집합에서 실행됨
- 각 수명주기 인스턴스는 노드의 하위 집합을 관리합니다
- 수명주기 인스턴스에 장애가 발생하면 다른 인스턴스가 인계받습니다
- 클러스터 기본 주문 클러스터 수준 이벤트
지속성 관리자 - ECS 분산 환경을 조정하고 동기화합니다.
레지스트리 - ECS 소프트웨어
용 Docker 이미지 저장소 이벤트 라이브러리 - 시스템에서 발생하는 이벤트 집합을 보관합니다.
하드웨어 관리자 - 상태, 이벤트 정보 및 하드웨어 계층의 프로비저닝을 상위 수준 서비스에 제공합니다
. 이러한 서비스는 상용 하드웨어를 지원하기 위해 통합되었습니다.
Docker
ECS가 운영 체제보다 먼저 Java 애플리케이션으로 실행되며 여러 Docker 컨테이너
내에 캡슐화됩니다. 컨테이너는 격리되지만 기본 운영 체제 리소스와 하드웨어를 공유합니다.
ECS 소프트웨어의 일부가 모든 노드에서 실행되며 일부는 하나 또는 일부 노드에서 실행됩니다. Docker
컨테이너 내에서 실행되는 구성 요소는 다음과 같습니다.
, 포털 및 프로비저닝 서비스와 관련된 리소스 및 프로세스가 포함되어 있습니다. ECS의 모든 노드에서 실행됩니다.
패브릭 수명주기 - 시스템 수준
모니터링, 구성 관리 및 상태 관리에 필요한 프로세스, 정보 및 리소스를 포함합니다. 항상 홀수의 fabric-lifecycle
인스턴스가 실행됩니다. 예를 들어 4
노드 시스템에서는 3개의 인스턴스가 실행되고 8노드 시스템에서는 5개의 인스턴스가 실행됩니다.
Fabric-zookeeper - 분산 프로세스,
구성 정보, 그룹 및 명명 서비스를 조정하고 동기화하기 위한 중앙 집중식 서비스입니다. 지속성 관리자
로 표시되며 홀수 개의 노드(예: 8노드 시스템에서 5개)에서 실행됩니다.
fabric-registry - ECS Docker 이미지의 레지스트리입니다. ECS 랙당 하나의 인스턴스만 실행됩니다.
Additional Information
노드 에이전트
노드 에이전트는 모든 ECS 노드에서 기본적으로 실행되는 Java로 작성된 경량 에이전트입니다. 주요 임무는
호스트 리소스(Docker 컨테이너, 디스크, 방화벽, 네트워크) 관리 및 제어,
시스템 프로세스 모니터링 등입니다. 관리의 예로는 디스크 포맷 및 마운팅,
필요한 포트 열기, 모든 프로세스 실행 확인, 공용 및 개인 네트워크 인터페이스 확인 등이 있습니다. 시스템에서
발생하는 이벤트를 나타내기 위해 순서가 지정된 이벤트를 수명주기 관리자에게 제공하는 이벤트 스트림이
있습니다. 패브릭 CLI는 문제를 진단하고 전체 시스템 상태를 살펴보는 데 유용합니다.
수명주기 관리자
수명주기 관리자는 3개 또는 5개 노드의 하위 집합에서 실행되며 노드에서 실행되는 애플리케이션
의 수명주기를 관리합니다. 각 수명주기 관리자는 여러 노드를 추적해야 합니다. 주요 목표는 장애 감지, 복구,
알림 및 마이그레이션을
포함하여 부팅에서 배포까지 ECS 애플리케이션의 전체 수명주기를 관리하는 것입니다. 노드 에이전트 스트림을 확인하고 에이전트가 상황을 처리하도록
합니다. 노드가 다운되면 시스템을 정상 작동이 확인된 상태로 복원하여 노드 상태의
장애 또는 불일치에 대응합니다. 수명주기 관리자 인스턴스가 다운되면 다른 인스턴스가 그 자리를 대신합니다.
레지스트리
레지스트리에는 설치, 업그레이드 및 노드 교체 중에 사용되는 ECS Docker 이미지가 포함되어 있습니다.
fabric-registry라는 Docker 컨테이너는 ECS 랙 내의 한 노드에서 실행되며, 설치 및 업그레이드에
필요한 ECS Docker 이미지 및 정보의 리포지토리를 보유합니다. 레지스트리는 한 번에 하나의 노드에서만
사용할 수 있지만 모든 Docker 이미지는 모든 노드에서 로컬로 캐시되므로 모든 노드가 레지스트리를 제공할 수 있습니다.
이벤트 라이브러리
이벤트 라이브러리는 패브릭 계층 내에서 수명주기 및 노드 에이전트 이벤트 스트림을 노출하는 데 사용됩니다. 시스템에서 생성된 이벤트
는 공유 메모리 및 디스크에 유지되어 ECS 시스템의 상태에 대한
기록 정보를 제공합니다. 이러한 정렬된 이벤트 스트림은 저장된 정렬된 이벤트를 재생하여
시스템을 특정 상태로 복원하는 데 사용할 수 있습니다. 이벤트의 몇 가지 예로는 시작됨, 중지됨 또는 성능 저하와 같은
노드 이벤트가 있습니다.
하드웨어 관리자
하드웨어 관리자는 패브릭 에이전트에 통합되어 업계 표준 하드웨어를 지원합니다. 기본
목적은 ECS 내의 상위 서비스에 하드웨어별 상태 및 이벤트 정보 그리고 하드웨어 계층
의 프로비저닝을 제공하는 것입니다.
인프라
ECS 어플라이언스 노드는 인프라스트럭처용으로 SUSE Linux Enterprise Server 12를 실행합니다. 맞춤형 업계 표준 하드웨어에 배포된 ECS 소프트웨어
의 경우 운영 체제는 RedHat Enterprise Linux
또는 CoreOS일 수도 있습니다. 맞춤형 구축은 공식적인 요청 및 검증 프로세스를 사용하여 수행됩니다. Docker가 인프라스트럭처에
설치되어 캡슐화된 ECS 계층을 배포합니다. ECS 소프트웨어는 Java로 작성되므로 Java Virtual Machine이
인프라스트럭처의 일부로 설치됩니다.