본문 바로가기

Linux/Linux47

Linux) 빠르게 Log Message 확인하기 빠르게 Log 확인하기 - LAB 가장 종합적인 Log를 보려면 "/var/log/message"를 확인하는 것이 좋습니다. 그런데 Message에 쌓인 양이 너무 방대해서 감당이 안된다 싶으면 일단 1차적으로 에러 구문만 찾아보고 빠르게 스캔하는 방법도 있습니다. 이 방법은 서버 대상이 너무 많을 떄 쓰는 임시적인 방법으로 장애가 발생한 서버를 분석할 때 해당 명령어를 사용해서 분석하는 것은 권하지 않습니다. 장애가 난 서버는 앞 글에 썼던 전체적인 서버 성능 지표 확인과 Log를 자세히 볼 필요가 있습니다. Linux) 짧은 시간에 빠르게 서버 상태 파악하기(1) 서버 상태 파악하기 처음 보는 서버나 많이 접하지 않아서 낯설은 서버들을 접하는 경우가 일을 하다 보면 많이들 생길 것입니다. 아래의 명령.. 2021. 5. 9.
Linux) 짧은 시간에 빠르게 서버 상태 파악하기(3) 서버 상태 파악하기 - LAB "pidstat" 명령을 이용해 Process 별로 CPU를 얼마나 사용중인지 확인합니다. "top" 명령과 비슷한 Output을 가져오지만 해당 세션(스크린) 전체에 표시하는 것이 아니고 Interval 주기마다 변화되는 지표를 보여줍니다. 누군가에게 보여주거나 기록하기에 좋은 편이긴 합니다. 아래의 명령어는 1초마다 Process별로 Resource를 얼마나 사용하고 있는지 확인합니다. # pidstat 1 특별히 많이 잡고있는 솔루션도 보이지 않고 Load 역시 매우 안전한 편입니다. Block Device의 성능과 관련된 지표를 확인하기 위한 "iostat" 명령을 사용합니다. 1초 간격으로 Block Device에 관한 지표를 받아 옵니다. # iostat -xz .. 2021. 5. 9.
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.