리눅스 서버 & 네트워크 기초(2)

김도훈 - DevOps Engineer·2022년 6월 4일
0

linux

목록 보기
2/2
post-thumbnail

RAID 정의 및 개념

  • RAID 정의

    • RAID(Redundant Array of Inexpensive Disks)는 여러 개의 디스크를 하나의 디스크처럼 사용함
    • 비용 절감 + 신뢰성 향상 + 성능 향상의 효과를 냄
  • 하드웨어 RAID

    • 하드웨어 제조업체에서 여러 개의 하드디스크를 가지고 장비를 만들어서 그 자체를 공급
    • 좀더 안정적이지만, 상당한 고가임
  • 소프트웨어 RAID

    • 고가의 하드웨어 RAID 대안
    • 운영체제에서 지원하는 방식
    • 저렴한 비용으로 좀더 안전한 데이터의 저장 가능
  • Linear RAID 개요

    • 최소 2개의 하드디스크가 필요
    • 2개 이상의 하드디스크를 1개의 볼륨으로 사용
    • 앞 디스크부터 차례로 저장
    • 100%의 공간효율성
  • RAID 0 개요

    • 최소 2개의 하드디스크가 필요
    • 모든 디스크에 동시에 저장됨
    • 100%의 공간효율성 (=비용 저렴)
    • 신뢰성 낮음
    • 빠른 성능을 요구하되, 혹시 전부 잃어버려도 큰 문제가 되지 않는 자료가 적당함
  • RAID 1 개요

    • 미러링이라 부름
    • 데이터 저장에 두 배의 용량이 필요
    • 결함 허용을 제공 = 신뢰성 높음
    • 두 배의 저장 공간 = 비용이 두 배 = 공간효율이 나쁨
    • 저장속도는 변함 없음
    • 중요한 데이터를 저장하기에 적합함
  • RAID 5 개요

    • RAID1의 데이터 안전성 + RAID0처럼 공간 효율성
    • 최소한 3개 이상의 하드디스크
    • 오류가 발생할 때는 패리티를 이용해서 데이터를 복구
  • RAID 5 특징

    • 어느 정도의 결함 허용을 해 주면서 저장 공간의 효율도 좋음
    • 디스크의 개수 -1의 공간을 사용
    • 디스크 2개가 고장 나면 복구 못함
  • RAID6

    • RAID6 방식은 RAID5 방식이 개선된 것
    • 공간 효율은 RAID5보다 약간 떨어지지만, 2개의 디스크가 동시에 고장이 나도 데이터에는 이상이 없도록 하는 방식
    • RAID6의 경우에는 최소 4개의 디스크 필요
    • 공간 효율은 RAID5보다 약간 떨어지는 반면에 데이터에 대한 신뢰도는 좀더 높아지는 효과
    • 성능은 RAID5에 비해 약간 떨어진다.

    LVM 개념

  • LVM 주요 기능

    • 여러 개의 하드디스크를 합쳐서 한 개의 파일시스템으로 사용하는 것으로 필요에 따라서 나눌 수 있다.
    • 예로 2TB 용량의 하드디스크 2개를 합친 후에 다시 1TB와 3TB로 나눠서 사용할 수 있다.
  • 용어

    • Physical Volume(물리 볼륨) : /dev/sda1, /dev/sdb1 등의 파티션
    • Volume Group(볼륨 그룹) : 물리 볼륨을 합쳐서 1개의 물리 그룹으로 만드는 것
    • Logical Volume(논리 볼륨) : 볼륨 그룹을 1개 이상으로 나눠서 논리 그룹으로 나눈 것

    쿼터(Quota) 개념

  • 파일시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수를 제한하는 것

  • 파일시스템을 /로 지정하는 것보다는, 별도의 파일시스템을 지정해서 해당 부분을 쓰도록 하는 것이 좋음

  • /파일시스템을 많은 사용자가 동시에 사용하게 되면, 페도라 서버를 운영하기 위해서 디스크를 읽고 쓰는 작업과 일반 사용자가 디스크를 읽고 쓰는 작업이 동시에 발생하므로 전반적으로 시스템의 성능이 저하됨


CentOS의 bash 셀

  • 기본 셸은 bash(Bourne Again Shell)
  • bash 셸의 특징
    • Alias 기능(명령어 단축 기능)
    • History 기능(위/아래 화살표키)
    • 연산 기능
    • Job Control 기능
    • 자동 이름 완성 기자 기능(탭키)
    • 프롬포트 제어 기능
    • 명령 편집 기능
  • 셸의 명령문 처리 방법
    • (프롬포트) 명령어 [옵션][인자]
    ex)  rm -rf /mydir

환경 변수

  • echo $환경변수이름 으로 확인 가능
  • export 환경변수 = 값 으로 환경 변수의 값을 변경

셸 스크립트 프로그래밍

  • C언어와 유사하게 프로그래밍이 가능
  • 변수, 반복문, 제어문 등의 사용이 가능
  • 별도로 컴파일하지 않고 텍스트 파일 형태로 바로 실행
  • vi나 gedit으로 작성이 가능
  • 리눅스의 많은 부분이 셸 스크립트로 작성되어 있음

실행 방법

  • sh <스크립트 파일>로 실행
  • chmod + x <스크립트 파일> 명령으로 실행 가능 속성으로 변경한 후에, "./<스크립트파일> 명령으로 실행

변수의 기본

  • 변수를 사용하기 전에 미리 선언하지 않으며, 변수에 처음 값이 할당되면서 자동으로 변수가 생성
  • 모든 변수는 문자열(String)로 취급
  • 변수 이름은 대소문자를 구분
  • 변수를 대입할 때 = 좌우에는 공백이 없어야 함

변수의 입력과 출력

  • $ 문자가 들어간 글자를 출력하려면 ''로 묶어주거나 앞에 를 붙임.
  • ""로 변수를 묶어줘도 된다.

숫자 계산

  • 변수에 대입된 값은 모두 문자열로 취급
  • 변수에 들어 있는 값을 숫자로 해서 +, -, *, / 등의 연산을 하려면 expr을 사용
  • 수식에 괄호 또는 곱하기는 그 앞에 꼭 역슬래쉬를 붙임

텔넷 서버 개요

  • 오랫동안 전통적으로 사용되어 온 원격 접속 방법
  • 보안에 취약
  • 리눅스 서버에 텔넷 서버를 설치하고 나면, 원격지에서 접속할 PC에는 텔넷 클라이언트 프로그램이 필요
  • 원격지의 PC에서 접속하게 되면 서버 앞에 앉아서 직접 텍스트 모드로 작업하는 것과 완전히 동일한 효과

텔넷 서버 구축

  • 원격지에서 서버 접속할 경우 필요
  • 텔넷 서버 설치 과정 요약
텔넷 서버 설치 -> 텔넷 서비스 시작 -> 텔넷 전용 사용자 생성 -> 방화벽 설정 -> 텔넷 서비스 상시 가동 -> 클라이언트에서 접속
yum install telnet-server -> ststemctl start telnet.socket -> adduser 사용자이름 passwd 비밀번호 -> firewall-config -> systemctl enable telnet.socket -> telnet 서버 IP

OpenSSH 서버

  • 텔넷과 용도는 동일하지만, 보안이 강화
  • 텔넷과 거의 동일하지만 데이터를 전송할 때 암호화 한다는 점이 다름

네임 서버 개요

  • 네임 서버 = DNS(Domain Name System)서버
  • 도메인 이름을 IP 주소로 변환시켜 주는 역할

캐싱 전용 네임 서버

  • PC에서 URL로 IP주소를 얻고자 할 때, 해당하는 URL IP주소를 알려주는 네임 서버를 말함

마스터 네임 서버

  • 도메인에 속해 있는 컴퓨터들의 이름을 관리하고, 외부에 해당 컴퓨터의 IP주소를 알려주는 역할

라운드 로빈 방식의 네임 서버

  • 여러 대의 웹 서버를 운영해서, 웹 클라이언트가 서비스를 요청할 경우에 교대로 서비스를 실시하도록 하는 방식

메일 서버 개념

  • E-MAil 송수신에서 사용되는 프로토콜
    • SMTP(Simple Mail Transfer Protocol) : 클라이언트가 메일을 보내거나, 메일 서버끼리 메일을 주고 받을 때
    • POP(Post Office Protocol) : 메일 서버에 도착되어 있는 메일을 클라이언트로 가져올 때
profile
Email:ehgns5669@gmail.com

0개의 댓글