분류 전체보기 209

[DB] DBeaver 를 이용하여 DB backup 파일 만들기

1. DB backup 의 필요성데이터베이스를 운영하거나 사용하다 보면 꼭 필요한 작업 중 하나가 바로 백업(Backup) 이다. 예기치 못한 장애나 실수로 인해 데이터가 손실될 수 있기 때문에, 정기적인 백업은 필수라고 할 수 있다.오늘은 무료 오픈소스 DB 관리 툴인 DBeaver를 활용하여 간단하게 백업 파일을 만드는 방법을 정리해보려 한다. DBeaver는 GUI 환경에서 직관적으로 DB를 관리할 수 있어서, SQL 명령어에 익숙하지 않더라도 쉽게 백업을 진행할 수 있다. 2. 테스트 환경OS: Windows 11DBMS: MariaDB 10.6도구: DBeaver 24.x (Community Edition)DBMS 종류는 MySQL, PostgreSQL, Oracle 등 어떤 것을 사용해도 기본..

DB 공부 2025.09.15

[ETC] 긴 프로세스 명령어, systemd 서비스로 정의하여 사용하기

집에서 사용하는 미니PC 서버는, Ubuntu 2개, 윈도우 1개를 실행하면 너무 힘든나머지 정신이 나가버린다. (Down) 이럴때마다 만들어 놓은 서비스들이 죽어서 다시 하나하나 실행해줘야 하는 번거로움이 생긴다. 새로운 세션으로 접속하여 명령어 history도 없어지면 그 긴 서비스 시작 명령어를 다시 찾기란 매우 번거롭다. 이럴때 system 에서 관리하는 주요 서비스처럼 내가 만든 서비스나 프로세스를 예약어로 등록해서 실행하면 좋겠다는 생각을 했고 아니나 다를까 systemd 에 등록하여 사용할 수 있는 방법을 알게 되었다. 바로 알아보도록 하자. 1. 도입 – 왜 이게 필요할까?매번 서버를 켤 때마다 python3 -m uvicorn app.main:app --host 0.0.0.0 --por..

CS 공부/기타 2025.09.08

[ETC] 트래픽 흐름에 대해서 알아보기

모름지기 네트워크라고 하면, 연결된 상태에서 상호간의 의사전달이 되는 것을 의미한다고 할 수있다. 즉 서로가 연결되어 있고 전달하고자 하는 메시지가 왔다갔다 해야 한다는 것인데, 네트워크 연결을 위해서는 각각의 장비들에 설정해줘야 할 것들이 있고, 이 설정 값들이 잘못되면 서로 통신하지 못하는 문제가 생기게 된다. 실무에서 내 기기와 통신하고 싶은 목적지 장비가 통신이 안되면 생각해 봐야할 장애물(?) 들이 있는데, 어제 방화벽에 대해 알아봤으니, 이제는 내가 파악하고 있어야 할 네트워크 경로에 대해 한 번 더 정리해보려 한다. 즉 어떤 설정을 필수적으로 해 주어야 양 기기간 통신이 가능한지 되짚어 보도록 한다. 1. 네트워크 통신을 위해 필요한 기본 설정내 장비 A가, 목적지 장비 B 와 통신하려면 ..

CS 공부/기타 2025.09.04

[ETC] 방화벽에 대해 자세히 알아보자

소프트웨어 끼리 통신하기 위한 네트워크를 구성, 설정 하거나, 특정 장비로 트래픽을 보낼때 단번에 되지 않으면 꼭 생각나는 것이 바로 방화벽 설정 유무이다. 내가 설정을 잘 해도 이 방화벽이 떡 하니 가로막고 있으면 일단 "기분이 팍 상해부렀어~" 가 된다.오늘은 방화벽에 대한 개념과 종류들에 대해 좀 더 자세히 알아보고 실무에서 방화벽 때문에 내가 설정을 잘 했으니 당당하게 방화벽 상태를 체크하거나 해제해 달라고 할 수 있는 사람이 되어보자. 1. 방화벽이란 무엇인가?방화벽(Firewall)은 네트워크를 지나는 데이터 패킷을 검사하고, 허용하거나 차단하는 보안 기술이다. 쉽게 말해, 네트워크 세계의 출입문이다. 출입문에는 누구는 들어올 수 있고, 누구는 못 들어온다라는 규칙이 있다. 즉 서버 컴퓨터와..

CS 공부/기타 2025.09.03

[ETC] 다중 인터페이스 환경에서의 라우팅 테이블 설정

서버 장비에는 기본적으로 2개 이상의 랜포트(NIC, Network Interface Card)가 탑재되는 경우가 많다.이는 하나의 서버가 동시에 여러 네트워크 망에 연결될 수 있도록 하기 위함이다.예를 들어, 하나의 포트는 내부 관리망(예: 10.8.x.x)과 연결하고, 다른 하나는 서비스망(예: 168.16.x.x)과 연결하여 서로 다른 트래픽을 분리할 수 있다. 이렇게 하면 보안과 성능 관리 측면에서 유리하다. 하지만 이렇게 랜 포트에 각각 다른 대역의 네트워크 망을 설정했을 때, 가끔 A 네트워크 내의 장비로 가야 할 트래픽이, B 네트워크 인터페이스를 통해 가려고 해서 통신이 안되는 경우가 발생한다. 이 때는 직접 장비 대역을 네트워크 인터페이스 A 를 통해 A 네트워크 대역으로(게이트웨이로) ..

CS 공부/기타 2025.09.02

[ETC] UDP 가 Session 을 유지하면 TCP 나 다름없을까?

소프트웨어나 특정 패키지를 설치파면서 네트워크 설정을 하다 보면 종종 "해당 프로그램은 TCP 포트를 양방향으로 열어야 한다"라는 요구 사항을 접하게 된다. 얼핏 보면 TCP는 본래 양방향 통신이 가능한 프로토콜인데 왜 굳이 '양방향'을 강조할까? 반면 UDP는 세션이 없어도 양방향 통신이 가능한 것처럼 보이는 경우가 있다. 오늘은 TCP와 UDP의 통신 방식, 방화벽에서의 차이, 그리고 세션(Session)의 개념을 함께 정리해본다. 1. TCP와 UDP의 기본 특성- 네트워크와 리눅스 등을 공부하며 지겹게 접한 개념이지만, 반복해서 나쁠 것은 없기 때문에 각 프로토콜의 특징을 다시 한 번 정리 하고 숙지한다. TCP (Transmission Control Protocol)연결 지향적 프로토콜이다. 3..

CS 공부/기타 2025.09.01

[ETC] 카프카 properties 파일 세부 분석

카프카야 제발 분리해서 기동해 줘!! 1. server-n.properties 분석# ── 역할 지정 (KRaft)process.roles=broker,controller# 이 프로세스가 브로커와 컨트롤러 역할을 동시에 수행한다는 뜻.# controller-only 또는 broker-only로도 가능(그럴 땐 해당 역할만 기입).# ── 고유 노드 IDnode.id=1# 클러스터 내에서 유일해야 함. log.dirs 안의 meta.properties에 저장되며,# 여기 값과 meta.properties의 node.id가 다르면 부팅 실패.# ── KRaft 쿼럼(컨트롤러 합의) 멤버controller.listener.names=CONTROLLERcontroller.quorum.voters=1@ctrl-n..

CS 공부/기타 2025.08.28

[ETC] ESXi란 무엇인가?

1. ESXi란 무엇인가? VMware ESXi는 서버 가상화를 위한 대표적인 하이퍼바이저(Hypervisor) 이다. 운영체제 위에서 동작하는 소프트웨어가 아니라, 서버 하드웨어 위에 직접 설치되는 구조를 가지고 있다. 이러한 방식을 베어메탈 하이퍼바이저(Type-1 Hypervisor) 라고 부른다.ESXi를 설치하면 서버 자원을 논리적으로 나누어 여러 개의 가상 머신(Guest OS)을 실행할 수 있으며, 각각의 VM은 독립적인 운영체제 환경처럼 동작한다. 기업 환경에서 서버 자원을 효율적으로 사용하기 위해 널리 활용된다. 2. 베어메탈(Bare Metal)의 개념“Bare metal”은 직역하면 “맨 금속”이라는 뜻으로, IT에서는 운영체제가 설치되지 않은 순수한 하드웨어 상태를 의미한다.서버를 ..

CS 공부/기타 2025.08.26

[ETC] 두 PC에 Kafka 브로커 분리 설치 및 클러스터 검증 실습

1. 브로커와 컨트롤러의 개념브로커(Broker)Kafka에서 데이터를 실제로 저장하고 서비스하는 주체프로듀서(Producer)가 보낸 메시지를 저장하고, 컨슈머(Consumer)가 가져가도록 제공브로커 여러 개가 있으면 파티션 단위로 데이터를 분산 저장하고 복제컨트롤러(Controller)클러스터의 두뇌 역할브로커들의 상태를 관리, 리더 선출, 토픽 메타데이터 관리Kafka KRaft 모드에서는 컨트롤러끼리 Raft 합의를 통해 과반수 투표로 리더를 선출즉, 브로커 = 데이터 저장소, 컨트롤러 = 클러스터 관리자 이다. 여기서 중요한건, 컨트롤러들은 대표를 선출해야하기 때문에 서로간 통신이 필요하고, 만약 컨트롤러가 분리되어 설치되어 있다면, 각 포트를 양방향 TCP 로 개방해주어야 한다는 것이다. 브..

CS 공부/기타 2025.08.24

[ETC] KAFKA 복습 및 설정 템플릿

1. 카프카 개념과 구조 요약브로커(Broker): 카프카 서버 프로세스 1개. 로그를 저장하고 클라이언트 요청을 처리함.노드(Node): 브로커가 떠 있는 머신(VM/서버). 보통 “노드=브로커 1:1”.클러스터(Cluster): 같은 cluster.id 를 공유하는 브로커들의 집합.토픽(Topic): 이름 있는 로그 스트림(예: orders).파티션(Partition): 토픽을 병렬 처리·확장하기 위한 샤드. 각 파티션은 append-only 로그.리더/팔로워(Leader/Follower): 파티션의 리더 1개가 쓰기·읽기를 주도, 나머지는 복제.복제(Replication): 각 파티션을 여러 브로커에 복사(RF=2/3…). 장애시 가용성↑.컨슈머 그룹(Consumer Group): 같은 그룹의 컨슈..

CS 공부/기타 2025.08.22