728x90

전체 글 198

[Selenium] Selenium에서 크롬 확장 프로그램 사용하기 (feat. Google Chrome 설치된 확장 프로그램에서 crx 파일 추출하기)

블로그에 포스팅을 정말 오랜만에 올리는 것 같다. 지금 확인해보니 11월 내내 포스팅을 하나도 올리지 않았었다. 오랜만에 포스팅을 올리는 이유는 여느 때와 같이 회사에서 Python을 이용하여 Selenium을 사용하고 있었는데 (하지만 나는 Java 개발자다) Chrome에 설치된 확장 프로그램이 selenium으로 연 chrome driver에서는 보이지 않는 것이었다. 테스트를 위해 광고 차단 확장 프로그램인 AdGuard를 설치한 Google Chrome을 준비하였다. 광고 차단 확장이 설치된 크롬으로 뉴스 페이지를 들어갔을 때는 광고가 보이지 않는 것을 확인할 수 있는데, 같은 환경에서 Selenium으로 같은 페이지로 들어갔을 때 여기저기 광고가 떠있는 모습을 볼 수 있다. 또한 우측 상단을 ..

Python 2022.12.01

[PostgreSQL] repmgr을 이용한 DB 이중화 구성하기_3, VIP

auto failover까지 정상적으로 수행되는 것을 확인하였으니 이번에는 Rocky Linux에 VIP를 할당한 후 auto failover 시 VIP를 가진 서버가 변경되도록 하기로 하였다. 1. VIP 설정하기 우선 auto failover 시에 VIP를 변경하기 위해서는 기본적으로 VIP가 설정되어 있어야 한다. cd /etc/sysconfig/network-scripts/ vi ifcfg-{이더넷 인터페이스명} 테스트 환경인 vm1과 vm2는 자동으로 네트워크에 연결을 사용하였기 때문에 현재 사용 중인 IP와 gateway를 ifconfig 명령어와 ip route를 사용하여 알아두었다. BOOTPROTO=static IPADDR={IP} NETMASK=255.255.255.0 GATEWAY={..

DB 2022.10.03

[PostgreSQL] repmgr을 이용한 DB 이중화 구성하기_2, auto failover

지난 repmgr을 이용한 이중화 구성 포스팅에서 primary에서 테이블을 생성하고 데이터를 기록하면 standby에서도 해당 테이블을 조회할 수 있는 것을 확인하였다. 하지만 이렇게까지만 설정한다면 pglogical과 별반 다를 것이 없다. 이번에는 repmgr이 제공하는 auto failover 기능에 대해 알아보기로 하였다. 1. repmgr.conf 설정하기 auto failover를 사용하기 위해서는 repmgr.conf를 수정한 뒤 repmgrd를 시작하면 된다. vi /etc/repmgr/14/repmgr.conf failover='automatic' promote_command='repmgr standby promote' follow_command='repmgr standby follow..

DB 2022.10.02

[PostgreSQL] repmgr을 이용한 DB 이중화 구성하기_1

지난번 pglogical을 이용한 DB 이중화에 대해 알아보았었는데, pglogical 자체에는 primary-secondary 구조에서 auto failover나 secondary 서버에서 read only로 설정해 주는 기능이 없었다. 그러던 중 PostgreSQL 자체 replication 기능을 이용하면서 auto failover 처리를 해줄 수 있는 repmgr을 알게 되었다. 이번 포스팅은 Rocky Linux 8 환경에 PostgreSQL 14를 repmgr을 이용하여 이중화를 구성하는 방법에 대해 포스팅하려고 한다. 설치에 앞서 primary-secondary를 repmgr에서는 primary-standby로 표현하고 있기 때문에 primary-standby로 표현하기로 한다. 1. rep..

DB 2022.10.01

[PostgreSQL] pglogical을 이용한 DB 이중화 구성하기_2, 양방향 이중화를 구성해 보자

지난 포스팅에서 pglogical을 이용한 DB 이중화 구성을 테스트했을 때, 마지막에 구독을 하고 있는 노드에서 INSERT, UPDATE, DELETE 등의 DML 명령어를 사용했을 때 read-only 모드가 아니기 때문에 값이 DB에 반영되는 것을 확인할 수 있었다. read-only 모드로 사용하는 방법이던지, 뭔가 다른 방법이 있을 것 같지만 이런 것들을 찾아보기 이전에 양방향 이중화. bi-directional replication 글을 읽었기 때문에 이 방법 먼저 알아보기로 하였다. https://aws.amazon.com/ko/blogs/database/postgresql-bi-directional-replication-using-pglogical/ PostgreSQL bi-directi..

DB 2022.09.21

[PostgreSQL] pglogical을 이용한 DB 이중화 구성하기

PostgreSQL의 공식 문서 27번 항목은 Chapter 27. High Availability, Load Balancing, and Replication. 고가용성, 로드 밸런싱, 복제를 설명하고 있다. 이제 막 이중화에 대해 알아가기 시작하는 단계라 자세히는 모르지만 이중화를 구성함으로써 failover를 기대할 수 있고, 부하를 분산시킬 수도 있다고 한다. 이 중 오늘 알아볼 것은 공식 문서 27.1 항목에서 논리적 복제(Logical Replication)를 이용한 모듈인 pglogical에 대해 알아보려고 한다. pgsql에서 논리적 복제는 Write-Ahead 로깅(WAL)에서 논리적 데이터 수정 스트림을 구성하여 테이블 별로 데이터 변경 사항을 복제할 수 있다고 되어있다. pglogica..

DB 2022.09.20

[Rocky 8] Rocky Linux 8에 PostgreSQL 14 설치하기

# rpm 저장소 설치: sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm # Disable the built-in PostgreSQL module: # 기본 제공 PostgreSQL 모듈 비활성화 sudo dnf -qy module disable postgresql # PostgreSQL 설치: sudo dnf install -y postgresql14-server # PostgreSQL 초기화 및 부팅 시 자동 시작 설정: sudo /usr/pgsql-14/bin/postgresql-14-setup initdb sudo systemct..

Linux 2022.09.19

[CentOS7] ntpdate.service 시작 시 no server suitable for synchronization found 에러 해결하기

지난번 DB 테스트 환경을 만들어 작업 중이었는데 하다 보니 시간이 뭔가 이상하게 설정되어있다는 것을 알게 되었다. ntpdate time.bora.net 위 명령어를 이용하여 ntp 서버와 시간을 동기화해주면 정상적으로 돌아오는데 문제는 재부팅 시 다시 시간이 틀어진다는 것이었다. 뭐가 문제인 것일까 확인해보기 위해 재부팅 후 systemctl status로 ntpdate를 확인해 보니 Active가 failed로 되어있었다. ntpdate.service를 재시작하면 해결될까 싶어 restart를 날려봤는데 역시나 제대로 실행되지 않았다. DB 에러 때와 같이 journalctl -xe로 어떤 오류인지 확인해 보기로 하였다. "no server suitable for synchronization fou..

Linux 2022.09.14

[PostgreSQL] PostgreSQL 12 설치 후 Job for postgresql-12.service failed because the control process exited with error code. 에러 해결하기

회사에서 DB 백업 관련 테스트가 필요해 centOS 7을 설치 후 rpm을 사용하여 PostgreSQL 12를 설치하였다. 하지만 psql 명령어를 실행하니 연결할 수 없다고 한다. DB가 꺼진 것 같아 systemctl start postgresql-12.service를 입력하니 Job for postgresql-12.service failed because the control process exited with error code. See "systemctl status postgresql-12.service" and "journalctl -xe" for details. 오류코드와 함께 제어 프로세스가 종료되었다고 뜬다. systemctl status postgresql-12.service와 jo..

DB 2022.09.08

[리뷰] 텐타몬의 고소한 땅콩샌드 리뷰

한 동안 포켓몬 빵이 그렇게 유행이었는데 여전히 유행인지 나는 아직까지 편의점이나 마트에서 포켓몬 빵을 본 적이 없다. 그런 포켓몬 빵의 인기에 어떻게 한 숟가락 얹어보려고 하는 건지 최근에 '디지몬 어드벤처 빵'이 나왔다고 한다. 근데 사실 포켓몬이랑 디지몬은 게임이 안 되지... 요즘 어린애들은 디지몬이 뭔지도 모를 것이다. 지난주에 조카를 데리러 조카네 유치원에 갔는데 유치원 아이들이 마당에서 "나는 팬텀이야!", "나는 리자몽이야!!" 이러면서 포켓몬 놀이를 하고 있었다. 조카 역시 넷플릭스에서 포켓몬을 틀어서 보는 걸 보면 포켓몬은 여전히 현역인 반면, 디지몬은 추억팔이로 만든 디지몬 트라이 역시 망했으니 급이 다르다고 할 수 있다. 하지만 디지몬이 파워디지몬, 디지몬 테이머즈, 디지몬 프론티어..

리뷰 2022.09.06
728x90