19일차 - 리눅스 (로그, 네트워크, 디스크)

Jk Lim·2023년 5월 9일
0

MLOps 부트캠프

목록 보기
18/34

19일차는

  1. 로그
  2. 네트워크
  3. 디스크에 관하여 학습하였다.

1.로그

  • 어디서 무슨일이 일어났는지를 기록

  • 이벤트 : 시스템에서 발생하는 사건 사고

  • 이벤트가 발생하면 가공이 발생한다. ( 1차 가공 → 2차 가공)

  • 1차 가공 (/run/log/journal) : 이벤트 발생에 대한 모든 정보

  • 2차 가공 (/var/log) : 디스크 과부하 방지를 위한 분류 작업

  • run 디렉토리 : 휘발성 데이터. 시스템 종료 시 지워지는 데이터를 보관

  • var 디렉토리 : 가변성. 내용이 바뀔만한 데이터

  • systemd-journal : 1차 가공의 주체. 바이너리 파일. journalctl 로 확인 가능

  • rsyslogd : 2차 가공의 주체. 분류 작업. ASCII 텍스트 파일. vim, cat 등으로 확인 가능

  • tail -f : 실시간으로 추가되는 데이터를 확인 할 수 있음 (tail -f /var/log/secure)
    -/etc/logrotate.conf : 로그파일의 순환에 대한 기준 정보

  • 1차 분류(systemd-journal) > 2차 분류(rsyslog)

  • 2차 분류시에는 /etc/rsyslog.conf 파일을 근거로 분류

/etc/rsyslog.conf

  • 항목.위험정도 보관파일
  • 모든 파일의 info를 /var/log/messages 디렉토리에 보관. 메일,인증,크론 제외
  • 인증과 관련된 모든 위험정도를 /var/log/secure 디렉토리에 보관
  • 모든 파일의 emerg 이벤트 발생 시 :omusrmsg:* 모든 사용자에게 메시지 발송

위험정도

emerg : 시스템이 불능 상태에 빠졌을 경우
alert : 시스템이 불능 상태에 빠질 수 있는 경우
crit : 시스템에 영향을 미칠 수 있는 경우
err : 명령어가 잘못된 경우
warn : 설정은 되지만 조건을 충족하지 못하는 경우
notice : 단순 알람
info : 단순 프로그램 정보
debug : 디버깅

시간정보

로그는 시간에 대한 정보가 중요 → timedatectl
timedatectl list-timezones : 시간 기준정보 지역 리스트
timedatectl set-timezone Asia/Seoul : 시간 기준 지역 변경
/etc/chrony.conf 에 시간 정보를 가져오는 설정이 담겨있음
서버 네군데서 iburst (짧게 짧게 계속 동기화 시키겠다) 시간정보를 가져와 동기화 시킴
chronyc sources -v : 시간 동기화 기록 출력


2.네트워크

네트워크 설정에 필요한 3요소 - IP주소, 서브넷 마스크, 게이트웨이

  • IP주소 : 실제 주소
  • 서브넷 마스크 : 대역
  • 게이트웨이 : 관문
  • 현재 가상머신 CentOS에는 두개의 네트워크가 구성되어있음.
    (1) NAT(enp0s8) : 외부와 통신하기 위한 장치
    (2) host-only(enp0s3) : 가상머신끼리 통신하기 위한 장치
  • ip address show (ip a) : 네트워크 관련 정보 확인

(실습) 직접 IP 주소 할당

  • 서버 PC의 IP주소는 고정되어 있어야 함 -> DHCP 사용 설정을 OFF하고 직접 네트워크 및 IP설정

nmcli : 명령어 입력 창에서 네트워크를 관리
nmcli con show : 사용중인 네트워크 인터페이스 확인

(1) host-only 인터페이스 설정 (enp0s3)

  • nmcli connection add con-name eno1 type ethernet ifname enp0s3 ipv4.method manual ipv4.addresses 192.168.56.100/24 ipv4.gateway 192.168.56.1 ipv4.dns 8.8.8.8 : 네트워크 추가 및 주소 세팅
  • nmcli con up eno1 : 활성화 (네트워크 주소 세팅 후에 반드시 활성화 시켜줘야 함)
  • nmcli con show 로 확인
  • 정상 세팅 확인 방법 : ubuntu 터미널에서 ping 보내기
    nmcli con del eno1 : 네트워크 인터페이스 제거 (잘못 세팅했을 경우)
  • 기존의 있던 인터페이스 설정 변경 : nmcli con mod [인터페이스명][수정할 부분]
  • nmcli con mod eno1 ipv4.address 192.168.56.150
  • 인퍼페이스를 바꿀 경우 바로 적용 안됨. → 비활성화 후 다시 활성화
    nmcli con down eno1
    nmcli con reload
    nmcli con up eno1

(2) NAT 인터페이스 설정 (enp0s8)

이름 : eno2
이더넷, 장치는 enp0s8
수동세팅. ip주소 10.0.2.150/24 DNS 8.8.8.8


3.디스크

(실습) 가상머신에 디스크 추가, 파일시스템 적용, 마운트포인트 생성

(1) CentOS 설정 → 저장소 → 하드디스크 만들기로 3개 추가

디스크 관리 용어 / 명령어

  • 스토리지 : 물리 저장 공간
  • 파티셔닝 : 물리 저장 공간을 목적에 맞춰 분할하는 기술
  • 파티션 : 분할된 물리 저장 공간
  • lsblk : 스토리지에 관련된 내용을 출력하는 명령어

파티셔닝 방식

  1. MBR
    • 2TB 까지 지원
    • Primary 최대 4개까지 분할 가능
    • 더 만들고 싶을 때, 마지막 공간을 extended 형태로 변경 → extended는 logical로 구성됨.
    • Primary + logical 은 최대 15개까지 가능
    • logical 공간은 파티션에서 가장 뒷단에 위치해야함. (Primary의 중간에 위치할 수 없음)
    • 부팅 시, BIOS 방식을 채택
  2. GPT
    • 8ZB 까지 지원
    • 128개까지 분할 가능
    • 단순 분할 (Primary, logical의 개념이 없음)
    • 부팅 시, UEFI 방식을 채택

파티셔닝 도구

  • MBR-fdisk, GPT-gdisk, MBR,GPT-Parted (3가지)
    fdisk /dev/sdb …
  • parted 방식은 파티셔닝 작업 후 udevadm settle 명령어로 저장해야함

(2) fdisk /dev/sdb 로 파티셔닝

  • 파티션 영역을 직접 접근 할 수 없음.
  • /mnt/data 라는 디렉토리에 파티션 영역을 얹으면 접근 가능 → mount개념
  • 하지만 mount를 하려면 해당 파티션 영역에 파일시스템을 적용해야 함

파일시스템

  • 저장 공간의 목적에 맞춰 옵션들을 설정해두는 것 (공유, 압축, 작업 설정 등)
  • 종류
    • xfs : 보통 리눅스에서 사용하는 방식
    • ext : 초기 리눅스에서 사용하던 방식
    • ntfs : 현재 윈도우에서 사용하는 방식
    • fat : 초기 윈도우에서 사용하던 방식 (현재는 usb에서 주로 사용)

(3) 파일 시스템 적용

  • (방법1) mkfs -t xfs /dev/sdb1 : mkfs 명령어 -t 종류(타입) 장치
  • (방법2) mkfs.xfs /dev/sdb2 : /usr/sbin/ 시스템 명령어에 있는 실행파일을 직접 호출

(4) 마운트 지점 생성(/mnt/data) 및 마운트

  • /mnt 디렉토리에 마운트 지점으로 사용할 디렉토리 생성 (/mnt/data)
  • mount /dev/sdb1 /mnt/data
  • lsblk --fs : 파일시스템과 마운트 포인트정보, 장치이름(Serial No) 등을 확인 할 수 있음

(5) 마운트 확인 방법

  • 방법1 : lsblk의 MOUNTPOINT
  • 방법2 : mount 명령어 (mount | grep sdb1)

(6) 마운트 해제

  • umount 명령어 : umount /mnt/data 또는 umount /dev/sdb1 /mnt/data

0개의 댓글