전체 글(385)
-
Overlay Driver
Overlay Driver란?Overlay Driver는 Linux 커널의 OverlayFS(Overlay Filesystem)를 기반으로 한 컨테이너 스토리지 드라이버입니다. Docker, Podman과 같은 컨테이너 플랫폼에서 사용되며, 컨테이너의 이미지 레이어를 효율적으로 관리하는 데 활용됩니다.Overlay Driver는 여러 파일 시스템 레이어를 겹쳐서 하나의 통합 파일 시스템처럼 작동하도록 설계되었습니다. 이를 통해 컨테이너마다 독립적인 파일 시스템을 제공하면서도, 디스크 사용량을 줄이고 성능을 향상시킬 수 있습니다.OverlayFS의 핵심 개념OverlayFS는 읽기 전용 레이어와 읽기-쓰기 레이어를 조합하여 동작합니다:Lowerdir (읽기 전용 레이어):기본 이미지 파일 시스템입니다.변경..
2024.11.20 -
ext4 파일 시스템
ext4 파일 시스템이란?ext4(4th extended filesystem)는 리눅스 커널에서 사용되는 현대적인 저널링 파일 시스템으로, 이전 버전인 ext3와 비교해 성능, 안정성, 확장성을 대폭 개선한 버전입니다. ext4는 현재 리눅스의 기본 파일 시스템으로 널리 사용되며, 대용량 스토리지와 현대적인 컴퓨팅 환경을 지원하도록 설계되었습니다.ext4의 주요 특징대용량 지원최대 파일 크기: 16TiB최대 파일 시스템 크기: 1EiB최대 디렉토리 항목 수: 10억 개 이상저널링 지원데이터 일관성을 유지하기 위해 변경 내용을 기록(저널링)합니다.저널링 모드:Writeback: 메타데이터만 기록, 데이터는 나중에 기록.Ordered: 메타데이터를 먼저 기록한 후 데이터 기록.Journal: 메타데이터와 데..
2024.11.20 -
MNT 네임스페이스
MNT 네임스페이스란?Linux에서 MNT 네임스페이스(Mount Namespace)는 파일 시스템의 마운트 포인트를 격리할 수 있는 기능입니다. 프로세스마다 독립적인 마운트 정보를 가지도록 하여, 한 네임스페이스에서의 파일 시스템 변경이 다른 네임스페이스에 영향을 주지 않게 만듭니다. 이는 Linux 네임스페이스 중 하나로, 프로세스 격리와 컨테이너 기술의 중요한 구성 요소입니다.MNT 네임스페이스의 주요 개념마운트 포인트:마운트 포인트는 파일 시스템 계층에 디바이스나 디렉토리를 연결하는 지점을 말합니다.MNT 네임스페이스는 이 마운트 포인트를 네임스페이스별로 독립적으로 관리할 수 있도록 합니다.독립성:각 네임스페이스는 파일 시스템 계층을 독립적으로 유지합니다.한 네임스페이스에서 수행된 마운트 또는 언..
2024.11.20 -
Apache Tomcat Server Arch
1. Tomcat 서버 역사와 소개아파치 톰캣(Apache Tomcat)은 1999년에 서블릿(Java Servlets) 및 JSP(JavaServer Pages) 사양을 구현하기 위해 개발된 오픈소스 웹 애플리케이션 서버입니다. 원래 자카르타 프로젝트의 일부로 시작되었으며, Sun Microsystems(현재 Oracle)의 지원을 받아 Java 기반 웹 애플리케이션의 표준 플랫폼이 되었습니다. 톰캣은 가볍고 빠르며, Java EE 애플리케이션 서버(예: JBoss, WebLogic)보다 더 단순한 구조를 가지고 있어, 소규모 또는 중형 웹 애플리케이션에 적합합니다.2. 톰캣 서버의 Service톰캣 서버는 하나 이상의 Service를 구성하여 여러 요청을 처리할 수 있습니다. 각 서비스는 클라이언트 ..
2024.11.19 -
AWS EC2 Docker 설치 및 Docker 권한 추가
AWS EC2 Docker 설치1. 패키지 업데이트$ sudo apt update2. https관련 패키지 설치$ sudo apt install apt-transport-https ca-certificates curl software-properties-common 명령어 구성 apt-transport-https: APT가 HTTPS 프로토콜을 통해 패키지를 다운로드할 수 있도록 지원하는 모듈. HTTPS는 패키지 다운로드 시 데이터 암호화를 제공하므로 더 안전한 방법. ca-certificates: HTTPS 연결을 위해 필요한 인증서를 제공하는 패키지. 시스템에서 신뢰할 수 있는 인증서를 관리하여 안전한 네트워크 통신을 지원. curl: 커맨드 라인 기반 파일 전송 도구로, HTTP, HTTPS, F..
2024.11.18 -
리눅스 완전 공정 스케줄러(CFS: Completely Fair Scheduler)
CFS리눅스의 완전 공정 스케줄러(CFS: Completely Fair Scheduler)는 리눅스 커널 2.6.23(2007년)에서 도입된 프로세스 스케줄링 알고리즘입니다. 기존의 O(1) 스케줄러를 대체하여 시스템의 CPU를 프로세스에 보다 공정하게 분배하는 것을 목표로 설계되었습니다.CFS의 주요 특징공정성 보장CFS는 "공정"함을 강조하며, 각 프로세스가 실제로 소비한 CPU 시간을 기준으로 스케줄링합니다.모든 프로세스가 가상 런타임(Virtual Runtime) 값을 가지며, CPU를 더 많이 사용한 프로세스는 가상 런타임이 증가합니다. CFS는 가상 런타임이 가장 낮은 프로세스를 우선적으로 실행하여 공정성을 유지합니다.RB-Tree 자료구조 사용CFS는 레드-블랙 트리(Red-Black Tre..
2024.11.17