전체 글
-
[Docker] docker desktop 유료화에 따른 WSL로 무료 사용 하기Docker & Kubernetes 2023. 5. 4. 10:54
* 개요 : docker desktop이 기업사용자에게 유료로 전환되어 다른 대안이 필요한 상황이다. 물론 회사에서 사주면 가장 BEST이긴 하나 유료화를 한다고 하면 꼼수를 열심히 찾게 만드는것은 인간의 본능!! * 구조 : WSL 이란? Windows Subsystem for Linux의 약자로 윈도우 위에서 Virtual Machine처럼 가상의 OS를 띄울수 있도록 해주는 도구 이다. : 윈도우 -> WSL -> Ubuntu 같은 구조로 구성한다. * 구성 방법 : 설정을 위해 Powershell 사용이 필요한데, 해당 사항은 모두 관리자 모드로 사용 할 것을 권장 한다. # 파워쉘 실행 (관리자 모드) # WSL 설치& 재부팅 (필수) wsl --install # 설치된 버전 확인 wsl -l ..
-
[MariaDB] Event SchedulerDatabase 2023. 4. 19. 11:59
* 개요 : MariaDB도 다른 DB 제품들과 마찬가지로 정해진 시간에 정해진 규칙에 따라 쿼리 루틴을 실행 할 수 있는 스케줄러가 있다. 매일 정기적으로 데이터를 클렌징 한다거나 조각모음을 한다거나 하는 경우에 활용 할 수 있다. * 현재 configuration 확인 및 셋팅 SHOW GLOBAL VARIABLES WHERE Variable_name = 'event_scheduler'; : 기능 셋팅 # vi my.cnf 수정 후 재시작 필요 event_scheduler = 1 * 이벤트 생성 # 이벤트 예제 -- Event 생성 CREATE EVENT IF NOT EXISTS EV_BACKUP_TABLE ON SCHEDULE EVERY 1 MINUTE -- Event 실행 주기 STARTS ' 2..
-
[Docker] Docker 로그 관리Docker & Kubernetes 2023. 3. 15. 09:53
* Docker 컨테이너, 이미지, 캐시 사이즈 확인 ## 도커 용량 확인 docker system df --verbose ## 도커 미사용 컨테이너 삭제 docker container prune ## 도커 미사용 이미지 삭제 docker image prune ## 도커 미사용 볼륨 삭제 docker volume prune ## 도커 미사용 오브젝트 전체 삭제 (로그 제외) docker system prune * Docker 로그 ## 도커 로그 용량 확인 sudo du -h $(docker inspect --format='{{.LogPath}}' $(docker ps -qa)) ## 도커 로그 전체 삭제 sudo sh -c "truncate -s 0 /var/lib/docker/containers/*/..
-
[MariaDB] MariaDB 레플리케이션 모니터링 쉘프로그램 (on Docker)Database 2023. 3. 8. 14:15
* 개요 : 마리아 DB의 레플리케이션 상태를 모니터링 하기 위한 쉘 프로그램으로, 커스터마이징을 통해 필요한 지표를 모니터링 할 수 있다. * 소스코드 : 소스코드 내 개행문자(^M)는 [Ctrl + V --> 엔터키] 로 입력 한다. 이거 몰라서 한참 고생했다. ㅠ_ ㅠ #!/bin/bash LOGFILE='repl_log_'$(date +%Y%m%d%H%M%S)'.log' ## MySOL로 접속하고, 표준 출력 내용을 로그 파일로 저장하도록 파이프로 전달한다. docker exec -it maria_higenie mysql -uroot -pP@ssw0rd -e "show slave status \G" > $LOGFILE ## IO 스레드 상태를 찾아 IO_THREAD 변수로 저장한다. IO_THRE..
-
JWT(Json Web Token) 웹 토큰 인증ETC 2023. 3. 7. 08:30
* JWT 설명: JWT (Json Web Token)은 웹과 앱에서 동일 한 인증 방식을 가져갈 수 있으며, 서버에서 별도의 정보를 가지고 있지 않기 때문에 서버가 확장할 때도 효율적입니다. 로그인 성공 시 액세스 토큰(JWT)은 웹 브라우저의 쿠키에 저장됩니다. 그 이후 프런트엔드에서 인증이 필요한 API를 사용할 때 액세스 토큰을 가져와서 헤더에 포함시켜서 백엔드에 전달합나다.백엔드 미들웨어는 토큰이 유효한지 검증한 후 유효하면 API를 실행 합니다. 유효하지 않은면 401로 인증실패 에러를 발생시킵니다.: 토큰은 헤더 + 페이로드 + 검증 사인 3개의 파트로 이루어져 있다. * 필요 한 모듈// passport는 jwt인증을 아주 쉽게 만들어주는 모듈npm install @nestjs/jwt @n..
-
[MSSQL] 백업 및 로그 파일 축소Database 2023. 2. 28. 09:36
데이터베이스 풀 백업 BACKUP DATABASE db명 TO DISK='경로\파일명.bak' WITH COMPRESSION 현재 로그 파일을 얼마나 쓰고 있는지 확인 DBCC SQLPERF(LOGSPACE) 축소가 가능 한 상태인지 확인 (로그 백업이 된 상태이어야 함) - status가 0인 부분만 백업이 가능하다. DBCC LOGINFO 작업을 위해 파일 액세스 모드를 단일(SIMPLE)로 변경 ALTER DATABASE DB명 SET RECOVERY SIMPLE; 데이터베이스 백업 (필요시) BACKUP DATABASE DB명 TO DISK='백업할 경로\디비파일명.bak' WITH COMPRESSION 로그 백업 BACKUP LOG DB명 TO DISK='백업할 경로\로그파일명.trn' WITH..
-
[Docker] GlusterFS volume-plugin 구성 (feat.CentOS7)Docker & Kubernetes 2023. 2. 8. 14:07
* 개요 : 여러대의 서버에 대해 스토리지 클러스터링을 쓸 수 있는 오픈소스 플러그인 이다. 별도 공유스토리지(NAS 등)가 없는 경우 사용하는 방식이다. : 이러한 볼륨 플러그인은 매우 많은 종류가 있다. 대표적으로 Ceph를 많이 쓰는 듯 함. * 환경 구성 : CentOS 7 Server 2대, 추가 disk partition(sdb), * 스토리지 구성 : 1번 서버 브릭 생성 # 스토리지 현황 확인 lsblk fdisk -l # 스토리지 볼륨 추가 mkfs -t xfs /dev/sdb mkdir -p /gluster/bricks/1/brick mount /dev/sdb /gluster/bricks/1/brick # mount 체크 df -h # brick 생성 및 마운트 영구 적용 vi /etc..
-
[MariaDB] Slow query 수집Database 2023. 1. 27. 10:32
* 개요 : MariaDB에서 실행 되는 쿼리에 대해 특정 임계시간 이상 실행 된 쿼리에 대해 수집을 할 수 있다. 이는 튜닝 대상 쿼리를 탐지 하기 위함이다. : 수집은 테이블에 적재하는 방식과 파일로 떨어뜨리는 방식이 있으나, 테이블에 적재하는 경우 쿼리문이 길어지면 로그 테이블을 조회하는 시간(네트워킹시간)이 너무너무너무너무 오래 걸리므로, 파일로 관리하는것이 훨씬 낫다!! * 글로벌 config 확인 : 현재 설정된 상태 확인 show variables where Variable_name in ('slow_query_log','long_query_time','log_output','slow_query_log_file'); * 설정 변경 : 쿼리를 통한 글로벌 변수 설정 시 재기동시 반영이 안되므로..