목록전체 글 (42)
Tess's Infra Engineering Journey
Docker/Podman의 실행 구조와 차이를 이해하기image / container / volume / network를 운영 관점에서 구분하기컨테이너가 안 뜨거나 통신 안 될 때 기본 점검 순서를 익히기1. Image와 Container이 둘을 확실히 구분하면 절반은 끝이야.Image= 실행 전 템플릿= read-only layer 묶음Container= image를 실제로 실행한 instance= process + writable layer예를 들어:docker pull nginx하면 image를 받는 거고,docker run nginx하면 그 image로 container를 하나 실행하는 거야.같은 image로 container 여러 개 띄울 수 있어.nginx image ├─ container A..
Container가 VM과 어떻게 다른지 구조적으로 이해하기namespace, cgroup, filesystem이 container를 만드는 핵심이라는 걸 이해하기Docker/Podman 장애가 나면 host Linux 기준으로 어디부터 볼지 감 잡기1. Container는 “작은 VM”이 아니다가장 먼저 이거부터.VM:Physical Server └─ Hypervisor ├─ VM1 │ └─ Guest OS └─ VM2 └─ Guest OSContainer:Physical Server └─ Host Linux Kernel ├─ Container A ├─ Container B └─ Container CContainer는 자기 k..
load average, CPU utilization, run queue의 차이를 이해하기top, vmstat, pidstat를 각각 언제 쓰는지 구분하기CPU saturation인지, I/O wait인지, 특정 프로세스 문제인지 판별하기1. CPU 사용률이 높다 ≠ CPU가 부족하다예를 들어 128 CPU 서버에서:CPU usage = 90%라고 해도 반드시 문제는 아니야.128개 중 대부분이 유용하게 일하고 있을 수도 있지.반대로:CPU usage = 30%인데도 사용자는 느리다고 할 수 있어.왜냐하면 특정 프로세스가:single-thread라 한 코어만 100% 쓰고 있거나I/O를 기다리거나lock을 기다리거나NUMA 문제로 느릴 수도 있기 때문이야.즉 먼저 봐야 할 건:CPU를 많이 쓰는가?vsC..
장애를 증상 → 범위 → 최근 변경 → 계층별 확인 순서로 쪼개는 습관 만들기CPU/Memory/Network 같은 개별 지표보다 먼저 어디까지 정상인가?를 판단하기재시작 전에 반드시 남겨야 할 증거와 명령을 익히기1. 장애 대응에서 SRE 관점으로 질문하기1. 정확히 뭐가 안 되는가?2. 누구에게 안 되는가?3. 언제부터 안 되었는가?4. 어디까지는 정상인가?5. 직전에 무엇이 바뀌었는가?6. 어느 계층이 의심되는가? 2. Symptom -> Scope 증상을 구체화 1) 서버 전체가 느린 경우uptimetopvmstat 1*vmstat(Virtual Memory Statistics)CPU / process / memory / swap / I/O 상태를 한 번에 빠르게 보는 명령procs -------..
이직을 위해 포트폴리오 만들 겸 공부도 할 겸 다시 시작했던 기술 블로그..이후 이런 저런 일들이 생겨 글은 업로드 하지 못했다. 업무적으로는 기존에 구축했던 시스템 관리+최적화, 로컬 LLM 활용한 RAG시스템을 새로 구축하는 일에 몰두했다.개인적으로는 그동안 계획한 것들(이직하지 않고 현재 회사에 정착하기를 포함한)을 뒤흔드는 일을 겪었다.그 후 현재에 타협하지 않기로 결정했고, 적극적으로 구직을 하기 시작했다. 마침 가고 싶었던 회사중 한곳에서(외국계라 수시채용임) infra 직무 공고가 딱 떴다. 5 + years experience를 요구했으나, 반도체 설계라는 상당히 좁은 업계에서나와 같은 직무를 경험한 사람은 아주 소수일거라는 당당함(!) 으로 지원해보기로 했다.영문 resume를 대충 작성..