본문 바로가기

Linux/Linux47

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.
Linux) Kdump 활용해서 원인 분석하기(2) 이 글을 보기 전 읽으면 도움될 개념 Linux) Kdump 활용해서 원인 분석하기(1) kdump란? kexec가 베이스가 되기 때문에 kexec를 먼저 알아보고 kdump를 설명하려고 합니다. kexec는 커널 패닉 발생시 BIOS를 거치지 않고 빠르게 Secondary Kernel로 부팅시키는 역할을 합니다. kdump(The kexec.. lilo.tistory.com Core Dump 생성 - LAB 정상적인 서버를 억지로 Kernel Panic(커널 패닉) 상태로 빠지게 만들기 위해 아래와 같은 명령어를 입력합니다. 명령이 입력되면 메모리 상태의 덤프를 뜬 vmcore라는 파일이 생성됩니다. 별도의 설정을 하지 않았으면 Core Dump 파일은 "/var/crash"에 저장이 됩니다. # ec.. 2021. 5. 1.
Linux) Kdump 활용해서 원인 분석하기(1) kdump란? kexec가 베이스가 되기 때문에 kexec를 먼저 알아보고 kdump를 설명하려고 합니다. kexec는 커널 패닉 발생시 BIOS를 거치지 않고 빠르게 Secondary Kernel로 부팅시키는 역할을 합니다. kdump(The kexec-based Crash Dumping Solution)는 커널 패닉(OS 행)이 발생한 당시에 시스템의 메모리 상태를 vmcore 파일로 생성하는 작업을 해줍니다. vmcore 파일은 binary 형태로 vim이나 cat으로 열 수 없습니다. kdump를 사용하는 궁극적인 이유는 OS 행이 걸린 원인을 분석하고 추적하여 같은 문제로 재발하는 것을 방지하기 위해서 사용합니다. 서버가 계속해서 행이 걸린다면 서비스에 문제가 생길 것이고 기업의 입장에서는 돈으.. 2021. 4. 28.
Linux) 리눅스 부팅 과정 Linux Booting Sequence 리눅스 부팅 순서(과정)은 시스템 엔지니어 면접에서 가장 많이 나오는 질문 중 하나입니다. "왜 많이 나오는걸까?"라는 생각을 했었습니다. 위는 부팅 로그와 관련된 "dmesg"입니다. 보통 예상치 못한 재기동이 될 때나 OS가 행 걸리고나서 원인을 분석하려고 봅니다. 재기동이 된 시점을 찾으려면 리눅스의 부팅 순서를 정확하게 알고 있어야 해당 부분의 로그를 찾을 수 있겠다는 생각이 들었습니다. 제가 생각했을 때 직접적인 이유는 Trouble Shooting(문제 해결)과 기본적으로 자신이 사용하고 있는 OS가 어떠한 로직으로 돌아가는 것인지 알고 사용하는지를 알기 위함인것 같습니다. Linux Booting Sequence 먼저 서버(Bare Metal)의 전원.. 2021. 4. 27.
Linux) Disk Rescan 스크립트 (RHEL 7.X 기본 제공) RHEL 7.X (CentOS 7.X) Disk Rescan Scripts 가끔씩 해당 명령이 안보인다는 분들이 계셔서 스크립트의 내용과 파일을 첨부하여 올립니다. (CentOS에도 기본으로 제공되니 참고하기 바랍니다.) #!/bin/bash # Skript to rescan SCSI bus, using the # scsi add-single-device mechanism # (c) 1998--2010 Kurt Garloff , GNU GPL v2 or v3 # (c) 2006--2013 Hannes Reinecke, GNU GPL v2 or later # $Id: rescan-scsi-bus.sh,v 1.57 2012/03/31 14:08:48 garloff Exp $ SCAN_WILD_CARD=429.. 2021. 4. 26.
Linux) Online 상태에서 스토리지 추가 OS에서 Storage, Disk 온라인 상태에서 추가 앞 글에서 파일 시스템 증설 작업을 할 때는 VM을 이용해서 작업을 할 때는 디스크를 추가하자마자 OS에서 인식하는 것을 볼 수 있었습니다. 하지만 실무에서는 SAN Switch에서 조닝작업을 한 후에 OS에 다수의 Path를 던져 Multipath 작업을 할 경우, 온라인 상태에서 Physical Storage(Disk)를 추가로 넣을 경우가 많습니다. 이와 같이 온라인 상태에서 스토리지를 추가할 경우 Linux에서 인식을 하지 못합니다. Down Time을 가질 경우는 서버를 재기동을 하면 자동으로 디스크가 잡히지만 대부분이 PM(재기동) 작업이 없는 이상 온라인 상태에서 작업을 하는 경우가 대다수입니다. OS에서 Storage, Disk 온라인.. 2021. 4. 26.
Linux) 파일 시스템 증설 (LVM 증설) - Online 파일 시스템 증설 리눅스를 구축하고 추후에 "LV 증설 해주세요, LUN 증설 해주세요, 파일 시스템 증설해주세요, 파티션 용량 늘려주세요" 이러한 요구를 많이 듣게될 것입니다. 사실 결과론으로 이야기하면 그렇게 커맨드가 많은 편도 아니고 복잡한 편도 아닙니다. 하지만 중요한 것은 우리가 증설할 서버는 VM이 아닌 실제 운영중인 서버이기 때문에 온라인 증설을 할 때가 많습니다. 그만큼 조심해야되고 OS 단에서 제대로 인식을 하는지 확인해야 될 필요가 있습니다. 만약에 이중화 Mirror 클러스터 솔루션이 돌아가고 있는 상태라면 둘의 디스크 혹은 스토리지는 Mirroring이 되는 상태로 데이터의 일관성을 가져야됩니다. 만약 OS에서 증설된 디스크의 용량을 인식을 하지 못하는 상태가 계속 유지된다면 해당 .. 2021. 4. 25.
Linux) 파일 시스템은 무엇일까? 파일 시스템(File System) 파일 시스템은 파일에 이름을 붙이고 저장, 탐색을 위해 파일을 어디에 위치 시킬 것인지 나타내는 체계입니다. 파일들이 디스크 상에서 구성되는 방식을 뜻하기도 합니다. 이는 리눅스 뿐만 아니라 거의 모든 OS(Operating System)가 지원하고 있습니다. 도서관에서 저자, 책 분류, 책 제목 등의 필터로 검색 및 탐색이 쉽게 할 수 있도록 하는 것과 비슷한 맥락입니다. 리눅스는 윈도우와 달리 Ext(Extended File System)을 사용합니다. 이 글에서는 파일 시스템에 대해서 너무 깊게는 들어가지 않고 실제 실무에서 사용하는 위주로 안내하려고 합니다. 위의 그림은 EXT의 구조를 보여주는 그림입니다. Boot Sector는 MBR과 부트로더(LILO or.. 2021. 4. 25.