메모리 개념 정리 - 가상 메모리, 물리 메모리, 페이징, 커밋
·
Linux
개요운영체제가 메모리를 관리하는 방식은 단순히 "RAM에 데이터를 올린다"는 것 이상으로 복잡한 구조를 가집니다. 프로세스는 실제 물리 메모리보다 훨씬 넓은 주소 공간을 사용할 수 있고, 운영체제는 이를 투명하게 관리합니다. 이 글에서는 가상 메모리, 물리 메모리, 페이징, 커밋 등 메모리 관리의 핵심 개념들을 정리해봤습니다. 1. 물리 메모리 (Physical Memory)물리 메모리는 시스템에 실제로 장착된 RAM을 의미합니다. CPU가 직접 접근할 수 있는 실제 저장 공간으로, 용량은 하드웨어에 의해 고정됩니다. 이 물리 주소 공간은 개념적으로 0번지부터 시작하는 선형 주소 공간입니다. CPU는 메모리 버스를 통해 이 물리 주소에 직접 접근합니다. 32비트 시스템에서는 주소 공간이 최대 2³² =..
가상머신 디스크 이미지 포맷
·
Cloud
개요가상화 환경에서 VM을 생성하려면 디스크 이미지가 필요합니다. 이때 사용되는 이미지 포맷은 하이퍼바이저 종류나 환경에 따라 다양하며, 각 포맷마다 성능과 기능 면에서 차이가 있습니다. 이 글에서는 주요 디스크 이미지 포맷들의 특징을 정리하고, OpenStack Glance에서 어떻게 활용되는지 간단히 소개합니다. 1. 디스크 이미지 포맷 간단 소개포맷개발사주요 사용 환경raw-KVM, Xenqcow2QEMUKVM, QEMUvmdkVMwareESXi, Workstationvhd / vhdxMicrosoftHyper-V, XenServervdiOracleVirtualBox, QEMUiso-범용ploopVirtuozzoVirtuozzo 컨테이너ami / aki / ariAmazonAWS EC22. 포맷별 ..
Proxmox 디스크 모니터링 자동화 + Discord 알림 설정
·
Cloud
개요현재 홈서버에서 오래된 디스크를 통해서 서비스를 운용하고 있는데, 디스크 모니터링에 대한 필요성이 느껴져서 고민하다가 아래와 같이 Proxmox의 기본 알림시스템을 Discord로 변경하여 이상치 발생 시 편하게 알림을 받을 수 있도록 구성하였습니다. 1. Proxmox 알림 시스템Proxmox VE는 다양한 시스템 이벤트에 대한 통합 알림(Notification) 시스템을 제공합니다. 백업 완료, VM 상태 변화, 시스템 경고 등 다양한 이벤트를 여러 채널로 전송할 수 있습니다.1.1 지원하는 알림 타겟Proxmox는 다음과 같은 알림 방법을 지원합니다.Sendmail: 시스템 메일 (Postfix 사용)SMTP: 직접 메일 서버 연결Gotify: 자체 호스팅 푸시 알림 서버Webhook: HTTP..
오픈소스 네트워킹
·
Network
1. 개요1.1. 배경과거 네트워크 시장은 Cisco, Juniper 등 소수의 리딩 벤더들이 제공하는 하드웨어 중심의 통합 솔루션이 지배했습니다. 이러한 전통적인 구조는 높은 안정성과 성능을 제공하는 대신, 장비의 도입 단가가 높고 특정 벤더의 생태계에 종속되는(Vendor Lock-in) 경향이 있었습니다. 하지만 클라우드 컴퓨팅의 발전과 데이터 센터 규모의 폭발적 성장에 따라, 통신사와 클라우드 기업들은 보다 유연한 운영을 위해 하드웨어와 소프트웨어를 분리하고 화이트박스(WhiteBox) 스위치 위에서 구동되는 소프트웨어 정의 네트워킹(SDN)으로의 전환을 추진했습니다. 이를 통해 네트워크는 특정 장비에 국한되지 않고, 누구나 검증하고 개발에 참여할 수 있는 오픈소스 기술의 핵심 영역으로 확장되고 ..
TCP Nagle 알고리즘
·
Network
1. TCP Nagle 알고리즘1.1. 왜 필요했는가?1980년대 초반 ARPANET 네트워크에서 작은 크기의 패킷이 과도하게 생성되어 네트워크 효율이 급격히 저하되는 문제가 발생했습니다. 특히 Telnet과 같은 대화형 서비스에서는 사용자가 입력한 1바이트의 데이터를 전송하기 위해 20바이트의 TCP 헤더와 20바이트의 IP 헤더가 결합되어 총 41바이트의 패킷이 생성되었습니다. 이로 인해 실제 데이터 대비 헤더가 40배 더 커지는 비효율이 발생했으며, 이러한 작은 패킷들이 네트워크 대역폭을 점유하여 혼잡을 가중시켰습니다. John Nagle은 이러한 네트워크 혼잡 제어 및 대역폭 효율화를 위해 1984년 RFC 896을 통해 Nagle 알고리즘을 제안했습니다.1.2. 동작 원리Nagle 알고리즘은 전..
Magnum CAPI
·
Cloud
1. OpenStack Magnum 소개OpenStack Magnum은 Kubernetes-as-a-Service(K8s-aaS) 를 제공하는 OpenStack의 핵심 프로젝트입니다. 사용자는 복잡한 인프라 설정 없이 OpenStack API 호출만으로 즉시 사용 가능한 쿠버네티스 클러스터를 생성할 수 있습니다. 기존의 Magnum은 Heat 기반 오케스트레이션 방식을 통해 쿠버네티스 클러스터를 제공하고 있었습니다. 그러나 후에 소개할 Heat 기반 드라이버의 한계 때문에 쿠버네티스 생태계의 표준인 Cluster API 기반 아키텍처로 전환하고 있습니다. 2. Heat 기반 드라이버기존 Magnum은 OpenStack의 오케스트레이션 서비스인 Heat를 사용해 VM, 네트워크, 스토리지 등의 인프라 리소..