목록LINUX/Advanced (20)
Wisdom’s Cloud
Load Average란? Load Average는 R과 D 상태에 있는 프로세스 개수의 1분, 5분, 15분마다의 평균 값을 의미한다. 즉, 실행 중이거나 실행 대기 중인 프로세스가 얼마나 많은 지를 나타낸다. 이러한 Load Average 수치는 uptime 명령어를 통해 아래와 같이 확인할 수 있다. [root@jhpark20 ~]# uptime 08:19:05 up 46 days, 8:29, 1 user, load average: 0.00, 0.01, 0.05 하지만 Load Average 값이 같더라도 CPU Core가 몇 개냐에 따라 전혀 다른 의미가 될 수 있다. 예를 들어, CPU Core가 1개일 때 2개의 프로세스가 있는 경우(실행 중인 프로세스 1개, 실행 대기 중인 프로세스 1개)와..
top 명령어 top 명령어를 사용하여 프로세스의 상태를 전반적으로 파악할 수 있다. 옵션 없이 실행하면 3초 간격으로 화면을 갱신하여 정보를 보여주며, 출력 화면에 대해 살펴보도록 하자. [root@jhpark20 ~]# top top - 07:59:52 up 2 days, 8:10, 1 user, load average: 0.00, 0.01, 0.05 Tasks: 83 total, 1 running, 82 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1014676 total, 421912 free, 125864 used, 466900 buff/c..
시스템의 문제점을 분석하고 확인하기 위해 시스템의 구성 정보를 확인해보자. 1. 커널 정보 확인하기 uname 명령어를 사용하여 커널 정보를 확인할 수 있다. ===== 옵션이 없을 경우, -s 옵션을 사용하는 것과 동일 ===== [root@jhpark20 ~]# uname Linux ===== 모든 정보 출력 ===== [root@jhpark20 ~]# uname -a Linux jhpark20.novalocal 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux ===== 커널 이름 출력 ===== [root@jhpark20 ~]# uname -s Linux ===== 네트워크 노드 호스트 ..
netfilter란? netfilter는 시스템에 들어오는 모든 패킷을 분석해서 사용자의 뜻대로 처리 및 기록할 수 있도록 하는 프레임워크다. 아래와 같이 5개의 hook 지점을 제공하여 원하는 지점에서 패킷을 처리할 수 있도록 지원한다. NF_IP_PRE_ROUTING: 인터페이스를 통해 들어온 패킷을 처리 NF_IP_LOCAL_IN: 로컬 프로세스로 들어오는 패킷을 처리 NF_IP_FORWARD: 다른 호스트로 통과시켜 보낼 패킷을 처리 NF_IP_LOCAL_OUT: 로컬 프로세스에서 나갈 패킷을 처리 NF_IP_POST_ROUTING: 인터페이스를 통해 나갈 패킷을 처리 iptables란? iptables는 netfilter에 룰을 넣어 사용자가 원하는대로 접근 통제를 할 수 있도록 하는 도구다. ..
지난 시간(2022.09.02 - [LINUX] - [Linux] [CentOS] Failed to start Crash recovery kernel arming.)에 커널 패닉이 발생하면 kdump를 통해 crash dump가 생성된다고 했었다. 오늘은 이 crash dump로 생성된 vmcore 파일을 분석하여 어떤 문제로 인해 커널 패닉이 발생했는지 알아보도록 하자. 먼저 crash dump 데이터를 분석하는 도구인 crash를 설치해야 한다. [root@jhpark20 ~]# yum install crash 그리고 vmcore 파일에 맞는 커널 버전의 debuginfo 패키지가 필요하다. debuginfo 패키지는 커널에 대한 debug 정보를 포함하여 컴파일한 패키지다. 따라서 vmcore 파일..
2022.09.01 - [LINUX] - [Linux] [CentOS] 네트워크 인터페이스 설정을 하면서 MTU을 9000으로 변경한 적이 있는데, MTU를 9000으로 변경하면 어떻게 되는지 이번 시간에 알아보도록 하자. MTU(Maximum Transmission Unit)는 최대 전송 단위를 의미하며, 기본값은 1500 byte다. 이 MTU를 더 큰 크기로 설정하면 같은 데이터를 더 큰 단위로 쪼개어 전송하기 때문에 전송 속도가 향상되며, 1500 byte 이상을 점보 프레임이라고 한다. 점보 프레임(Jumbo Frame)은 보통 9000 byte로 설정하며, 점보 프레임을 사용하고자 하는 양단의 서버 및 네트워크 장비에서 모두 MTU를 9000 byte로 설정해야 한다. 점보 프레임의 ping ..
패스워드 정책 설정에 이어 몇 가지 보안 설정을 해보자. 1. history에 timestamp 설정하기 어떤 command를 언제 남겼는지를 확인하기 위해 history에 timestamp를 설정해보자. HISTTIMEFORMAT 환경변수를 아래와 같이 설정해주면, "일/월/년 시간" 형식으로 history가 표시된다. [root@jhpark20 ~]# echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> /etc/profile [root@jhpark20 ~]# source /etc/profile timestamp를 설정한 시점부터 시간이 찍히기 때문에 그 전에 입력한 command들은 timestamp를 설정한 시점으로 찍힌다. 2. 미사용 계정 shell 제한하기 미사..
이번 시간에는 패스워드의 사용 기간과 복잡도, 임계값을 설정해보자. 1. 패스워드 사용 기간 설정 패스워드 사용 기간은 아래와 같이 /etc/login.defs 파일에서 설정할 수 있다. PASS_MAX_DAYS: 패스워드를 사용할 수 있는 최대 일수 PASS_MIN_DAYS: 패스워드 변경 사이에 허용되는 최소 일수 PASS_MIN_LEN: 패스워드 최소 길이 PASS_WARN_AGE: 패스워드가 만료되기 전에 경고하는 일수 테스트 계정을 생성해서 확인해보면, 변경한 설정값들은 기존 계정에는 영향을 미치지 않고 생성한 계정에만 적용되는 것을 볼 수 있다. 따라서 기존 계정의 패스워드 사용 기간을 변경하려면 아래의 옵션과 함께 chage 명령어를 사용하면 된다. 변경한 내용은 -l 옵션을 통해 확인할 수..
YUM Repository란? YUM Repository는 Package를 모아놓은 저장소로, Package 설치 시 활성화된 Repository에서 Package를 다운로드하여 설치한다. /etc/yum.repos.d 디렉터리에 기본 Repository가 있으며, 아래의 형식대로 작성하여 추가할 수 있다. [리포지토리 ID] name=리포지토리 이름 baseurl=리포지토리 주소 or 리포지토리 절대경로 enabled=리포지토리 활성화 여부 gpgckeck=GPG 서명키 사용 여부 gpgkey=GPG 서명키를 사용한다면 서명키 주소 하지만 YUM Repository는 인터넷으로 연결된 저장소로 접근하기 때문에 보안 정책 등으로 외부 인터넷이 차단된 환경에서는 사용할 수 없다. 물론 RPM으로 Packa..
지난 시간(2022.09.05 - [LINUX] - [Linux] [CentOS] 하드디스크와 파티션)에 하드디스크의 일부를 메모리처럼 사용하는 파티션을 스왑 파티션이라고 소개했었는데, 이번에는 이 swap에 대해서 알아보고자 한다. swap이란? swap은 시스템에 메모리가 부족할 경우, 하드디스크의 일부 공간을 활용하여 계속 작업을 도와주는 영역이다. 즉, 프로그램들을 많이 실행하여 메모리가 부족할 경우, 지금 당장 필요하지 않은 프로그램들의 데이터를 하드디스크에 이동시켜 메모리 공간을 확보하는 것이다. 따라서 실제 메모리보다 액세스 시간이 느리며, 메모리에 도움은 주지만 메모리를 대체할 수는 없다. swap 공간은 swap 파티션, swap 파일, 또는 swap 파티션과 swap 파일의 조합으로 추..