리눅스 / RAID의 뜻과 종류

RAID

  • Redundant Array of Inexpensive Disk or Redundant Array of Independent Disk
  • 여러 개의 하드디스크를 하나처럼 사용하게 하는 기술. 예를 들어 1TB 하드디스크 두 개를 묶어서 2TB 하드디스크처럼 사용할 수 있다.
  • 크게 하드웨어 RAID와 소프트웨어 RAID로 구분할 수 있다.
  • 하드웨어 RAID는 성능이 좋으나 비싸다.
  • 소프트웨어 RAID는 운영체제에서 지원하는 것으로 OS RAID라도고 한다.

Linear RAID

  • 두 개 이상의 하드디스크를 하나처럼 사용하는 가장 단순한 RAID.
  • 1TB + 2TB + 3TB = 6TB
  • 순차적으로 하드디스크 사용. 예를 들어 A, B, C 하드디스크로 Linear RAID를 구성했다면 A에 먼저 데이터를 저장하고 A가 꽉 차면 B에 저장.
  • 리눅스 / RAID / Linear RAID / Linear RAID 만들기

RAID0

  • 두 개 이상의 하드디스크를 하나처럼 사용하는데, 저장은 디스크에 분배하여 저장한다. 예를 들어 A, B, C 디스크에 파일을 저장하면 1/3씩 나누어 각각의 디스크에 저장.
  • 하나의 디스크가 꽉 차면 분배가 불가능하므로 작은 크기의 하드디스크 용량에 맞춰진다.
  • 1TB + 2TB + 3TB = 3TB (각 디스크마다 1TB만큼만 사용 가능)
  • Linear RAID에 비하여 속도가 빠르지만, 하나의 하드디스크만 고장나도 모든 데이터가 손실된다.

RAID1

  • 하드디스크 두 개에 동시 저장하는 것으로 데이터 보존에 중점을 둔 방식.
  • 하나의 디스크가 꽉 차면 동시 저장이 불가능하므로 작은 크기의 하드디스크 용량에 맞춰진다.
  • 1TB + 2TB = 1TB
  • 하나의 하드디스크가 고장나도 데이터 손실이 없음.

RAID5

  • 세 개 이상의 하드디스크를 묶는 RAID.
  • 모든 하드디스크에 분배하여 저장하고, Parity 한 개 사용.
  • 한 개의 하드디스크가 고장나도 데이터 손실이 없음.
  • 1TB + 1TB + 1TB + 1TB = 3TB

RAID6

  • 네 개 이상의 하드디스크 필요.
  • 모든 하드디스크에 분배항 저장하고, Parity 두 개 사용.
  • 두 개의 하드디스크가 고장나도 데이터 손실이 없음.
  • 1TB + 1TB + 1TB + 1TB + 1TB = 3TB
  • RAID5에 비하여 성능이 떨어짐.

같은 카테고리의 다른 글

CentOS 7 / firewall-cmd 명령어로 방화벽 관리하기

CentOS 7 / firewall-cmd 명령어로 방화벽 관리하기

CentOS 7의 방화벽 관리 데몬은 firewalld입니다. 설정은 firewall-cmd 명령어로 합니다. 방화벽 실행 여부 확인 firewall-cmd --state 실행 중이면 running, 실행 중이 아니면 not running을 출력합니다. 방화벽 다시 로드 firewall-cmd --reload 방화벽 설정 후 다시 로드해야 적용됩니다. 존(Zone) 출력하기 firewall-cmd --get-zones 존(zone) 목록을 출력합니다. firewall-cmd --get-default-zone 기본 존을 출력합니다. firewall-cmd --get-active-zones 활성화된 존을 출력합니다. 사용 가능한 서비스/포트 출력하기 firewall-cmd --list-all 사용 가능한 모든 서비스/포트 목록을 출력합니다. firewall-cmd --zone=public --list-all public 존에 ...

CentOS 7 / mod_security 설치하는 방법

CentOS 7 / mod_security 설치하는 방법

mod_security는 아파치 웹서버에 사용할 수 있는 방화벽 모듈입니다. ModSecurity is an open source, cross-platform web application firewall (WAF) module. Known as the "Swiss Army Knife" of WAFs, it enables web application defenders to gain visibility into HTTP(S) traffic and provides a power rules language and API to implement advanced protections. 설치 yum install ...

CentOS 8 / 고정 IP 설정하는 방법

CentOS 8 / 고정 IP 설정하는 방법

CentOS 8에서 DHCP로 설정된 네트워크를 고정 IP로 변경하는 방법입니다. 설정 파일 수정은 CentOS 7과 같으나, 네트워크를 재시작하는 명령어가 다릅니다. 네트워크 설정 파일 수정 네트워크 설정 파일은 /etc/sysconfig/network-scripts에 있습니다. 파일 이름은 ifcfg-enp0s3 처럼 생겼습니다. 텍스트 에디터로 열면 다음과 같이 설정되어 있습니다. TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="dhcp" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="enp0s3" UUID="f29f8b49-d6de-44e9-94b8-e3c75de02191" DEVICE="enp0s3" ONBOOT="yes" BOOTPROTO="dhcp" 앞에 #을 넣어서 주석 처리를 하고, 네트워크 정보를 적절히 추가합니다. TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" #BOOTPROTO="dhcp" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="enp0s3" UUID="f29f8b49-d6de-44e9-94b8-e3c75de02191" DEVICE="enp0s3" ONBOOT="yes" BOOTPROTO="static" IPADDR="192.168.0.113" NETMASK="255.255.255.0" GATEWAY="192.168.0.1" DNS1="8.8.8.8" DNS2="8.8.4.4" 네트워크 재시작 또는 재부팅 다음과 같이 명령하여 ...

리눅스 / 명령어 / find – 파일 또는 디렉토리를 찾는 명령어

리눅스 / 명령어 / find – 파일 또는 디렉토리를 찾는 명령어

find는 파일 또는 디렉토리를 찾는 명령어입니다. 자주 사용하는 옵션 등을 정리해봅니다. find 현재 디렉토리 안에 있는 모든 파일과 디렉토리를 출력합니다. 숨긴 파일 또는 숨긴 디렉토리도 출력합니다. find /etc /etc 디렉토리 안에 있는 모든 파일과 디렉토리를 출력합니다. 숨긴 파일 또는 숨긴 디렉토리도 출력합니다. find -name abc 현재 디렉토리 안에서 이름이 abc인 파일 또는 abc인 디렉토리를 검색합니다. find -name ...

리눅스 / 명령어 / systemctl

리눅스 / 명령어 / systemctl

서비스 관리 service_name은 서비스 이름으로 바꾸어 사용합니다. 예를 들어 Apache라면 httpd, MariaDB라면 matiadb. 서비스 상태 확인 systemctl status service_name.service 서비스 시작 systemctl start service_name.service 서비스 재시작 systemctl restart service_name.service 서비스 중지 systemctl stop service_name.service 부팅 시 서비스 자동 시작 systemctl enable service_name.service 부팅 시 서비스 자동 시작 해제 systemctl disable service_name.service 서비스 목록 보기 systemctl list-units --type=service

Ubuntu 18.04 / Apache 사용자 인증 만드는 방법

Ubuntu 18.04 / Apache 사용자 인증 만드는 방법

웹사이트의 콘텐츠를 특정 사용자만 볼 수 있게 하는 방법은 여러 가지가 있습니다. 만약 웹서버에 대한 충분한 권한이 있다면, Apache를 이용하여 구현할 수 있습니다. 비밀번호 파일 만들기 비밀번호 파일은 htpasswd 명령어로 만듭니다. /home/auth/ 디렉토리에 passwords라는 이름의 파일을 만들고, 사용자 user1의 비밀번호를 정하고 싶다면 다음과 같이 명령합니다. htpasswd -c /home/auth/passwords user1 .htaccess 파일 만들기 웹사이트의 루트 디렉토리에 ...

CentOS 7 / ntsysv로 부팅할 때 서비스 자동으로 시작하게 하기

CentOS 7 / ntsysv로 부팅할 때 서비스 자동으로 시작하게 하기

서비스 관리는 보통 systemctl 명령어로 합니다. systemctl 명령어의 enable을 이용하면 시스템이 부팅할 때 서비스가 자동으로 시작하게 할 수 있습니다. 예를 들어 systemctl enable httpd.service 는 서버가 부팅할 때 httpd 서비스를 자동으로 시작합니다. 만약 이러한 서비스 관리를 명령어로 하는 불편하다면 ntsysv를 사용해보세요. TUI로 자동으로 시작하는 서비스를 관리할 수 있습니다. 다음과 같이 명령하여 ntsysv 패키지를 설치합니다. yum install ntsysv 다음과 같이 ...

Ubuntu 16.04 / root 계정으로 로그인하기, root 계정으로 ssh 접속하기

Ubuntu 16.04 / root 계정으로 로그인하기, root 계정으로 ssh 접속하기

우분투(Ubuntu)는 보안상의 이유로 root 계정으로 로그인하는 것을 막아두었습니다. 만약 root 계정으로 접속하여 관리하고 싶다면 추가적인 작업이 필요합니다. root 계정으로 접속하기 설치할 때 만든 사용자 계정으로 로그인한 후 다음과 같이 명령하여 root 계정의 비밀번호를 생성합니다. sudo passwd root 비밀번호를 만들면 root 계정으로 로그인할 수 있습니다. root 계정으로 ssh 접속하기 root 계정으로 ssh 접속을 하기 위해서는 /etc/ssh/sshd_config 파일을 수정해야 ...

Ubuntu 18.04 / 우분투 서버 설치하기

Ubuntu 18.04 / 우분투 서버 설치하기

우분투 서버 18.04를 설치하는 과정을 정리했습니다. 환경은 다음과 같습니다. VirtualBox 가상 머신에 설치 네트워크는 DHCP 기본 설정으로 설치를 했습니다. 고정 IP 설정이나 하드디스크 분할 등 세부적인 내용은 없습니다. 설치할 때 이런 화면이 나오는구나 정도 보실 수 있습니다. 다운로드 우분투 서버는 여기에서 다운로드할 수 있습니다. 18.04 LTS를 다운로드하고 설치하겠습니다. LTS는 long-term support의 약자로, LTS 버전은 2023년 ...

Ubuntu 16.04 / PHP 메모리 늘리는 방법

Ubuntu 16.04 / PHP 메모리 늘리는 방법

php.ini PHP 설정은 php.ini에서 합니다. Ubuntu 16.04에서 php.ini의 위치는 /etc/php/7.0/apache2/php.ini입니다.(PHP 버전에 따라 7.0은 다른 숫자일 수 있습니다.) memory_limit 메모리를 늘리기 위해 수정해야 할 것은 memory_limit입니다. 기본값은 128M입니다. memory_limit = 128M 128을 적절히 변경합니다. 웹서버 다시 시작 또는 다시 로드 변경한 설정이 적용되도록 하려면 웹서버를 다시 시작하거나 다시 로드합니다. Apache 웹서버라면 service apache2 restart 로 다시 시작할 수 있고 service apache2 reload 로 다시 로드할 ...