Swift

띵기·2025년 8월 18일

OpenStack (구성요소)

목록 보기
8/8

Swift (Object Storage Service)

  • 정의: Swift는 Openstack의 오브젝트 스토리지 서비스
  • 주요 특징
    • 데이터를 "파일 단위"가 아니라 "오브젝트(object)" 단위로 저장
    • 확장성과 내결함성을 고려해 설계 (수평 확장, 다중 복제)
    • Amazon S3, Google Cloud Storage와 유사
  • 용도
    • 백업/아카이브 저장소
    • 정적 웹 호스팅
    • Glance 이미지 백엔드 저장소로 활용 가능
  • Cinder와 비교
    • Cinder: VM에 attach 가능한 블록 스토리지
    • Swift: 독립적으로 접근하는 오브젝트 스토리지 (VM에 attach 불가, API로 접근)

아키텍처 구성요소

구성요소역할
Proxy Server클라이언트 요청 수신, 인증/라우팅
Account Server계정 메타데이터 관리
Container Server컨테이너(버킷) 관리
Object Server실제 오브젝트 데이터 저장
Ring오브젝트 분산 저장 위치를 관리하는 매핑 테이블

동작 흐름

  1. 사용자가 Swift API/CLI를 통해 오브젝트 업로드 요청
  2. Proxy Server가 요청을 받아 적절한 Object Server에 저장
  3. Ring을 이용해 어느 노드에 저장할지 결정
  4. 다중 복제(기본 3중화)로 데이터 안정성 확보
  5. 조회 시 Proxy Server가 해당 노드에서 오브젝트 반환

Swift 기본 명령어

컨테이너 생성

openstack container create my-container

오브젝트 업로드

openstack object create my-container testfile.txt

오브젝트 다운로드

openstack object save my-container testfile.txt

컨테이너/오브젝트 목록 확인

openstack container list
openstack object list my-container

오브젝트 삭제

openstack object delete my-container testfile.txt

상태 확인

openstack container list
openstack object list <container>

운영 팁

  • 장애 발생 시
    • Ring 재빌드 필요 여부 확인
    • Object Server 디스크 용량 점검
    • Proxy Server 부하 분산 상태 확인
  • 로그 경로
    • /var/log/kolla/swift
profile
노력보다는 즐기는 사람이 되고 싶습니다.

0개의 댓글