Linux / System Administration

최신 리눅스 배포판에서는 기본적으로 journald 로깅만 활성화되어 있어 /var/log/messages 파일이 없을 수 있습니다.
이 경우 rsyslog 패키지를 설치하고 활성화하면 됩니다.

yum -y install rsyslog

systemctl enable --now rsyslog

리눅스 서버의 관리와 모니터링을 위한 웹 기반 인터페이스

  • 설치 확인
rpm -qa | grep cockpit

  • 서비스 활성화
systemctl start cockpit.socket

  • cockpit 서비스를 부팅 시 자동으로 시작되도록 설정
systemctl enable cockpit.socket

  • cockpit 포트 확인 (cockpit Port 9090)
netstat -nltp

/etc/systemd/system/sockets.target.wants/cockpit.socket

  • cockpit 웹 인터페이스에 접근
http://192.168.0.100:9090
  • Gui 환경으로 OS, 시스템, 서비스 등 확인
    • 웹에서 터미널 접속도 가능

시스템 하드웨어 구성 및 BIOS 정보를 출력

  • DMI(Desktop Management Interface) 테이블을 읽어 정보를 제공
  • 사용 예
dmidecode [옵션]
  • 시스템의 기본적인 정보를 제공
dmidecode -t system
  • 메모리 모듈에 대한 정보 제공
dmidecode -t memory
  • 프로세서 관련 정보 제공
dmidecode -t processor
  • 메인보드 정보 제공
dmidecode -t baseboard
  • BIOS에 대한 정보 제공
dmidecode -t bios
  • PCI 슬롯 및 연결된 장치에 대한 정보 제공
dmidecode -t slot
  • 시스템의 캐시 메모리에 대한 세부 정보를 확인
dmidecode -t cache

시스템에 로그인한 사용자들의 로그인 기록을 확인

  • /var/log/wtmp 파일을 읽어와 로그인 세션의 목록을 출력
last [옵션] [사용자명]

# 로그인한 사용자 이름, 터미널 번호, 원격 호스트명, 로그인 시간 및 로그아웃 시간 정보를 제공
  • 사용 예
last
last test

# 특정 사용자의 로그인 정보를 출력
last reboot

# 시스템이 재부팅된 정보를 출력

시스템에 연결된 모든 PCI 장치의 목록 확인

lspci
  • 각 PCI 장치에 대한 더 자세한 정보를 확인
lspci -v
  • Vendor ID와 Device ID를 포함한 목록을 출력
lspci -nn
  • 응용
    • RAID 관련 정보를 포함하는 행만 필터링하여 확인
lspci | grep -i raid

브로드컴 LSI mega cli 레이드

  • 레이드 컨트롤러 정보 확인
# PCI 버스에 연결된 모든 장치들의 목록을 출력
lspci 

#  SATA 장치에 대한 정보를 확인
lspci | grep -i sata
  • 시스템에 설치된 RAID 장치에 대한 정보를 확인
lspci | grep -i raid

# lspci | grep -i raid
02:00.0 RAID bus controller: LSI Logic / Symbios Logic LSI MegaSAS 9260 (rev 05)
03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS TB (rev 05)
  • MegaRaid 설치
wget http://mirror.nforce.com/pub/software/raidtools/Megaraid/8-07-14_MegaCLI.zip

unzip 8-07-14_MegaCLI.zip

# 압축 해제 후 Linux 디렉토리 이동
cd Linux

rpm -ivh MegaCli-8.07.14-1.noarch.rpm
  • MegaRaid 사용법
# 물리적 디스크 정보 확인
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll


# 논리적 디스크 정보 확인
/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aAll


# 어댑터 정보확인
/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aAll


# 컨트롤러 및 디스크 로그 확인
/opt/MegaRAID/MegaCli/MegaCli64 -fwtermlog -dsply -aAll


# 레이드 컨트롤러 정보 확인 
/opt/MegaRAID/MegaCli/MegaCli64 -ShowSummary -aALL


# 디스크 슬롯 확인 (/opt/MegaRAID/MegaCli 경로)
./MegaCli64 -PDList -aALL | grep Slot


# 디스크 상태 확인(fail, 리빌딩 등 확인)
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL |grep Firmware


# 디스크 교체 후 리빌드 중인 디스크 확인
# [252:1] 여기서 1은 디스크 슬롯 정보를 나타낸다.
# /opt/MegaRAID/MegaCli 경로
./MegaCli64 -PDRbld -Sho

nmcli 는 NetworkManager Command Line Interface의 약자로, 리눅스에서 네트워크 관리를 할 때 유용하게 사용되는 명령어

  • 모든 네트워크 장치 상태 확인
nmcli device status
  • 네트워크 연결 상태 확인
nmcli connection show
  • 특정 네트워크 연결 상세 정보 확인
# nmcli connection show [연결 이름]

nmcli connection show eth0
  • 네트워크 연결 설정을 다시 로드
nmcli connection rload
  • 네트워크 장치 연결을 중지
# nmcli connection down [연결 이름]

nmcli connection down eth0
  • 네트워크 장치 연결 활성화
# nmcli connection up [연결 이름]

nmcli connection up eth0

로컬에서 원격지로 전송

rsync [옵션] 파일명 사용자@서버주소:목적지경로

rsync -avzh /data/backup min@192.168.0.120:/backup
  • 원격 서버의 파일을 로컬로 가져오기
rsync [옵션] 사용자@서버주소:파일경로 로컬경로

rsync -avzh min@192.168.0.120:/backup /data/backup
  • ssh 포트가 기본이 아닐 경우
rsync -e 'ssh 1234' -avzh /data/backup min@192.168.120:/backup

네트워크를 통해 안전하게 파일을 복사하는 명령어. 보통 다른 서버나 로컬 컴퓨터 간에 파일을 전송할 때 많이 쓰이는데, SSH 프로토콜을 이용해서 데이터가 암호화되어 전송되기 때문에 안전하다.

  • 로컬에서 원격 서버로 전송
scp [옵션] 파일명 사용자@서버주소:목적지경로

scp -r /data/backup min@192.168.0.80:/bacakup
  • 원격 서버의 파일을 로컬로 가져오기
scp [옵션] 사용자@서버주소:파일경로 로컬경로

scp -r min@192.168.0.80:/backup /data/backup
  • 기본 ssh 포트가 아닐 경우
scp -p 1234 -r /data/backup min@192.168.0.80:/backup

서버 간의 키 기반 인증 활성화

  • 키 생성
ssh-keygen -t rsa
[login@localhost ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/login/.ssh/id_rsa):
Created directory '/home/login/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/login/.ssh/id_rsa.
Your public key has been saved in /home/login/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:241anywVANPnSruoXq6vYo0BMcPSxLKXFZq+OKWhbOG login@localhost.localdomain
The key's randomart image is:
+---[RSA 3072]----+
|+.oo.      .o    |
|+o...      o .   |
|==..      o . .  |
|Oo       . . o   |
|oO      S o o    |
|+++    . o o o   |
|oEo     + o o +  |
|.o .   + o o . . |
|. ..+=+ ooo      |
+----[SHA256]-----+

~/.ssh 디렉토리가 생성되고, id_rsa(개인키), id_rsa.pub(공개키),known_hosts 파일이 생성된다.

  • 공개 키 복사
vim id_rsa.pub

# 파일 내용 복사
  • ssh 자동 접속 하려는 서버에 내용 추가
~/.ssh/authorized_keys

# 복사한 파일 내용 붙혀넣기


  • 패스워드 없이 자동 접속이 이루어진다.

주기적으로 특정 명령어를 실행하여 출력 결과를 실시간으로 모니터링할 수 있게 해주며, 주로 시스템 상태나 특정 로그, 파일 변화를 실시간으로 관찰할 때 유용하다.

———————————————————————————————————————————

  • 예시
watch free -m

watch df -h