의견.png

액티브-스탠바이

위키원
218.146.11.108 (토론)님의 2020년 8월 11일 (화) 14:28 판 (새 문서: '''액티브-스탠바이'''(active)란 기존의 마스터-슬레이브의 의미를 대체한 것으로, 하나의 장치가 여러대의 장치를 제어하고 통신하는...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

액티브-스탠바이(active)란 기존의 마스터-슬레이브의 의미를 대체한 것으로, 하나의 장치가 여러대의 장치를 제어하고 통신하는 허브의 역할을 가지고 있는 것을 의미한다. 보통 프로그램 명령어나 통신, 서버분야에서 널리 사용되고 있다.

개요

마스터(Master)는 주인, 주국이라는 의미를 슬레이브(slave)의 사전적 의미는 노예, 종국 이라는 뜻을 가지고 있다. 마스터-슬레이브는 기존의 IT 분야에서 많이 쓰이는 명령어, 기술이였다. 하지만 최근 미국의 경찰이 흑인을 과잉진압하는 사건과 더불어 기존의 마스터-슬레이브라는 단어가 흑인노예를 상징한다는 차원에서 마스터-슬레이브 단어를 폐지하라는 주장이 나오개 되었다. 이를 받아들인 IT업계가 해당 명령어와 단어를 바꾸고있다. 많은 IT기업 회사와 프로그램 개발자들이 마스터-슬레이브 대신 액티브(Active)-스탠바이(Stanby) 또는 메인(Main)으로 바꾸고있다. 미국의 소프트웨어 개발 호스팅 업체 마이크로소프트 산하 깃허브(GitHub)는 ‘블랙 리브스 매터(Black Lives Matter, 흑인 생명은 소중하다)’ 운동에 발맞춰 마스터, 슬레이브와 같은 코딩 언어를 없애는 중이다. 마스터와 슬레이브는 프로그래밍이나 서버 등 개발자들이 사용하는 용어 중 하나로, 주 작업(마스터)에 변형이 생길 때 보조 작업(슬레이브)이 가동되는 방식이다. 이는 액티브와 스탠바이로도 쓰인다. 2020년 7월말 냇 프리드먼(Nat Friedman) 깃허브 최고경영자는 한 회사와의 트위터 내용을 공개했다. 기술 커뮤니티에서 특정 용어를 다른 이름으로 바꾸는 조치를 취하기 시작하자는 제안이다. 특히 브랜치(Branch) 구조를 나타내는 마스터를 ‘메인(Main)’으로 바꾸자는 것이다. 이에 프리드먼은 “훌륭한 생각이며 우린 이미 작업중이다”고 답했다. 조지 플로이드(George Floyd), 브리오나 테일러(Breonna Tayler) 등 미국 사회에서 흑인 시민이 사망한 사건에 대한 항변이 세계적으로 이어지는 가운데 애플, 구글, 마이크로소프트 등 대형 IT기업들이 인종차별에 반대하고 정의 구현에 대해 목소리를 높이고 있다. 이밖에 ‘화이트리스트’, ‘블랙리스트’와 같은 용어도 변경하려는 업계 움직임이 포착되고 있다.[1]


기능

마스터 슬레이브 구조

마스터-슬레이브 방식은 여려 분야에서 서용되고 있다. 리눅스, 파이썬, MySQL 등에서 사용하고 있고 통신 망이나 데이터베이스 서버관리, 고가용성 이중화 방식, 철도 제어 시스템에서도 마스터-슬레이브가 사용되고 있다. 통신제어와 데이터베이스 서버의 관리로 소프트웨어 운영체제의 결함(장애)발생할 때 매우 효과적인 기술이다. 뿐만 아니라, 네트워킹 속도와 효율성면에서 두각을 나타낸다. 기본적인 구조는 옆의 그림과 같다. 데이터 통신, 서버관리 제어 방법으로, 마스터는 한번의 명령 송출에 의해 다수의 슬레이브들을 독립적으로 제어하고 그들로부터의 요구정보를 독립적으로 획득할 수다. 흔히 마스터-슬레이브간의 이중화 프로토콜 방법이라 말한다.이중화 프로토콜 방법은 하나의 마스터장치와 이에 접속된 다수의 슬레이브 장치들 사이에서 데이터 통신간에 효율적으로 사용된다. 다수의 슬레이브들의 상태와 처리 요구에 관한 정보를 마스터가 전송 받는 단계, 슬레이브들의 상태와 처리요구정보에 대응하는 다수의 명령 데이터를 이중화하여 공통주소를 가지는 데이터 프레임으로 전송하는 마스터 데이터 프레임 전송단계와 슬레이브들에게 공통 주소가 설정되며, 공통 주소를 가지는 데이터 프레임을 수신하여 미리 설정된 위치에 대응하는 자기 데이터를 수신하여 명령을 수행하는 슬레이브 수신단계와, 자기 데이터의 수신에 의한 명령을 수행한 후 자신의 공통 주소를 고유 주소로 변경하여 자신의 상태 및 요구사항의 정보를 설정하고, 공통 주소로 천이하는 슬레이브 주소 변경단계를 포함하여 이루어진다.[2] 말 그대로 마스터는 입력,출력이 두 가지가 가능하지만 슬레이브는 입력만 가능하다. 마스터에서 특정 데이터값을 슬레이브에 요청하면 슬레이브는 마스터의 요구에 따라 데이터 프레임을 설정하고 마스터에게만 전달하는 입장이다. 하나의 마스터에 여러개의 슬레이브를 붙여 사용할 수 있다. 이러한 규칙에 맞추어 작동하는데 이러한 마스터-슬레이브 구조가 고가용성을 위한 구조가 되는 이유는 바로 센티넬(Sentinel)의 역할 때문이다. 센티넬은 마스터와 슬래이브가 제대로 동작하는지 지속적으로 감시(모니터링)한다. 만약 시스템 운영중에 마스터가 다운됐을 경우, 슬레이브만 작동하게 되어 입력 동작만 수행할 수 있다. 따라서 다운타임이 증가하게 되고 가용성은 떨어지게 된다. 이때, 마스터가 복구되지 않은 경우 관리자의 간섭 없이 슬레이브를 마스터로 승격 시켜주고 기존의 마스터는 슬레이브로 강등되어 복구 후에 새로운 마스터에 대한 슬레이브의 기능을 수행하게 된다. 센타넬은 감시하고있는 객체들 페일오버됐을때 사용자에게 알리거나 관리자에게 이메일 또는 SMS로 알린다.[3]

서버 이중화

서버 이중화 방식중에는 복제, 다중화, 다양화 방식이 존재한다. 그 중에서 다중화 방식을 사용하여 데이터를 전송 및 서버를 관리하는것이 액티브-스탠바이 방식이다. 서버 다중화 방식은 서버의 고가용성(HA)을 높이는데 사용된다. 다중화 구성에는 다중화된 요소를 모두 이용할 수 있는 액티브-액티브 방식과 다중화된 요소 중 한쪽은 사용할 수 없는 액티브-스탠바이 두 종류가 있다. 액티브-스탠바이 방식은 스탠바이의 방식에 따라 다시 세 종류로 나뉘게된다. 기술적으로 구현이 가능하면 액티브-액티브 방식이 가장 가동률이 좋다. 그 이유는 이전 데이터를 저장하지 않은 방식이라면 액티브-액티브를 비교적 쉽게 구현할수 있다. 대표적인 예로 웹 서버에서 로컬 스토리지나 임시 파일등을 이용하지 않은 경우에 간단하게 구현이 가능하다. 기본적으로 액티브-액티브 방식이 최대한 이전데이터를 저장하지 않는 방식으로 해야지만 속도가 빠르고 가용성이 좋다. 액티브-스탠바이 구조는 구성도 쉽고, 관리자 입장에서 운영도 쉬우며, 운영 서버, 활성 서버, 대기 서버로 구성되어 있다. 한 서버가 활성 상태로 서비스 중일 때, 대기 서버는 전원이 켜져 있고 운영체제까지만 올라와 있는 상태이다. 동작 방식은 활성 서버에 하드웨어 장애, 네트워크 장애, 프로세스 장애 등이 발생해 서비스를 못하게 되면, 대기 서버에 있는 이중화방식이 운영 서버의 장애 발생을 감지하고 자동으로 스탠바이에 모든 서비스를 올리게 된다. 즉, 단방향으로 페일오버를 구성하게 된다. 기존 활성 서버에 접속했던 클라이언트는 접속이 끊어지겠지만, 재접속 시 바로 서비스를 받을 수 있다.

액티브-스탠바이 방식
구성단계 상세내용
핫(Hot) 스탠바이 스탠바이를 가동 후 즉시 이용가능한 구성
웜(Warm) 스탠바이 스탠바이를 가동 후 이용가능하게 하기 위해서 나름대로의 준비가 필요한 구성
콜드(Cold) 스탠바이 스탠바이측을 정지시켜 두는 구성
[4]




문제점

활용도



작동원리

논란

각주

  1. 김나래 기자, 〈마이크로소프트 깃허브, '마스터·슬레이브' 용어 없앤다〉, 《씨넷 코리아》, 2020-07-28
  2. 김석원, 〈마스터-슬레이브간의 멀티플렉싱 프로토콜〉, 《구글》, 1997-05-17
  3. 권택현, 〈고가용성을 위한 Master-Slave Architecture〉, 《미디엄》, 2020-01-31
  4. 불곰, 〈서버 다중화(Active-Active, Active-Standby〉, 《티스토리》, 2016-08-25

참고자료


같이 보기


  의견.png 이 액티브-스탠바이 문서는 하드웨어에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.