리눅스 부팅 프로세스
·
Linux
0. 서론리눅스 시스템이 켜질 때부터 사용자 환경이 준비되기까지의 과정은 여러 단계로 나뉜다. 1. BIOS 초기화 단계리눅스 부팅 과정에서 가장 첫 번째 단계는 BIOS 초기화다.이 단계에서 하드웨어를 준비하고 부팅 가능한 장치를 찾아 부트로더를 실행한다. 여기서 BIOS(Basic Input/Output System)는 컴퓨터가 켜질 때 가장 먼저 실행되는 펌웨어(하드웨어를 제어하는 소프트웨어)를 의미한다. 요즘에는 UEFI(Unified Extensible Firmware Interface)라는 현대적 펌웨어도 사용되는데,GPT 디스크 지원 및 GUI 부트 메뉴 등 BIOS보다 기능이 훨씬 확장된 방식이다. BIOS 초기화는 다음과 같은 과정을 거친다. 1. 전원 공급CPU, 메모리 등 필수 하드웨..
커널이란?
·
Linux
서론컴퓨터에서 프로그램을 실행하면, 사실 프로그램이 직접 하드웨어를 제어하지는 못한다.CPU, 메모리, 디스크, 네트워크 같은 하드웨어 자원은 복잡하고, 잘못 다루면 시스템 전체가 망가질 수 있기 때문이다. 여기서 커널(Kernel)이라는 개념이 등장한다. 커널이 왜 필요한가?커널이 왜 필요한지를 알기 위해, 우선 커널 없이 사용자가 하드웨어를 직접 제어해야 하는 상황을 가정해 보자. 커널이 없다면?CPU 충돌: 여러 프로그램이 동시에 CPU를 쓰려고 할 경우, 어떻게 할 것인지?메모리 충돌: 한 프로그램이 다른 프로그램의 메모리를 덮어쓸 경우, 어떻게 할 것인지?I/O 혼잡: 디스크, 네트워크 같은 자원을 여러 프로그램이 동시에 요청할 경우, 어떻게 할 것인지?보안 문제: 프로그램이 마음대로 하드웨어를..
Apache HTTP Server를 통한 HTTPS Reverse Proxy 구성
·
Docker
0. 서론이번 주 금요일, 개발사로부터 다소 갑작스러운 요청이 들어왔다.현재 WAS 서버에는 Node.js 기반의 백엔드 서버가 Docker Container 형태로 운영되고 있었는데, 기관 측의 시연 일정이 급히 잡히면서 HTTPS 프로토콜을 통한 호출이 반드시 가능해야 한다는 요청이 들어온 것이다.사실 Node.js 자체적으로도 충분히 HTTPS 서버 구성이 가능한데, 왜 이 부분이 개발 측에서 구현되지 않았는지 의문이었다.그래도 마침 여유가 있는 상황이었기 때문에, Apache HTTP Server를 Reverse Proxy로 구성하고 SSL 인증서를 적용하여 HTTPS 설정을 완료하였다. 이 과정에서 많은 것을 배웠다고 느껴, 테스트 환경에서도 동일한 구성을 다시 한번 구축해 보았다. 1. Nod..
스토리지 마운트
·
Infra
블록 스토리지 서버에 연결하기블록 스토리지를 생성한 후, 웹 콘솔을 통해 해당 스토리지를 서버와 연결한다.웹 콘솔에서 연결 작업을 하면 내부적으로 iSCSI 또는 NVMe over Fabric과 같은 프로토콜을 통해 서버와 스토리지가 연결된다. 블록 스토리지 연결 확인하기`lsblk` 명령어를 통해 블록 디바이스(디스크, 파티션, LVM 등)의 계층 구조를 확인할 수 있다.`vdb`라는 이름의 파일이 연결된 것을 확인할 수 있다. 위 `vdb`는 디바이스 파일인데, 리눅스에서 모든 하드웨어 장치는 파일 형태로 관리된다.`/dev` 디렉터리는 이러한 장치 파일을 포함하는 특수 디렉터리다. 블록 스토리지가 서버와 연결되었다고 해서 이를 바로 사용할 수는 없다.연결된 블록 스토리지는 기본적으로 파일 시스템이 ..