0x0102

DevOps - 시스템 구성 정보 확인 본문

Study/DevOps

DevOps - 시스템 구성 정보 확인

jxx_yxjx 2024. 1. 17. 16:01

DevOps와 SE를 위한 리눅스 커널 이야기

https://www.yes24.com/Product/Goods/44376723

 

DevOps와 SE를 위한 리눅스 커널 이야기 - 예스24

커널은 오랜 세월 기능이 추가되고 개선되어 오면서 완벽하게 이해하기 힘들 정도로 방대해졌다. 하지만 변하지 않는 기본 기능들이 있다. 이런 근간이 되는 기능에 대한 이해를 바탕으로 시스

www.yes24.com

1-1 커널 정보 확인

 

# uname -a

커널 버전을 확인할 수 있는 방법은 여러가지가 있으나 가장 대표적인 방법은  uname 명령을 사용하는 것이다.

$ dmesg

이 외에도 demsg(커널의 디버그 메시지) 명령을 통해 커널이 부팅할 때 나오는 메시지와 운영 중에 발생하는 메시지를 볼 수 있다.

+ #  cat /boot/config-'uname -r` | more 을 통해 현재 사용 중인 커널의 컴파일 옵션도 확인할 수 있다.

 

1-2 CPU 정보 확인

리눅스에서는 dmidecode 명령을 통해 하드웨어 정보를 확인할 수 있다. 이 때 너무 많은 정보가 나오기 때문에 man을 사용하여 먼저 옵션을 확인하고 키워드를 사용하여 필요한 정보만 확인하는 것이 좋다.

bios

Bios - 버전에 문제가 있거나 내 버전을 확인할 때 사용한다.

system

system - 장비의 모델명을 확인할 수 있는 키워드로 dmidecode 명령 중 흔히 사용된다.

이 외에도 cpu 정보를 알 수 있는 processor가 있고 lscpu 명령, /proc/cpuinfo 를 통해서도 cpu 정보를 알 수 있다. 

lscpu는 NUMA 관련 정보도 함께 보여준다. -- (NUMA 관련 정보는 6장에서 이어서)

lscpu

 

1-3 메모리 정보 확인

memory는 Physical memory array 와 Memory device 두 영역으로 나눌 수 있다.

Physical memory array는 memory device의 묶음 배열로 memory device(실제로 시스템에 꽂혀있는 메모리) < physical memory array < cpu < NUMA 순으로 영역의 크기를 확인할 수 있다.

이를 통해 메모리의 용량을 확인할 수 있고 확인한 용량과 free 명령을 통해 확인한 메모리 용량이 다르다면 시스템 메모리 인식에 문제가 있다는 것을 알 수 있다.

 

1-4 디스크 정보 확인

df

df 명령어로 디스크 정보를 확인할 수 있다.

- sda와 hda의 차이점 : IDE 방식(개인용 컴퓨터)의 디스크는 hda, SCSI 방식(서버용 컴퓨터)의 디스크와 최근에 나오는 SATA, SAS와 같은 일반적인 하드디스크는 sda로 표시된다. + SCSI방식이 확장성과 속도에서 성능이 더 좋다.

-vda는 가상서버에서 볼 수 있는 디스크타입

+ smartctl 로 디스크의 물리적 정보도 확인할 수 있다.

 

1-5 네트워크 정보 확인

lspci

lspci 명령어로 위 서버가 intel 에서 만든 82540EM 모델을 사용하고 있는 Gigabit 네트워크 카드임을 알 수 있다.

ethtool 명령어로 해당 네트워크 카드의 지원 속도와 현재 속도, 연결 상태 (정상/비정상) 를 확인할 수 있다.

- g 옵션: Ring Buffer(네트워크 카드의 버퍼 공간)의 크기 확인

- G 옵션 : Ring Buffer의 값 설정

- k 옵션 : 현재 사용 중인 네트워크 카드의 성능 최적화 옵션 확인

- K 옵션 : 확인한 네트워크 카드의 성능 최적화 옵션 설정 ( tcp-offload 기능 : 패킷 분할 작업을 cpu 대신 메모리가 하여 패킷 성능을 높이는 기능이지만 대역폭이 높은 서버에서 이슈를 일으킬 수 있으므로 불특정 패킷 유실이 일어나는 것 같다면 off 하는 것이 좋음)

- i 옵션 : 네트워크 카드의 커널 모듈 정보 표시