기초 물방울/리눅스&VM

시스템 수업 4일차 (커널, 클라우드서비스, WAS, NTP, 펌웨어)

Weeding 2022. 10. 7. 22:39
반응형
SMALL

운영체제란?

  • 하드웨어를 제어하고 이용자에게 서버에 명령을 입력하도록 CLI와 GUI와 같은 인터페이스를 제공하는 기본 SW

 

 

윈도우 서버를 사용하는 이유

  • 액티브 디렉터리(AD) 환경을 사용하고 싶을 때
  • 닷넷(.NET) 프레임워크를 사용하고 싶을 때

 

 

유닉스 운영체제의 구조는?

  1. 운영체제
  2. 커널
    - 운영체제의 핵심으로 하드웨어 운영 및 관리
  3. 시스템 호출(System call)
    - 커널이 제공하는 서비스에 대한 프로그래밍 인터페이스 역할
  4. 쉘(Shell)
    - 사용자와 운영체제 사이의 인터페이스, 명령어 해석기

 

 

 

커널의 역할은?

  1. 프로세스 관리
    - 여러 프로그램이 실행될 수 있도록 프로세스들을 CPU 스케줄링하여 동시에 수행되도록 함.
  2. 파일 관리
    - 디스크와 같은저장장치에 파일 시스템을 구성하여 파일 관리
  3. 메모리 관리
  4. 통신 관리
  5. 주변장치 관리

** 참고로 커널은 깨지면 답이 없어서 재설치를 해야함 --> 백업의 필요성!

 

 

 

 

로키 리눅스

  • 기존 CentOS의 정신적 후속작에 해당.
  • CentOS 8은 이미 서비스 종료, 7은 24년6월에 종료되기에 앞으로 대세가 될 확률이 높은 배포판.

 

 


 

 

 

클라우드 서비스 종류

출처 : https://www.chorus.co/resources/news/iaas-paas-saas-a-beginners-guide-to-the-cloud

 

출처 : https://velog.io/@kmin-283/IaaS-PaaS-SaaS

 

 

  IaaS PaaS SaaS
  서비스로서의 인프라 서비스로의 플랫폼 서비스로의 소프트웨어
특징 물리적 자원을 서버형태로사용.
--> 고정비가 들지 않고 즉시 소비
가상화 기술을 기반으로 구축되어
리소스를 쉽게 확장 또는 축소 가능
가장 포괄적인 형식.
제공업체가 모든걸 관리.
장점 개발 및 테스트 환경의 구축 및
제거가 빠르고 유현함
사용자가 자체 애플리케이션을 개발, 실행 및 관리 -> 하드웨어 유지관리 X 소프트웨어를 설치한 물리적 자원이 필요하지 않다.
단점 인터넷이 안되면 접속 불가 특정 플랫폼 서비스에 종속될수 있다. 커스터마이징이 어려움.
예시 AWS, VMware Azure, GitHub Slack, Salesforce

 

 

 


 

 

WEB 서버란?

  • 클라이언트가 서버에 페이지 요청을 하면 요청을 받아 정적 컨텐츠(.html, .png, .css등)를 제공하는 서버
  • 클라이언트에서 요청이 올 때 가장 앞에서 요청에 대한 처리를 진행
  • 정적 콘텐츠 요청
    - 웹 서버에서 정적 콘텐츠 클라이언트에게 전달
  • 동적 콘텐츠 요청
    - 웹 서버에서 처리하기 버거워 WAS에게 요청.
  • 대표적인 웹서버
    1. Apache
    2. Ngnix

출처 : https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html

 

 

 

WEB서버와 WAS 서버 구조

출처 : https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html

 

 

WAS

  • DB 조회 혹은 로직 처리가 요구되는 동적 콘텐츠를 제공하기 위해 만들어진 Web Application Server
  • 분산 트랜잭션, 보안, 메시징, 쓰레드 처리 등의 기능을 처리하는 분산환경에서 사용하는 미들웨어
  • JSP, Servlet이 구동할 수 있는 환경을 제공.
  • 컨테이너, 웹 컨테이너 혹은 서블릿 컨테이너라고도 칭함

  • WAS는 웹 서버의 역할도 맡을 수 있다.
  • WEB서버와 WAS 서버를 분리하는 이유는 
    이전에 정적 콘텐츠까지 WAS에서 하기에는 서버에 부하를 많이 줘 비효율적이어서 나눔.
    최근에는 WAS의 성능이 올라가 굳이 성능상의 이유 때문에 나누지는 않음.
  • 현재 분리하는 이유를 살펴보면
    1. 물리적 분리로 인한 보안 강화 
    - WAS에서 db에 접근하는 한 단계거 더 생겨 보안에 상대적으로 용이

    2. 여러 WAS를 연결할 수 있다.
    - java서버, php서버 등 하나의 웹서버를 통해 여러 서비스가 가능

    3. 장애 극복
    - WAS에 오류가 날 경우 웹서버가 이를 인지하고 사용자가 오류가 난 WAS에 접근하지 못하게 막고 WAS를 재시작!
    - 이 때, 사용자는 WAS를 호출하는 요청을 하기 전까지는 웹 서버에 정적콘텐츠 등을 보여주고 있어서 오류 상황을 인지하지 못할 수 있다!

    --> 이러한 이유들로 서비스의 규모가 커질수록 WAS와 웹 서버를 더욱 필수적으로 분리함!

 

 

 

 

DB 서버와 스토리지의 차이점

  • DB 서버 = 저장 및 조작
  • 스토리지 = 저장하는 장치
  • 데이터베이스는 체계적인 데이터의 모음.
  • 데이터베이스는 데이터 저장 및 조작을 지원하지만 스토리지는 조작은 불가능하다!

 

 

SQL

  • S-Q-L 또는 See-Qel 로 발음되는 구조화된 쿼리 언어를 의미함.
  • SQL은 관계형 데이터베이스를 다루는 표준 언어
  • ex) SELECT * FROM Members WHERE Age > 30

 

 

 

 

NTP서버

  • 네트워크로 구성된 환경에서 운영되는 시스템들의 시간을 동기화하기 위한 규약
  • 예를 들어 CCTV 영상을 저장하는 서버가 시간이 맞지 않으면?
  • 내부 시스템 장애 원인을 파악할 때 서버나 네트워크 장비 시간 오차로 Log 시간이 틀어지면?
  • --> 그래서 서버나 네트워크 장비들이 NTP서버를 통해 시간을 받아와 정확히 맞는 시간을 맞추는게 중요하다!

 

 

 

 

인프라 운영

  • 24시간, 365일 감시
  • IT자동화 = 인프라 자동화
    --> 반복 가능한 지침과 프로세스를 만듬
  • 리스크 관리
    --> 장애가난걸 메모하고 다음번에 참고하여 관리 --> 문서화

 

 

장애 조치 방법

병목 해결

  1. 네트워크 병목 해결 
    - 새장비로 교체
    - 서버를 분산해 트래픽을 분산하거나 인터페이스를 더 빠른것으로 바꿈(1Gbps -> 10Gbps)

  2. 서버 명목 해결
    - CPU, 메모리, 네트워크, 디스크I/O의 실시간 이용 상황 보고
    - 하드웨어가 고장인지 확인

  3. 하드웨어 리소스 해결
    - 보통 메모리 설치 용량을 늘리는 방법으로 해결.

 

 

사전에 장애를 예방 할 수 있는 방법은?

  • 이중화, 핫스왑, ECC기능
    --> 하드웨어의 가용성을 높여주는 기술들.
  • 문서를 자주보는 습관...!
  • 감시 솔루션 (모니터링 툴)

 

 

서버 내 이중화

  • 일반적인 서버 내부 컴포넌트에서는 전원, 팬 등이 이중화 되어있다.
  • PCI슬롯에 꽃은 카드도 이중화가 가능.
  • 서버와 서버끼리도 클러스터를 구성화여 이중화

 

 

핫스왑

  • 전원이 동작 중인 상태에서 시스템을 끄지 않고 부품을 교체 할 수 있는 방식
  • 디스크 교체 시 따로 설정이 필요하지 않고 바로 장치를 인식
    = 리빌딩 작업 
  • 물리적으로 장치를 제거 및 인식이 가능.
  • 주의할점은 읽기/쓰기 작업 중 디스크를 빼머리면 핫스왑을 지원한다 해도 문제가 생길 수 있다!

 

 

감시

  • 감시 = 모니터링 = 체크
  • 시스템 컴포넌트가 정상 동작하는지 확인하는 것
  • 처음에는 어느 정도 많은 항목을 감지하다가 불필요한 경고를 걸러내서 항목을 줄여 나가는 것이 좋음.
  • 생존감시
    - Ping을 이용하는 방법
    - 방화벽에 막혀 있는 경우도 있으니 주의!
  • 로그감시
    - OS나 미들웨어가 출력하는 로그 파일로 확인
    - 생존감시로는 알 수 없는 정보가 로그 파일로 출력되고 이를 선별해 감시 서버에 경고 메시지를 ㅗㅂ냄.
    - syslog, SNMP 등
  • 성능감시
    - 디스크 사용률이나 메모리 사용현황, 네트워크 액세스 지연 등을 확인. 
    - 앞의 감시들보다 내용이 복잡함.

 

** 대부분의 이슈는 버그 안에 있고 해결책이 있다.

 

 

펌웨어

  • 하드웨어를 제어하는 프로그램
  • 부품의 품질과 같을 정도로 펌웨어의 품질이 하드웨어의 성능이나 안정성을 크게 좌우함.
  • 다양한 하드웨어와 부품에서 사용됨.
    1. 서버 본체(BIOS)
    2. RAID 보드 / HBA 보드
    3. 하드디스크 / SSD
    4. 네트워크 기기 본체
    5. 스토리지 본체

  • 드라이버 대 펌웨어 ?
    - 장치 드라이버는 OS에 설치된 반면 펌웨어는 하드웨어 장치에 설치된 하위 수준 코드
    - 펌웨어는 ROM 또는 플래시 메모리와 같은 비휘발성 메모리에 저장됨.

  • 펌웨어 버전 업그레이드 여부 판단
    - 무조건 최신이 정답은 아니다!
    - 다른 사이트를 참고하거나 기타 사항을 고려해야함
    - 정모르겠다면 벤더 사이트에 있는 권고사항을 참고해서 하면 됨!

 

반응형
LIST