목록Infra (13)
내 잡다한 노트
1. Active-Standby란?Active-Standby 구성은 하나의 시스템(Active)이 동작 중일 때, 다른 시스템(Standby)은 대기 상태로 유지되는 구조를 의미합니다.목적: 고가용성(HA, High Availability)을 보장하기 위해 준비된 대기 시스템을 마련하는 것.Standby 시스템은 Active 시스템이 실패했을 때 동작을 시작하도록 설계됩니다.이 개념은 수동 또는 자동으로 동작 전환(Failover)을 구현할 수 있습니다. 2. Auto-Failover란?Auto-Failover는 Active 시스템에 장애가 발생했을 때, Standby 시스템으로 자동으로 전환하는 메커니즘을 의미합니다.Auto-Failover는 추가적인 메커니즘이나 소프트웨어(예: 클러스터링 툴, 장애 ..
HDFS(Hadoop Distributed File System)와 NFS(Network File System)는 둘 다 파일을 저장하고 액세스하는 시스템이지만, 설계 목적과 작동 방식이 크게 다르기 때문에 NFS와 같은 일반적인 파일 스토리지와는 본질적으로 다른 점이 있습니다. 아래에서 그 차이를 더 자세히 설명하겠습니다.HDFS와 NFS의 주요 차이1. 설계 목적NFS:네트워크 상에서 중앙 서버의 파일을 여러 클라이언트가 공유할 수 있도록 설계된 일반적인 파일 스토리지입니다.주로 POSIX 호환성(일반적인 파일 시스템 표준)을 유지하며, 파일 읽기/쓰기 작업에 적합합니다.워크로드: 일반적인 애플리케이션 파일 접근, 소규모 데이터 공유.HDFS:대용량 데이터를 분산 저장하고 처리하기 위해 설계된 빅데이..
pNFS(Parallel Network File System)는 전통적인 NFS(Network File System)의 확장으로, 대규모 데이터 처리와 고성능이 요구되는 환경에서 더욱 향상된 성능을 제공하기 위해 설계되었습니다. pNFS는 특히 빅데이터, 고성능 컴퓨팅(HPC), 클라우드 스토리지 등에서 널리 사용됩니다. 아래에서 pNFS의 성능에 대해 자세히 설명드리겠습니다. 1. pNFS란 무엇인가?pNFS는 NFS 버전 4.1부터 도입된 기능으로, 기존의 NFS 서버를 통한 단일 경로 접근 방식을 벗어나, 클라이언트가 여러 스토리지 서버에 직접 접근하여 데이터를 병렬로 읽고 쓸 수 있도록 지원합니다. 이를 통해 데이터 접근 속도와 처리량을 크게 향상시킬 수 있습니다. 2. pNFS의 성능 특징병렬 ..
HPC(High-Performance Computing) 환경은 고성능 컴퓨팅을 위한 시스템과 관련된 개념으로, 방대한 계산량이나 복잡한 데이터 처리를 빠르게 수행하기 위해 설계된 컴퓨터 시스템 및 소프트웨어를 말합니다. HPC 환경은 과학 연구, 엔지니어링, 금융 분석, 인공지능, 기후 모델링, 생명 과학 시뮬레이션 등 다양한 분야에서 사용됩니다. 1. HPC 환경의 주요 구성 요소HPC 환경은 크게 다음과 같은 요소들로 구성됩니다.1-1. 컴퓨팅 노드노드(Node): 일반적으로 하나의 독립적인 컴퓨터로 구성되며, CPU, 메모리, 스토리지가 포함됩니다.멀티코어 및 멀티프로세서: 각 노드는 여러 개의 CPU 코어 또는 GPU를 포함하여 병렬 처리를 지원합니다.수십에서 수천 대의 노드가 클러스터 형태로 ..
Ansible에서 ansible.builtin 접두사는 Ansible의 내장 모듈을 명확하게 지정하기 위해 도입된 네임스페이스입니다. 이는 Ansible 2.10 버전 이후부터 추가된 개념으로, 모듈의 출처나 종류를 명확히 구분하고, 추가적인 모듈 컬렉션을 쉽게 관리할 수 있도록 하기 위함입니다.copy 모듈을 사용하려할 때, ansible.builtin을 접두사로 사용해도 되지만 내장 모듈이기 때문에 생략해도 상관없다. 1. ping 모듈서버와의 연결 상태를 확인하는 가장 기본적인 모듈입니다.서버와의 연결을 테스트하고 응답이 있는지 확인하는 용도로 사용됩니다. - name: Check connection ansible.builtin.ping:2. apt 모듈우분투나 데비안 기반 시스템에서 패키지를 ..
playbook은 작업을 자동화하기 위해 사용하는 YAML 파일로, 여러 Task를 정의하고, 이 태스크들을 다양한 호스트에서 실행할 수 있도록 한다.Ansible Playbook의 기본 구조Ansible Playbook은 다음과 같은 기본 구조를 가집니다:Playbook Header:name: Playbook이나 특정 플레이의 이름을 정의합니다.hosts: 이 플레이가 실행될 대상 호스트를 지정합니다. all, 특정 호스트 그룹, 또는 localhost 등으로 지정할 수 있습니다.vars: Playbook에서 사용할 변수들을 정의합니다.tasks: Playbook에서 수행할 작업(태스크) 목록입니다.Tasks:각 태스크는 특정 작업을 수행합니다. 예를 들어, 파일 복사, 서비스 시작, 스크립트 실행 등..
Ansible수십개의 서버에 같은 동작의 작업을 한 번에 편하게 하기 위해서 사용.IaC ( Infrastructure as Code ) 로 자주 쓰이는 도구. 또한 프로비저닝 도구 중 하나이다.프로비저닝 도구는 서버나 클라우드 인프라를 설정, 배포, 관리하는 데 사용된다.프로비저닝 도구는 다음과 같은 작업을 자동화한다.서버 설정: 운영 체제 설치, 네트워크 설정, 패키지 설치 등 초기 서버 설정 작업.소프트웨어 배포: 애플리케이션 배포, 구성 파일 배포 및 업데이트.구성 관리: 시스템 구성 상태를 관리하고 유지.오케스트레이션: 여러 서버와 서비스 간의 상호작용을 관리. Ansible의 작업은 제어 노드(Control Node)에서 수행된다. 이 제어 노드는 playbook을 실행하는 서버라고 생각하면 ..
정의 : 서버에 물리적으로 접근하지 않아도 원격으로 서버의 키보드, 비디오, 마우스를 제어할 수 있게 해주는 장치.KVM도 Keyboard Video Mouse 의 줄임말이다. 이를 통해 서버의 BIOS 설정, 부팅 과정, 운영 체제 설치 및 유지보수 작업을 원격으로 수행할 수 있다. KVM의 네트워크 포트를 네트워크 스위치에 연결하여 접속할 수 있도록 한다.KVM over IP 장치에 IP 주소를 할당한다. ip주소를 통해 웹 인터페이스에 접속한다. 웹 인터페이스에서 원격 콘솔 기능을 찾아 키보드와 마우스를 사용하여 서버를 제어한다.