- Proxy Node
- openstack-swift-proxy (proxy 서비스) → 모든 외부의 요청을 받는다 (API)
- proxy port = 8080
- Storage Node
- openstack-swift-account
- openstack-swift-container
- openstack-swift-object → REST API로 모든 요청이 이루어진다. → web service ( rest api는 http 프로토콜로 통신하기 때문에 )
- 아주 여러개가 존재.
[ 용어 ]
- Region
- openstack에 해당하는 scope
- 물리적인 공간(위치)으로서의 데이터 단위
- 단일 region → RegionOne
- Zone
- 특정 시스템의 host / node / rack
- 복제본을 안전하게 저장할 단위
- zone의 단위는 복제본의 단위
- 복제본은 세개 이상 키는걸 추천
- 물리적으로 떨어져있는 공간에 하는것이 제일 좋다.
- Device
- HDD : MTBF → 평균 고장 시간(이정도 넘어가면 평균적으로 고장이 난다.)
- 하나의 zone안에 들어가야한다.
- Disk / Partition
- 일반적으로 disk 사용
- Device단위는 Disk 단위를 사용한다.
- Partition
- 데이터를 분산하는 단위
- 많으면 많을수록 데이터를 고르게 저장시킬 수 있다.
- 많으면 많을수록 CPU는 더 열일해야한다.
- 권장하는 최소 파티션은 100개
- FileSystem은 반드시 있어야한다.
- 외부 사용자 입장에서 볼 때는 파일 시스템이라는게 없지만 존재한다.
- 최종적으로는 블록시스템의 파일시스템에 저장을 해야한다.
- Device안에 여러개의 partition이 존재
- Directory이다.
- File
- Metadata
- Data
- UUID를 붙인다.
- 다 쪼개서(chunk) 분리 시킨다.
- 분리된 Object 하나하나를 partition에 저장한다.
- 데이터를 고르게 분배 시켜줘야된다.
- 900개의 방이 있다 치고 Data를 쪼개서 하나하나 다른 방에 저장시킨다. 복제본은 다른 zone에있는 다른 디바이스에 다른 파티션에 저장한다.
- Consistent Hash Ring
- 시작점과 끝점이 존재하고 그 사이엔 hash들이 있다.
- chunk를 hash를 떠서 그 hash에 위치하는 partition에 저장...
- 파티션 개수 = 2^파티션 파워
- cd /etc/swift swift-ring-builder account.builder swift-ring-builder container.builder swift-ring-builder object.builder 포트가 다름.
- 위의 장치들은 /srv/node/swiftloopback에 있다. lsblk loop → loopback device를 의미 losetup
'Infra > 프라이빗 클라우드 인프라' 카테고리의 다른 글
NFS를 Cinder로 사용하기 (0) | 2020.07.10 |
---|---|
Swift deivce add (0) | 2020.07.08 |
Image 생성 - error (0) | 2020.07.07 |
[ Glance with Swift backend ] (0) | 2020.07.07 |
Image 생성 (diskimage-builder) (0) | 2020.07.07 |
댓글