티스토리 뷰
ZNS
ZNS란 Zoned Namespace의 약자로, 네임스페이스(Namespace)를 존(Zone) 단위로 나눠 사용하는 기술을 말합니다. 여기서 네임스페이스는 논리 블록으로 쉽게 컴퓨터 탐색기에 보이는 C:\, D:\가 각각 하나의 네임스페이스라고 이해하면 쉽습니다. ZNS는 SSD 공간을 여러 개의 zone으로 나누어 사용할 뿐만 아니라 운영체제에서 zone을 직접 관리할 수 있는 인터페이스를 제공합니다.
과거 데이터센터에는 하나의 성능 좋은 컴퓨터(Server)에서 하나의 운영체제와 응용프로그램을 구동했습니다. 요즘에는 하드웨어 위에 다수의 가상 운영체제와 응용프로그램이 구동되는 형태입니다. 즉, 다양한 프로그램이 하나의 저장장치를 동시에 읽고 쓰는 것입니다. 따라서 데이터센터에서는 속도뿐만 아니라 다중 사용 환경에서도 서로 간섭 없이 일정한 성능을 제공하는 QoS를 갖춘 저장장치가 요구됩니다.
리눅스 컨테이너(LXC)는 가장 널리 사용되는 클라우드 플랫폼 기술로 하나의 서버에 여러 개의 독립된 컴퓨팅 환경을 구축해 사용자들에게 제공할 수 있습니다. 이 때 하나의 서버를 공유해서 사용하는 사용자들 간의 성능 간섭을 제거하는 것이 매우 중요합니다. ZNS를 이용해 각 컨테이너에 독립된 zone을 할당함으로써 컨테이너간 성능 간섭을 최소화하는 기법을 개발해보는 것이 목표입니다.
ZNS SSD
ZNS는 SSD 전체 저장 공간을 작고 일정한 용량의 구역(Zone)으로 나누고 용도와 사용 주기가 같은 데이터를 동일한 구역에 저장해 SSD를 효율적으로 활용할 수 있게 하는 차세대 기술입니다.
일반적인 SSD는 내부 저장 공간을 나누지 않고 여러개의 소프트웨어에서 생성되는 데이터를 임의로 저장합니다. 또한 데이터 쓰기와 지우기의 단위가 다르고 덮어쓰기가 불가한 NAND Flash의 특성 때문에 SSD를 사용하다보면 유효한 데이터와 불필요한 가비지(Gabage) 영역이 혼재되어 SSD의 저장 공간을 효율적으로 사용하기 어렵게 됩니다.
따라서 기존 SSD는 이를 해결하기 위해 유효한 데이터를 다른 공간으로 옮겨 쓰고, 가비지 영역만 남은 부분은 지워서 저장공간을 확보하는 ‘가비지 컬렉션(Garbage Collection)’ 작업이 필요하고 이 과정에서 추가적인 읽기/쓰기가 발생합니다.
반면 ZNS SSD는 용도와 사용주기가 동일한 데이터를 각자 정해진 구역(Zone)에 순차적으로 저장하고, 구역 단위로 지우기 때문에 '가비지 컬렉션'으로 인한 추가 R/W가 발생하지 않아 기존 SSD의 수명을 최대 3~4배 증가시킬 수 있습니다.
참고자료
'Linux' 카테고리의 다른 글
[Linux] 커널 디버깅 하는 방법 / printk, ftrace(trace_printk) (4) | 2022.10.13 |
---|---|
[Linux] 리눅스 커스텀 커널 설치하는 법 (0) | 2022.10.06 |
[Linux] cscope 설치 및 사용법 (0) | 2022.06.15 |
[Linux] 우분투 서버에서 리눅스 컨테이너(LXC) 생성하기 (0) | 2022.04.30 |
[Linux] 리눅스 컨테이너(LXC)에 대해서 알아보자 (0) | 2022.04.13 |
- Total
- Today
- Yesterday
- Spring
- 런칭 페스티벌
- 피움 6주차 회고
- 스프링 Logback
- ZNS
- dm-zoned
- 팀프로젝트
- 파이썬
- 우테코 회고
- 스프링 부트
- 8주차 회고
- 스프링MVC
- CI/CD
- ZNS SSD
- 알림기능개선기
- 3차 데모데이
- 5주차 회고
- 알림개선기
- 스프링 프레임워크
- 프로젝트
- 피움
- 회고
- dm-zoned 코드분석
- 백준
- 네트워크
- jpa
- 2차 데모데이
- 우테코
- java
- 환경 별 로깅 전략 분리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |