개발 배경 리눅스 컨테이너는 런타임 환경에서 애플리케이션을 패키지화하고 분리하는 기술입니다. 실행에 필요한 모든 파일이 호스트 시스템과 분리되어 동작하기 때문에 컨테이너 환경에서 동작하는 프로레스는 이식과 관리가 쉽습니다. 하지만 컨테이너의 리소스가 호스트와 분리되었다고 해도 실제 스토리지에 저장되는 데이터들은 격리되지 않습니다. 즉, 하나의 스토리지를 여러 컨테이너가 공유해서 사용하고 여러 컨테이너가 동시에 한 스토리지에 접근하는 경우 I/O 간섭이 발생합니다. 만약 이러한 데이터들 사이에 격리(컨테이너 수준의 격리)가 이루어진다면 각 컨테이너들이 저장 장치에 접근할 때 I/O 간섭이 발생하지 않기에 빠르고 효율적인 처리가 가능해질 것입니다. 기존 문제점 현재 사용되는 Block Interface SS..
ZNS SSD는 현재 많이 사용되는 Block Interface SSD와는 달리 zone 단위로 읽고 쓰기 때문에 디바이스에 데이터를 접근시키기 위한 파일시스템 인터페이스가 필요합니다. Zone Storage documentation을 보면 여러가지 파일시스템을 이용한 연결 방법을 제시하고 있는데, 저는 dm-zoned를 이용해 연결하는 방법을 시도했습니다. dm-zoned-tools project hosted on GitHub로 이동하여 dm-zoned를 설치합니다. README 파일을 천천히 따라가다 보면 쉽게 설치할 수 있습니다. 설치 중간에 라이브러리가 없다고 나오는 경우가 있는데, 해당 라이브러리를 설치한 후 다시 시도하면 정상적으로 진행됩니다. 1. ZNS SSD 초기화 sudo zbd res..
Device Mapper(디바이스 매퍼)는 virtural block device를 physical block device로 매핑하는 리눅스 커널에서 제공하는 프레임워크입니다. Device Mapper는 device mapper가 지원하는 virtural block device에서 다른 블록 장치(physical block device)로 데이터를 전달하며 작동합니다. 즉 실제 물리 블럭 디바이스에 데이터를 접근시키기 위한 인터페이스라고 할 수 있습니다. ZNS SSD에 직접적으로 I/O를 실행하기 위해서는 zonefs 파일 시스템을 사용해야합니다. 그러나 현재 리눅스 컨테이너는 zonefs를 지원하지 않고 zonefs는 POSIX filesystem과 호환되지 않기 때문에 ZNS SSD에 직접적으로 I..
- Total
- Today
- Yesterday
- 피움 6주차 회고
- ZNS
- 환경 별 로깅 전략 분리
- java
- ZNS SSD
- 우테코
- dm-zoned
- 프로젝트
- CI/CD
- jpa
- Spring
- 우테코 회고
- 3차 데모데이
- 알림기능개선기
- 스프링 Logback
- 5주차 회고
- 피움
- 회고
- 스프링MVC
- dm-zoned 코드분석
- 스프링 부트
- 백준
- 8주차 회고
- 알림개선기
- 파이썬
- 런칭 페스티벌
- 네트워크
- 스프링 프레임워크
- 2차 데모데이
- 팀프로젝트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |