DevOps

DevOps/Linux_리눅스

[Linux] OS config 정보 백업 (shell 백업 및 ansible 배포)

기능 구현 목적 다수의 서버들의 재기동(재부팅) 등 작업 전 OS 정보들을 미리 백업하려 한다. config 정보 백업 파일을 생성하는 스크립트를 구성하고, 이를 서버들에 배포하여야 한다. (각 서버에 스크립트가 배치되어야 한다.) 백업 파일은 실행 날짜를 기재하여 구별이 어렵지 않게 구성하였다. Shell Scirpt (backup 파일 생성) #! /bin/bash ###################### # 0926 os config data backup ###################### # date로 날짜 얻기, "MM-DD-YY" 형식으로 날짜 출력 today=`date +%m-%d-%y` echo $today Perform a backup of server configuration in..

DevOps/Linux_리눅스

[Linux] top 명령어 (서버 상태 파악)

TOP 명령어 top 명령어는 현재 OS의 상태를 나타내는 CLI 어플리케이션이다. 메모리 사용량, CPU 사용량 등을 나타내주며 top을 실행하는 동안에는 실시간에 근접한 내용을 보여준다. 요약 영역 System time(시스템 현재 시간) = GMT 기준 현재 시간을 나타낸다. (한국시간으로 +9) uptime(OS가 살아있는 시간) = days와 시간으로 나타낸다. user sessions(유저 세션수) = 접속중인 유저 세션 수이다. 좀 더 자세한 내용은 who 명령어를 통해 확인 가능하다 Load Average = CPU Load의 이동 평균을 표시한다. (100%를 넘긴다면, 처리못하고 대기중인 ps가 있다는것) Tasks = 현재 프로세스들의 상태를 나태나는 영역이다. CPU 사용량 = Ta..

DevOps/Linux_리눅스

[Linux] df 명령어 미동작 해결(df hang)

disk 용량 확인 하려고 df -h 명령어를 실행했는데 실행이 안되는 이슈가 있었다. 서버에 hang이 걸린줄 알고 시간을 두고 기다려도 계속 반응이 없다.. 해결 방안 1. log 분석 이럴 경우 server(nas) 네트워크 문제가 있다고 판단된다. client에서는 nfs로 mount 된 것을 물고 있지만 접근이 어려울 것이다. 2. client 조치 위 사진과 같이 공유 directory를 umount를 진행하였는데 강제로 -f 옵션까지 줘 봤는데도 device is busy 라는 문구가 나타난다. -f 옵션까지 되지 않을 경우 -l 옵션을 줘서 umount를 진행하여야 한다. (본인은 -l 옵션으로 해결했다.) ※ -l : 지연된 언마운트(lazy umount) lazy umount는 디바이스..

DevOps/Linux_리눅스

[Linux] Logrotate (로그 분산 관리)

Logrotate Logrotate는 Linux에서 로그를 저장하며 관리할 때, 로그 파일이 하나의 파일로 크기가 커지며 저장되는것을 분산시켜줄 때 사용한다. 한 파일에 로그가 지속적으로 쌓이게 도면 로그 확인이 필요한 경우 파일이 너무 방대해 확인이 어려워지고 디스크 용량 또한 낭비된다. Logrotate 실행 순서 & 구조 Logrotate은 위와 같은 순서로 실행하며, 구성하는 파일들은 아래와 같은 구조를 가진다. /usr/sbin/logrotate : Logrotate 데몬 프로그램 /etc/logrotate.conf : Logrotate 데몬 설정 파일 /etc/logrotate.d/ : Logrotate 프로세스 설정 파일 /etc/cron.daily/logrotate : Logrotate 작..

DevOps/Linux_리눅스

[Linux] 로그관리 (/etc/syslog.conf)

/etc/syslog.conf 파일의 이해와 활용 /etc/syslog.conf 파일의 각 행의 형식(포맷) = 서비스 종류.우선순위;서비스 종류.우선순위 /로그파일 위치 ex. authpriv.* /var/log/secure 각 행의 의미 = 서비스 종류(데몬)에 대하여 우선순위의 상황이 발생하면 로그파일 위치의 파일에 그 내용을 기록한다. 규칙 서비스 종류는 facility, 우선순위는 priority, 로그파일위치는 logfile-location을 각각 의미한다. 서비스 종류와 우선순위는 .(점)으로 구분한다. “서비스종류.우선순위” 그리고 “서비스종류.우선순위” 사이에는 ;(세미콜론)으로 구분한다. 서비스종류에는 mail, cron, kern, uucp 등과 같은 해당 서비스의 종류를 의미한다. ..

DevOps/Linux_리눅스

[Linux] IPv6 비활성화 작업

오늘 전 서버의 IPv6 비활성화하는 작업을 진행하였는데, 진행이 더디었던 부분과 해결된 부분까지 작성해보겠다. 예시로 생성한 서버이다. 서버를 체크해보면 IPv6로 올라온 포트들이 나타난다. (IPv6 = tcp6) (보통 tcp6으로 올라오는 포트는 죽이고 다시 데몬올 올리면 tcp4로 올라온다.) 제일 간단한 방법은 IPv6 사용을 disable 하는 것이다. cat /proc/sys/net/ipv6/conf/all/disable_ipv6 0 해당 파일을 열어보면, 0은 사용중 1은 사용 안함으로 나타난다. (IPv6를 사용하지 않느냐 → 1(참) 으로 이해하면 된다.) tcp6를 disalbe하기 위해 시스템 환경변수를 수정한다. vi /etc/sysctl.conf net.ipv6.conf.all..

DevOps/Linux_리눅스

[Linux] netstat 네트워크 상태 확인

netstat 네트워크 연결상태, 라우팅 테이블, 인터페이스 상태등을 보여주는 명령어로, 네트워크 및 통계라는 단어에서 파생되었다. 사용법 netstat [옵션] 옵션 사용 예시 1. 모든 네트워크 연결 확인하기 2. netstat -a 3. 프로토콜 별로 출력하기 netstat -at # TCP 만 확인 netstat -au # UDP 만 확인 4. LISTEN 상태인 포트만 출력하기 접속중인 상태 : ESTABLISHED 대기중인 상태 : LISTEN netstat -nap | grep LISTEN

DevOps/Linux_리눅스

[Linux] chage 사용자 패스워드 만기 정보 관리

chage란? 사용자의 패스워드 만기 정보를 변경 및 설정하는 명령어이다. (root 권한을 가진 사용자만 사용 가능) 즉, 사용자 패스워드 정보 관리 명령어이며, 시스템에게 로그인한 사용자가 패스워드를 변경해야 하는지를 알려준다. 옵션 l (L) : 특정 계정의 정보 확인 d : 최근 패스워드 변경 날짜 확인 E : 계정 만료일을 설정 m : 패스워드 최소 의무 사용일 수를 지정 M : 패스워드 최종 변경일로부터 패스워드 변경 없이 사용할 수 있는 최대 일수 설정 I (i) : 패스워드 만료일까지 패스워드를 바꾸지 않으면 계정 만료(비활성화) 설정 옵션 W : 패스워드 만료 몇일 전부터 사용자에게 경고 메세지 발송 설정 패스워드 만료일 갱신 및 확인 1. 만료일 확인 chage -l 계정명 | grep..

DevOps/Linux_리눅스

[Linux] LVM 용량 추가 및 축소

학습 목적 동일한 VG를 사용하는 LVM 2개가 있다. LVM1, LVM2라고 설명하겠다. LVM1의 용량을 축소하고,축소한 만큼의 용량을 다른 LVM, 즉 VLM2에 이어 붙여 용량을 증설하는 실습을 진행하고자 한다. 대부분 LVM 실습에서 ext.4 파일시스템으로 진행하였으나, 이번 실습은 xfs 파일시스템으로 진행하였다. ext.4는 LVM 증설 및 축소에 문제없이 동작하지만, xfs는 lvm 축소를 지원하지 않으며, 그래도 축소를 진행하게 되면 lvm 내의 데이터들이 손상되게 된다. 그래도 "xfs lvm이라도 축소를 어쩔수없이 해야하는 상황이 오게된다면.."이라는 가정을 바탕으로 실습을 진행하였다. (실제로 해당 작업의 경험이 있다.) 축소가 불가하기에 기존 lvm 파일시스템을 image로 저장..

DevOps/Monitoring_모니터링

[ZABBIX] 자빅스 모니터링 시스템 구축하기

Zabbix 란? Zabbix는 엔터프라이즈에 대응한 모니터링 솔루션이며, 오픈 소스로 배포된다. 다수의 네트워크 매개 변수 및 서버의 상태와 무결성을 모니터링하는 소프트웨어이며, 유연한 알림 메커니즘을 갖추고 있어 메일 기반의 통지를 하도록 설정할 수 있다. 즉, 이러한 기능을 통해 서버의 장애에 신속하게 대응할 수 있다. 💡 Zabbix는 저장된 데이터를 바탕으로 보고서 및 그래프 표시 기능을 제공하며 폴링과 트래핑을 모두 지원함 장점 강력한 모니터링 기능과 그래프를 하나의 도구로 결합시킴 알림에 대해 구성을 고도화할 수 있음 기본적으로 30초마다 지표를 수집하며, 인터벌 조정도 가능 빠른 웹 인터페이스 시스템에 대한 사용자 권한 설정으로 특정 사용자를 특정 뷰에 한정 수집된 데이터를 유연하지 못한 ..

DevOps/Monitoring_모니터링

[Scouter] Scouter 설치 및 Agent 연동 (Linux)

Scouter는 LG CNS에서 개발 및 배포한 무료 APN이다. 이 툴을 통해 WAS의 성능 모니터링이 가능하다. (heap memory, session 수, SQL 조회 등) 크게 세 가지의 프로그램 설치가 필요하다. Agent : WAS가 설치된 서버에 설치하며, 실시간 서비스 성능 정보, Heap Memory, Thread 등 Java 성능을 조사하여 정보를 획득함 Server (Collector): WAS가 설치된 서버에 설치하며, Agent가 전송한 데이터 수집/처리 Client (Viewer): 수집된 성능 정보를 확인하기 위한 Client 프로그램 다운로드 및 설치 Scouter 파일 다운로드(https://github.com/scouter-project/scouter/releases)) ..

DevOps

[Nginx] Failed to start The nginx HTTP and reverse proxy server (Nginx 실행 오류)

문제발생 nginx를 설치한 뒤, 실행 중 오류가 발생하였다. 원인 기본 port인 80을 이미 사용중인 PID가 존재하여 발생하였다. 해당 서버는 promethus 및 여러 docker container들이 동작하던 서버라 apache2 등 기존 사용하던 포트가 존재하였다. 해결방법 80 port를 소유한 pid를 찾고, kill 명령어로 해당 pid를 정지시킨다. 혹은 /etc/nginx/nginx.conf 파일에서 nginx port를 변경한다. # pid search netstat -tulpn # pid stop kill -9 [pid] 사용 예시 [root@woos-server ~] # netstat -tulpn Active Internet connections (only servers) Pro..

cwpack0730
'DevOps' 카테고리의 글 목록 (5 Page)