EBS 볼륨의 전체 내용 중 특정 시점을 파일로 저장한 형태가 스냅샷입니다. 따라서 EBS 볼륨의 백업 파일 성격을 가지고 있습니다. 💡 **프리 티어에서 사용 가능** EBS 스냅샷은 프리 티어에서 무료로 사용할 수 있습니다. 2022년 5월 기준으로 EBS 스냅샷 스토리지 1GB를 무료로 사용할 수 있습니다. 본인은 Ubuntu Linux가 설치된 8GB EBS 볼륨의 스냅샷을 생성하지만, EBS 볼륨의 전체 크기가 8GB일 뿐 실제 용량은 1GB가 되지 않으므로 무료 용량 내에서 실습이 가능합니다. 또한 EBS스냅샷은 다양한 용도로 활용이 가능합니다. 스냅샷으로 EBS 볼륨 생성(다른 가용 영역에 생성 가능) 스냅샷으로 AMI 생성 스냡샛을 다른 리전으로 복사 EBS 스냅샷은 EBS 볼륨을 백업하고..
리눅스를 사용하다 보면 서버가 부팅할때 자동으로 실행되어야 할 명령이나 스크립트가 생기기 마련이다. (서버 운영중 정전 등의 이유로 재부팅된다거나 할때 서비스들을 자동으로 살려야하기 때문에..) 그리하여 이번에는 시스템이 재부팅될때 자동적으로 sh을 실행시켜주는 기능 2가지를 실습해보겠다. 각 ec2 2대를 준비하여 진행하였다. local.service 생성 방법 vi /etc/systemd/system/rc-local.service # 생성 [Unit] # 내용 추가 Description=Run rc.local #After=suspend.target #After=hibernate.target #After=hybrid-sleep.target [Service] ExecStart=/etc/rc.local s..
쉘 프롬프트 정보 변경 현재 사용자가 개별적으로 사용할 수 있도록 지원하는 사용자별 시스템 환경변수를 쉘 변수라고 한다. 쉘 변수들 가운데 PS1이라는 변수가 프롬프트의 정보를 포함하고 있다. Prompt 기본 설정 확인 bash shell에서 PS1의 값을 확인하면 다음과 같이 나타난다. \h 현재 호스트의 이름을 나타낸다. \W 현재 위치의 디렉터리를 나타낸다. \u 현재 로그인된 사용자를 나타낸다. 본인 PS1의 경우 예전에 커스텀을 하여 보통과 다르게 나타났다. 기본 설정은 \h:\W \u\$ 로, 기본 설정으로 분석한다면 현재 호스트는 172-31-7-241, 디렉터리 위치는 ~(home)이며, 로그인된 사용자는 root 이다. Prompt에 나타낼 수 있는 정보 쉘 변수 기호 의미 \t 24시..
Linux 네트워크 인터페이스 정보 백업 지난 OS config의 정보를 백업하는 스크립트에 네트워크 인터페이스 정보를 백업하는 기능을 추가하였다. Shell Scirpt (backup 파일 생성) #! /bin/bash # date로 오늘 날짜를 불러온다. today=`date +%m-%d-%y` echo $today Perform a backup of server configuration information sleep 1.0 mkdir /home/test/$today-monitoringTEST # 저장될 백업데이터 df=`df -k > /home/test/$today-monitoringTEST/$today/df-$today.bak` mount=`mount > /home/test/$today-moni..
기능 구현 목적 다수의 서버들의 재기동(재부팅) 등 작업 전 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..
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..
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는 디바이스..
Logrotate Logrotate는 Linux에서 로그를 저장하며 관리할 때, 로그 파일이 하나의 파일로 크기가 커지며 저장되는것을 분산시켜줄 때 사용한다. 한 파일에 로그가 지속적으로 쌓이게 도면 로그 확인이 필요한 경우 파일이 너무 방대해 확인이 어려워지고 디스크 용량 또한 낭비된다. Logrotate 실행 순서 & 구조 Logrotate은 위와 같은 순서로 실행하며, 구성하는 파일들은 아래와 같은 구조를 가진다. /usr/sbin/logrotate : Logrotate 데몬 프로그램 /etc/logrotate.conf : Logrotate 데몬 설정 파일 /etc/logrotate.d/ : Logrotate 프로세스 설정 파일 /etc/cron.daily/logrotate : Logrotate 작..
/etc/syslog.conf 파일의 이해와 활용 /etc/syslog.conf 파일의 각 행의 형식(포맷) = 서비스 종류.우선순위;서비스 종류.우선순위 /로그파일 위치 ex. authpriv.* /var/log/secure 각 행의 의미 = 서비스 종류(데몬)에 대하여 우선순위의 상황이 발생하면 로그파일 위치의 파일에 그 내용을 기록한다. 규칙 서비스 종류는 facility, 우선순위는 priority, 로그파일위치는 logfile-location을 각각 의미한다. 서비스 종류와 우선순위는 .(점)으로 구분한다. “서비스종류.우선순위” 그리고 “서비스종류.우선순위” 사이에는 ;(세미콜론)으로 구분한다. 서비스종류에는 mail, cron, kern, uucp 등과 같은 해당 서비스의 종류를 의미한다. ..
오늘 전 서버의 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..