본문 바로가기

Linux81

Linux) 짧은 시간에 빠르게 서버 상태 파악하기(2) 서버 상태 파악하기 - LAB "vmstat" 명령을 이용해 현재 서버 상태를 "top" 명령어로 보는 것보다 더 자세하게 확인합니다. 이 명령어는 Virtual Memory, 페이징 활동 및 실패, CPU 활동, Process 등의 통계들이 있어 상당히 유용하게 쓰입니다. 일단 들어가자마자 확인해야 될 것은 현재 서버의 상태이기 때문에 자세한 정보보다 대략적인 상태를 보고 나서 자세히 알아보는 것이 좋은 것 같습니다. 아래의 명령어에 "1"인자를 붙여 1초 간격으로 정보를 봅니다. # vmstat 1 뭔가 깔끔하게는 되어 있는데 처음 보면 낯설은 용어들이 보일 것입니다. 아래에 정리를 하면서 파악하려고 합니다. ○ procs(=Process, 프로세스) 1) r: 실행 큐에 쌓인 실행 대기중인 프로세스.. 2021. 5. 9.
Linux) 짧은 시간에 빠르게 서버 상태 파악하기(1) 서버 상태 파악하기 처음 보는 서버나 많이 접하지 않아서 낯설은 서버들을 접하는 경우가 일을 하다 보면 많이들 생길 것입니다. 아래의 명령으로 모든 것을 알 수는 없지만 대략적으로 서버가 어떤 자원을 많이 사용하고 있고 어떤 솔루션이 사용되고 있는 서버인지를 알아가는 단계라고 생각하시면 좋을 것 같습니다. 처음 가서 서버 상태를 대략적으로 본 후 만약 모니터링 툴을 따로 가지고 있다면 추가적으로 보는 것이 좋습니다. 보통 Jennifer Soft의 Jennifer, Prometheus+Grafana, Zabbix 등의 모니터링 툴을 많이 사용합니다. (APM: Jennifer Soft의 Jennifer, Opennaru의 KHAN 등) 서버 상태 파악하기 - LAB 간단한 서버 성능 지표를 보기 위해 아.. 2021. 5. 9.
Linux) Bonding 구성시 모듈 적재 관련 이슈 이슈 본딩 구성시 Red Hat Document를 보면 "modprobe --first-time bonding"이라는 명령어를 통해 모듈 적재를 한 후에 작업을 해라고 나와있습니다. 구글링을 통해 보면 모듈 적재를 하는 사람도있고 안하는 사람들도 있습니다. 어떻게 작업을 해야될까요? 방안 일단 앞 글과 같이 모듈 적재를 따로 하지 않고 구성을 해도 RHEL 7이상에서는 자동으로 "bonding"이라는 모듈이 적재됩니다. 서버 재기동을 하면 본딩 모듈 적재한게 풀려서 "/etc/modules.d/"경로에 설정 파일을 만들어줘야 된다고 하는데 RHEL 7 이상에서는 따로 지정하지 않아도 재기동시에도 정상적으로 올라옵니다. 앞에서 말했듯이 본딩 네트워크 인터페이스가 Active 상태로 올라오면 "bonding.. 2021. 5. 5.
Linux) Bonding 구성으로 네트워크 이중화 - RHEL, CentOS Bonding 구성 - LAB 우선 본딩 작업을 하기 위해 최소 2개 이상의 NIC가 필요하기 때문에 VirtualBox에서 추가합니다. 추후에 다른 VM과의 통신까지 생각해서 Host-Only(호스트 전용 어댑터)를 선택해서 2개를 잡아줍니다. 추가된 네트워크 인터페이스 2개를 확인합니다. # ip a 본딩 작업을 하기 전에 미리 계획을 그려 놓는 것이 좋습니다.. Bonding 잡을 인터페이스 이름과 Slave로 잡을 NIC들을 정확하게 숙지 후 작업을 해야됩니다. 해당 LAB에서는 Slave 인터페이스로 enp0s8, enp0s9로 잡고 Bonding 인터페이스 이름은 bond0으로 잡았습니다. 먼저, Slave로 지정할 네트워크 인터페이스들을 설정해주는 작업을 합니다. # vi /etc/sysco.. 2021. 5. 5.
Linux) Bonding 구성으로 네트워크 이중화 - 이론 Bonding이란? Bonding은 NIC 카드 이중화로 여러 NIC 카드를 논리적으로 묶어서 대역폭을 늘리거나 가용성을 위해 사용하는 방법입니다. 이는 NIC 갯수만큼 대역폭도 확장되기도 합니다. 앞에서 말했듯이 NIC의 갯수가 많으면 좋긴 하지만 그렇게 많이 SLAVE를 두지 않고 대부분이 2개의 NIC를 사용해서 2개의 IP를 이용해 네트워크 이중화를 구성합니다. 보통 1G Ethernet이나 10G 이상의 Fibre Cable(광 케이블)을 이용해서 연결 합니다. 하지만, 10G 이상의 Fibre Cable의 경우 그대로 연결하면 서버에서 인식하지 못합니다. (연결할 포트를 봐도 연결할 수가 없는 크기이긴 하죠) 그래서 사용하는 것이 GBIC과 SFP 모듈입니다. 컴퓨터는 기본적으로 0과 1이라는.. 2021. 5. 5.
Linux) 운영중인 서버의 root 영역 Volume Group 이름 변경 요구사항 기존에 운영중인 Root 영역의 VG 이름을 VG00으로 변경 해주세요. 작업 전 주의점 기존에 "rhel"로 잡혀있던 VG 영역을 바꾸는 것이고 root 영역이기 때문에 재기동을 해야된다는 변수를 미리 생각해야됩니다. root 영역 VG 변경 먼저 볼륨 그룹의 이름을 변경하고 결과를 확인합니다. # vgrename centos VG00 # vgs "/etc/fstab"라는 파일에 영구 마운트되어 있는 VG 이름을 모두 변경합니다. # vi /etc/fstab "/etc/default/grub"에 있는 기존의 "centos" VG를 "VG00"으로 바꿔줍니다. 부팅될 때 변경될 VG로 땡겨오게 하는 작업입니다. # vi /etc/default/grub 변경한 VG를 Active 시켜주는 작업을 .. 2021. 5. 4.
Linux) Local YUM Repository 구성 - RHEL, CentOS Local YUM Repository 구성하는 이유? Local YUM Repository란? 말 그대로 Local(해당 지역) 내에서만 돌아가는 YUM 저장소입니다. YUM 저장소 안에 구성된 파일은 RPM이라는 확장자를 가지고 있는 패키지입니다. 흔히들 이것을 Local Repo(로컬 레포)라고 부릅니다. 필드에서 누군가가 "레포 잡아주세요"라고 하면 대부분이 Local Repo를 잡아주는 것입니다. 일반적으로 운영중인 서버는 외부 통신이 되지 않는 폐쇄망에서 운영되기 때문에 Local Repository를 구성합니다. 왜 서버를 폐쇄망에 구축하는 것일까요? 하루에 수백번 아니 수천번씩 해커들이 서버에 진입하려고 시도를 합니다. 그런데 외부 통신을 허용했다가 악성을 가진 경로 혹은 파일에 접근하면 그.. 2021. 5. 2.
Linux) 리눅스의 Log에 대한 이야기(2) - Log Rotate Log Rotate 우리가 사용하는 서버는 1년 365일 24시간 연중무휴로 에러없이 돌아가야 되는 것을 목표로 합니다. 그러기 위해선 OS 위에 올라간 서비스들이 정상적으로 동작해야 되고 서버의 리소스가 안정적으로 사용되고 있어야됩니다. 앞 글에서 봤듯이 로그는 서버에서 일어나는 이벤트들을 기록해서 파일에 저장합니다. 하지만 계속해서 기록하고 저장만 한다면 파일 시스템이 꽉 차서 결국에 OS는 행에 걸릴 것입니다. 그래서 사용하는 대안이 Log Rotate입니다. 말 그대로 로그를 회전 시키는 것입니다. 특정 주기를 잡아서 로그파일을 저장, 제거, 압축 등의 행동을 취하게 합니다. 위와 같은 방법으로 설정을 한다면 서버에 로그가 계속 차서 파일 시스템의 용량이 가득 차는 일은 없을 것입니다. 보통 1달.. 2021. 5. 2.
Linux) 리눅스의 Log에 대한 이야기(1) - Log 리눅스의 기본적인 Log 사람도 기억이 나지 않을까봐 기록 혹은 필기를 하듯이 리눅스도 시스템에 대해 일정한 이벤트(동작)가 생기면 시스템에 기록을 남깁니다. 이러한 기록을 우리가 흔히 말하는 로그라고 부릅니다. 리눅스에 아무 것도 설치를 하지 않았는데 이벤트에 대한 로그가 쌓일까요? 우리가 설치하지 않아도 기본적으로 리눅스를 설치하면 Active 상태로 돌아가고 있는 데몬들이 있습니다. 그 중에서 rsyslog와 rhel-dmesg가 로그에 관한 역할들을 하는 친구들입니다. rsyslog는 이벤트에 대한 로그를 작성해주는 역할을 합니다. (구 버전에서 사용중인 syslog에서 성능 개선이 되었습니다.) rhel-dmesg는 dmesg에 관한 로그를 작성해주는 역할을 합니다. 아무 설정을 하지 않는다면 .. 2021. 5. 1.