일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 차분 백업
- key/value
- vault agent
- 리눅스
- 파일시스템
- 통합 풀 백업
- 커널 파라미터
- auth methods
- kv
- REST API
- devops
- SHR
- Role
- VIRT
- 전체 백업
- 앤서블
- DATA 백업
- secret engines
- 인프라
- SSH OTP
- hashicorp
- Secret Engine
- backend storage
- 백업
- 구성관리
- 자동화
- Vault
- 시스템
- IAC
- 유닉스
- Today
- Total
클라우드 아카이브
[리눅스] 시스템 구성 정보 확인 본문
0. 배경
리눅스 서버를 구축/운영할 때 bash/python와 같은 Shell 혹은 앤서블과 같은 IaC 도구를 사용하여 패치 등을 자동화하기 위해 다양한 시스템 정보 확인 관련 명령어 사용하여 정보를 수집하는 경우가 생깁니다. 물론 앤서블을 사용할 때는 gather_facts 정보를 통해 파악이 가능하지만, 본 기능은 성능 저하 이슈가 발생할 수 있으며 성능을 극한으로 끌어올릴 때 uname을 통해 커널 정보를 수집해야될 수도 있습니다. 따라서 시스템 정보 확인 명령어는 DevOps 및 SE 업무를 수행하는데 반드시 알고 있어야됩니다. 본 포스팅에서는 커널, CPU/Memory, 디스크 및 NIC 등을 확인하는 방법에 대해 알아보겠습니다.
1. 커널 정보 확인 (uname)
# 커널 전체 정보 확인
$ uname -a
Linux ip-172-31-100-100.ap-northeast-2.compute.internal 4.18.0-348.23.1.el8_5.x86_64 #1 SMP Tue Apr 12 11:20:32 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux
# 커널 버전 확인
$ uname -r
4.18.0-348.23.1.el8_5.x86_64
# 프로세서 타입 확인
$ uname -p
x86_64
# 호스트이름 확인 (hostname 명령어와 동일)
$ uname -n
ip-172-31-100-100.ap-northeast-2.compute.internal
2. CPU/BIOS 정보 확인 (dmidecode)
dmidecode는 컴퓨터의 DMI (Desktop Management Interface) 테이블 정보를 사람이 읽을 수 있는 형태로 디코딩하여 보여주는 명령어입니다. 해당 명령어를 통해 CPU 및 BIOS 등에 대한 정보를 확인할 수 있습니다. dmidecode에서 자주 사용하는 타입은 system,processor, memory, bios가 있습니다.
# dmide
$ dmidecode -t
dmidecode: option requires an argument -- 't'
Type number or keyword expected
Valid type keywords are:
bios
system
baseboard
chassis
processor
memory
cache
connector
slot
# 하드웨어에 대한 정보를 비롯하여 전반적인 시스템 관련 정보를 확인
$ dmidecode -t system
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
13 structures occupying 568 bytes.
Table at 0x7D9F0000.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Amazon EC2 # BIOS 제조사
Version: 1.0
Release Date: 10/16/2017
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 64 kB
Characteristics:
PCI is supported
EDD is supported
ACPI is supported
System is a virtual machine
BIOS Revision: 1.0
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: Amazon EC2 # 장비 제조사
Product Name: t3.small # 장비 타입
Version: Not Specified
Serial Number: ec2927db-4af7-88b1-7b5e-1c14c865f446
UUID: ec2927db-4af7-88b1-7b5e-1c14c865f446
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified
....
2.1. CPU 정보 확인
dmidecode -t system 명령어 입력 시 나오는 부분 중 CPU 관련 내용을 해석해보겠습니다. 본 서버의 CPU는 Intel Xeon 모델이며 단일 소켓으로 최대 3.5 GHz 속도를 낼 수 있습니다. 하기 정보에서 주의깊게 볼 수 있는 부분이 단일 소켓이 보유한 코어 개수가 1개인데 멀티 코어 기능을 수행한다는 것입니다. 즉 한 개 코어로 두 개 코어와 같은 역할을 수행하며 이게 가능한 이유는 하이퍼스레딩 기능이 enabled되어 있기 때문입니다.
Handle 0x0004, DMI type 4, 42 bytes
Processor Information
Socket Designation: CPU 0 # Socket 확인
Type: Central Processor
Family: Xeon
Manufacturer: Intel(R) Corporation
...
Version: Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz # CPU 모델 정보
Voltage: 1.6 V
External Clock: 100 MHz
Max Speed: 3500 MHz # CPU 최대 속도
Current Speed: 2500 MHz # 현재 CPU 속도
...
Core Count: 1 # 코어 개수
Core Enabled: 1
Thread Count: 2
Characteristics:
64-bit capable
Multi-Core # 1개 코어가 멀티 코어 역할을 수행 (하이퍼스레딩 기능 enabled)
Hardware Thread
Execute Protection
...
dmidecode 명령어 뿐만 아니라 lscpu 명령어를 통해 CPU 세부내용 조회가 가능합니다.
# CPU 세부내용 확인
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2 # CPU 코어는 2개
On-line CPU(s) list: 0,1
Thread(s) per core: 2 # 각 코어 당 스레드는 2개
Core(s) per socket: 1 # 각 소켓은 1개 코어로 구성
Socket(s): 1 # 소켓은 1개
NUMA node(s): 1 # NUMA 노드는 1개
Vendor ID: GenuineIntel
BIOS Vendor ID: Intel(R) Corporation # BIOS 제조사
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
BIOS Model name: Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
Stepping: 7
CPU MHz: 2499.996
BogoMIPS: 4999.99
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 36608K
NUMA node0 CPU(s): 0,1
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves ida arat pku ospke
2.2. Memory 정보 확인
dmidecode -t system 명령어 입력 시 나오는 부분 중 Memory 관련 내용을 해석해보겠습니다. 본 서버는 Physical Memory Array 1개로 구성되어 있으며 해당 어레이에 2GB 메모리 1개가 장착되어 있습니다.
Handle 0x0008, DMI type 16, 23 bytes
Physical Memory Array # Physcal Memory Array임을 확인
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Unknown
Maximum Capacity: 2 GB # 1개 이상의 Physical Memory를 장착하여 최대 2GB 용량까지 확장 가능
Error Information Handle: Not Provided
Number Of Devices: 1
Handle 0x0009, DMI type 17, 34 bytes
Memory Device # Physical Memory임을 확인
Array Handle: 0x0008
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 2 GB # 본 메모리 용량
Form Factor: DIMM
Set: None
Locator: Not Specified
Bank Locator: Not Specified
Type: DDR4
Type Detail: Static Column Pseudo-static Synchronous Window DRAM
Speed: 3200 MT/s
Manufacturer: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Rank: Unknown
Configured Memory Speed: Unknown
Handle 0x000A, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x0000000000000000k
Ending Address: 0x000000007FFFFFFFk
Range Size: 2 GB
Physical Array Handle: 0x0008
Partition Width: 1
Handle 0x000B, DMI type 20, 35 bytes
Memory Device Mapped Address
Starting Address: 0x0000000000000000k
Ending Address: 0x000000007FFFFFFFk
Range Size: 2 GB
Physical Device Handle: 0x0009
Memory Array Mapped Address Handle: 0x000A
Partition Row Position: 1
Handle 0x000C, DMI type 127, 4 bytes
End Of Table
4. 디스크 정보 확인
디스크 정보를 확인할 수 있는 명령어는 lsblk, df입니다. lsblk와 df의 차이점에 대해 간략하게 설명드리면, lsblk는 디바이스 드라이버(/dev 참고)에 쿼리를 보내 물리 디스크에 대한 정보를 질의하는 반면, df는 파일시스템에 쿼리를 보내 논리 디스크에 대한 정보를 질의합니다. 본 포스팅에서는 df를 통한 디스크 정보 확인 방법을 살펴보겠습니다.
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 19G 543M 98% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/vda2 1.4T 371G 986G 28% /data
...
/dev/sda, /dev/hda, /dev/vda의 차이점
- /dev/sda : SCSI, SATA, SAS 타입 (서버용 컴퓨터)
- /dev/hda : IDE 타입 (개인용 컴퓨터)
- /dev/vda : 하이퍼바이저 전용 타입 (XEN, KVM 등)
* SCSI, IDE : 시스템이 실제 물리 디스크와 통신하기 위해 사용하는 컨트롤러 부품의 타입
5. 네트워크 정보 확인
RAID 카드 ,HBA 카드, VGA 카드, NIC 등 메인보드의 주변 장치 종류 및 정보를 확인하고 싶을 때 lspci 명령을 사용합니다.
[출처]
- https://jangpd007.tistory.com/240
- https://lifegoesonme.tistory.com/378
'OS 및 스토리지 > Linux' 카테고리의 다른 글
[프로세스] VIRT, RES, SHR과 Memory Commit (0) | 2022.05.25 |
---|---|
[Linux] 리눅스 time, uptime을 활용한 Load Average 확인 및 활용 (0) | 2022.03.19 |
[SSH] SSH 개념과 통신 방식 및 실습 (0) | 2022.03.19 |
[Linux][RHEL/CentOS 7] Teaming 구성 (0) | 2022.03.06 |
[리눅스] TTY, PTY, PTS 개념과 유래 (0) | 2022.03.05 |