더북(TheBook)

2.4.3 Swift Ring의 개념

Swift 역시도 Nova를 구성할 때와 마찬가지로 스토리지 노드가 여러 대 있습니다. 각 스토리지 노드에는 swift-account-server, swift-container-server, swift-object-server가 실행됩니다. 이때 서버들은 관리자가 설정한 해당 포트(예 : Account-6002, Container-6001, Object-6000)로 서로 통신합니다. 그리고 스토리지 노드 중 하나라도 손상이 되면 데이터를 잃지 않도록 데이터 복제(Replica) 프로세스가 함께 실행됩니다. 스토리지 노드 여러 대는 자신이 관리하는 데이터를 서로 공유하려고 이름이 Ring(링)인 파일로 어떤 노드가 스토리지 노드인지, 어떤 데이터가 있는지 인지합니다.

그래서 Ring 파일에는 디바이스 정보가 들어 있는데 그 내용은 그림 2-23과 같습니다. Ring 파일은 디바이스를 구분하는 ID, 존(Zone) 번호, 스토리지 노드 IP, 포트, 디바이스 이름, 디바이스 비중, 기타 디바이스 정보를 포함합니다. Ring 파일은 프록시 노드에서 생성해 모든 스토리지 노드가 동일하게 가지고 있습니다.

▲ 그림 2-23 Swift Ring의 개념

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.