본문 바로가기

Linux

[draft] 우분투에서 RabbitMQ를 클러스터로 구성하고 테스트하는 방법 우분투 22.04에서 RabbitMQ를 클러스터로 구성하고 테스트하는 방법RabbitMQ 클러스터는 여러 RabbitMQ 노드를 하나의 논리적 브로커로 묶어 고가용성과 확장성을 제공합니다.주로 Mirrored Queue를 사용해 메시지를 복제하고 노드가 장애가 발생하면 다른 노드가 메시지를 유지합니다.1. 사전 준비호스트 이름 설정 : 각 서버의 호스트 이름을 설정하고 /etc/hosts 파일에 다른 서버의 IP와 호스트 이름을 추가합니다.방화벽 설정 : RabbitMQ가 사용하는 포트(기본적으로 5672, 15672, 25672 등)를 열어줍니다.3개 이상의 서버 (Ubuntu 22.04)node1 (192.168.10.101)node2 (192.168.10.102)node3 (192.168.10.10.. 더보기
[draft] OpenSSL을 사용하여 파일을 암호화하고 복호화하는 방법 OpenSSL을 사용하여 파일을 암호화하고 복호화하는 방법OpenSSL은 암호화 및 복호화를 수행할 수 있는 강력한 도구 중 하나입니다.테스트 환경운영체제 버전 및 BIT$ cat /etc/redhat-releaseCentOS Linux release 7.9.2009 (Core)$ getconf LONG_BIT64OpenSSL 버전$ openssl versionOpenSSL 1.0.2k-fips 26 Jan 2017참고: 아래의 예제에서는 대칭 키(암호화 및 복호화에 사용되는 키)를 생성하고 파일을 암호화하는 방법을 설명합니다. 이 예제에서 사용된 대칭 암호화 알고리즘은 AES (Advanced Encryption Standard)입니다.1. 대칭 키 생성먼저 대칭 키를 생성합니다. 이 키는 암호화와 .. 더보기
[draft] AMD64, X86, ARM CPU 아키텍처의 차이점 AMD64, X86, ARM CPU 아키텍처의 차이점ADM64, X86, ARM은 모두 CPU 아키텍처를 나타내는 용어입니다. 이들 아키텍처 간에는 다음과 같은 차이점이 있습니다.1. AMD64 (x86-64, x64)64비트 아키텍처로, 대부분의 최신 PC와 서버에 사용됩니다.64비트 처리와 64비트 메모리 주소 공간을 지원하므로, 32비트 시스템보다 더 높은 메모리 용량과 더 높은 처리 성능을 제공합니다.x86 아키텍처의 확장 버전이므로, x86 호환 코드와 프로그램을 지원합니다.2. X86 (IA-32)32비트 아키텍처로, 이전 세대의 PC와 서버에 사용됩니다.32비트 처리와 32비트 메모리 주소 공간을 지원하며, 최대 4GB의 메모리를 지원합니다.이전에 개발된 많은 소프트웨어와 운영 체제가 x86.. 더보기
[draft] 시스템 시간 확인과 시간 동기화하는 방법 시스템 시간 확인과 시간 동기화하는 방법rdate 패키지 설치yum install -y rdate============================================ Package Arch ============================================Installing: rdate x86_64시스템 시간 확인dateThu Jul 22 16:10:13 KST 2021타임 서버(time.bora.net) 시간 확인rdate -p time.bora.netrdate: [time.bora.net] Thu Jul 22 16:11:00 2021타임 서버와 시스템(로컬 서버) 시간 동.. 더보기
[draft] EOF를 사용한 간단한 셸 스크립트의 예시 EOF를 사용한 간단한 셸 스크립트의 예시리눅스 셸 스크립트에서 EOF(End Of File)는 주로 여러 줄의 명령어를 한 번에 실행하거나 다른 프로그램에 입력을 제공하는 데 사용됩니다. 일반적으로 1. 여러 줄 텍스트 출력#!/bin/bashcat 2. 변수와 함께 사용#!/bin/bashname="John"age=25cat 3. 명령어 실행#!/bin/bashcat 4. 입력을 다른 프로그램에 제공#!/bin/bashgrep "pattern" 5. 변수와 조건문#!/bin/bashstatus="success"if [ "$status" == "success" ]; then cat 이러한 EOF를 사용한 셸 스크립트는 여러 줄로 구성된 텍스트를 출력하거나, 변수를 사용하거나, 명령어를 실행하거나, .. 더보기
[draft] Shell Script에서 EOF(End Of File) 사용하는 방법 Shell Script에서 EOF(End Of File) 사용하는 방법덮어쓰기(파일이 없으면 생성됨)file1.txtcat file1.txthelloworldEOF$ cat file1.txthelloworldfile2.txtcat file2.txtHelloWorldEOF$ cat file2.txt HeeeoWoredfile3.txtcat > file3.txt $ cat file3.txt helloworld추가(파일 끝에 붙이기)file5.txtcat > file5.txt helloworldEOFcat > file5.txthelloworldEOF$ cat file5.txt helloworldhelloworldfile6.txtcat >> file6.txt cat >> .. 더보기
[draft] tee 명령어 tee 명령어tee 명령어는 리눅스나 유닉스 환경에서 사용되는 명령어 중 하나로 표준 입력으로부터 입력을 받아 여러 개의 출력 스트림으로 출력하는 명령어입니다. 특히 파일과 표준 출력 모두에 출력할 수 있어서 유용하게 사용됩니다.(표준출력(stdout)을 화면과 파일로 동시에 출력하는 리눅스 명령어)기본적인 구문[입력 명령어] | tee [옵션] 파일명위 명령어를 실행하면 입력 명령어를 실행하고 그 결과를 출력 파일명에 지정한 파일과 표준 출력으로 출력합니다. 만약 출력 파일명이 지정되지 않으면 tee 명령어는 표준 출력으로만 결과를 출력합니다. 출력 파일이 이미 존재하는 경우 tee 명령어는 해당 파일을 덮어쓰게 됩니다. 이를 방지하고자 한다면 -a 옵션을 사용하여 이어쓰기 모드로 파일에 출력할 수 있.. 더보기
[draft] 우분투에서 Pacemaker와 Corosync를 사용해 고가용성 클러스터를 구성하는 방법 우분투에서 Pacemaker와 Corosync를 사용하여 3대의 서버로 구성된 고가용성(HA) 클러스터를 설정하는 방법Pacemaker와 Corosync을 사용하여 HA (고가용성) 클러스터를 구성하는 것은 복잡한 프로세스일 수 있습니다. Pacemaker를 사용하여 VIP(가상 IP)와 노드 간 HA 클러스터를 설정하는 간략한 개요를 제공합니다.테스트 환경호스트 이름서버 아이피 주소도메인 이름운영체제 버전비고VIP192.168.0.120vip.cluster.local server1192.168.0.121server1.cluster.localUbuntu 22.04.3 LTS server2192.168.0.122server2.cluster.localUbuntu 22.04.3 LTS server3192.1.. 더보기