본문 바로가기

Linux81

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.
Linux) 파티션을 나눠서 효율적으로 작업하기 (2) 서버 용도 정하기 파티션을 나누는 작업을 해야하는데 하기 전에 서버의 용도를 정합니다. 만약 이 서버를 Web Server로 사용하고 싶다는 가정을 하고 하나의 디스크의 파티션을 나누는 작업을 합니다. Web Server에 필요한 파티션 크게 보면 Log와 Web Server의 Engine과 설정 파일이 들어갈 공간이 있어야됩니다. 이 부분은 사람다다 다르게 생각할 수도 있고 작업 환경에 따라 달라지는 부분입니다. Standard Partition / LVM Mount Point Size /dev/sda1 /boot 1G (1024MB) /dev/mapper/VG00-root_lv / 나머지 /dev/mapper/VG00-swap swap 4G /dev/mapper/VG01-APP_lv /APP 50G .. 2021. 4. 24.
Linux) 파티션을 나눠서 효율적으로 작업하기(1) 파티션(Partiton) 파티션은 리눅스를 설치할 때 고민하게되는 부분 중 하나입니다. 파티션이란 하드 디스크(HDD, SSD)를 논리적으로 나눈 구역을 말합니다. 즉, 하드 디스크 하나로 여러 공간을 만들어서 작업의 효율을 높이는데 사용되는 기술입니다. 위의 예제는 윈도우 10의 컴퓨터에 잡힌 HDD 상태입니다. 실제 물리적으로는 하나의 디스크이지만 여러 파트를 나누어서 해당 로컬 디스크에는 어떠한 자료들을 저장할 것이라는 것을 지정해놓습니다. 이의 원리는 윈도우나 리눅스 뿐만아니라 거의 모든 OS에서 해당된다고 생각해주시면 될 것 같습니다. 파티셔닝의 장점 하나의 파티션에서 모든 작업을 일괄적으로 처리하면 효율도 떨어질 뿐더러 관리 포인트도 어지러워집니다. 리눅스에서는 마운트 포인트나 LV 이름에 특.. 2021. 4. 24.