공부?/국비 지원 일기장

42일차 - RAID 실습

무무요 2024. 9. 3. 17:50


=======

1. 파티셔닝 => fdisk(file system disk)
2. 포맷 => mkfs(make file system)
3. 마운트 => mount
마운트 = 연결 시켜주는 과정

=======

RAID(Redundant Array of Inexpensive Disk)
- 장애 발생 요인을 최대한 제거한 고성능 무정지 저장장치
- 여러개의 Disk를 하나의 가상D isk로 구성, 대용량저장 장치 구축 가능
- 다수의 Disk에 Data를 분할, 병렬 전송함으로 써 Data 전송 속도 향상
- System 가동 중 Disk Fault 시에도 시스템 정지 없이 새로운 Disk로 교체하면 Data 자동 복구
- 하드웨어RAID와 소프트웨어RAID 두 가지방식이있음
하드웨어 RAID의 대표적 = RAID 1(OS mirroring)
RAID 1 = 장애 대비 및 복구

mdadm
- Software RAID 관리명령

Striping(RAID-0)
- 디스크 최소 2개 이상 필요
- 모든 볼륨의 최적의 성능(속도)을 제공
- 내결함성이 없음 = 오류복구가 안됨, 오류날시 끝
- 확장 및 축소 불가능
- 데이터를 순차적으로 분산 저장
- 엑세스 속도가 빠르다.
                                                                                                                                                                                                                
Mirroring(RAID-1)
- 디스크 2개 필요
- 하나의 파티션을 미러링 함
- 동일한 복사본을 두 개 만들어서 중복성을 제공 함(내결함성)
- 확장 및 축소 불가능
- 디크스 낭비가 심함, 사용량이 반임


Fault Tolerance using Distributed Parity Bit(RAID-5)
- 디스크 최소 3개 이상 필요
- 추가 디스크 하나의 비용만으로 내결함성 제공
- 오류검사를 위해 parity bit 사용
- 확장 및 축소 불가능
- XOR 연산
- 분산 저장

=======

RAID 0 , 1 , 5 실습
RAID-0 구성
- 1) 동일한 용량을 갖는 다수의 파티션 생성(RAID 타입)
- 2) RAID 0 레벨의 RAID 구성
- 3) RAID 장치포맷
- 4) RAID 장치 마운트

 1) 동일한 용량을갖는다수의파티션생성(RAID 타입
)- 파티션생성-> 리눅스RAID 자동 탐지타입으로변경
- fdisk /dev/sdb-> n -> p -> 1 -> 
enter -> +1G -> t -> fd-> p -> wq
- fdisk /dev/sdc-> n -> p -> 1 -> 
enter -> +1G -> t -> fd-> p -> wq

2) RAID 0 레벨의 RAID 구성
- mdadm--create /dev/md0 --level=[RAID레벨] --raid-devices=[RAID 구성 수] [장치1] [장치2]
- mdadm--create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1

3) RAID 장치 포맷 (파일 시스템 생성
- mkfs-t xfs /dev/md0


4) RAID 장치 마운트
- mkdir /raid0
- mount /dev/md0 /raid0


RAID-1 구성
- RAID-0 구성 절차와 동일
 mdadm 명령으로RAID 구성 시 --level=1로 설정

RAID-0 마운트 해제및구성중지
- umount /raid0
- mdadm--stop /dev/md0
  다시시작할경우: mdadm--run /dev/md0


 RAID-1 구성
- 1) RAID-0 마운트 해제 및 RAID 구성 중지
- 2) RAID-1 레벨의 RAID 구성
- 3) RAID 장치포맷
- 4) RAID 장치 마운트

 1) RAID-0 마운트 해제 및 레이드구성중지
- umount /raid0- mdadm --stop /dev/md0

• 2) RAID-1 레벨의 RAID 구성
- mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdb2 /dev/sdc2
- mdadm --detail /dev/md1

3) RAID 장치 포맷
- 기존에 xfs으로 포맷되어있는장치인경우생략

4) RAID 장치 마운트
- mkdir /raid1
- mount /dev/md1 /raid1


RAID-5 구성
- 1) RAID-1 마운트 해제 및 RAID 구성 중지
- 2) RAID-5 레벨의 RAID 구성
- 3) RAID 장치포맷
- 4) RAID 장치 마운트


1) RAID-1 마운트 해제 및 레이드구성중지
- umount /raid1
- mdadm --stop /dev/md1

2) RAID-5 레벨의 RAID 구성
- mdadm--create /dev/md5 --level=5 --raid-devices=3 /dev/sdb3 /dev/sdc3 /dev/sdd1
- 1G 크기의 /dev/sdd1 파티션 생성 후 진행
- mdadm --detail /dev/md5

3) RAID 장치 포맷
- 기존에 xfs으로 포맷되어 있는 장치인 경우 생략
안된다면
mkfs.xfs -f /dev/md5 또는
mfks -t xfs -f /dev/md5

 4) RAID 장치 마운트
- mkdir/raid5
- mount /dev/md5 /raid5
- 아래처럼 에러 발생하는 경우 강제로 xfs 포맷 수행 후 진행

RAID-5 장애 구성
- mdadm /dev/md5 –a /dev/sde1
     2G 크기의 /dev/sde1 파티션 생성 후 진행
   spare 파티션 추가

- mdadm--detail /dev/md5
  RAID-5 장치정보확인

- mdadm /dev/md5 -f /dev/sdc3
  장애디스크의디바이스에결함이있음을설정

- mdadm--detail /dev/md5
  RAID-5 장치정보확인

- mdadm /dev/md5 -r /dev/sdc3
  장애디스크삭제

- mdadm--detail /dev/md5
  RAID-5 장치정보확인

RAID 자동 연결및자동마운트

1) RAID 자동구성
- 구성한 설정은 부팅시 사라지게 되므로, 부팅시RAID 설정이구성되도록/etc/mdadm.conf에 RAID 설정구성
 mdadm --detail --scan >> /etc/mdadm.conf                   = scan으로 마운트한 파일들을 conf 파일에 집어넣는다는 개념 
    cat /etc/mdadm.conf     = 저장 확인
2) /etc/fstab에 마운트 정보 추가
 vim /etc/fstab

/dev/md0 /raid0 xfs defaults 0 0
/dev/md1 /raid1 xfs defaults 0 0
/dev/md5 /raid5 xfs defaults 0 0

lsblk -f
명령어로 체크하면서 하기
blkid

=======

시스템 작업 스케줄링(Cron)

crond
- 예약 작업 관리
- 관리자가 원하는 작업을 예약해 두고 "정해진 시간에 주기적으로 반복하여 실행" 할 수 있음
- crond 라는 데몬이 설치되어 있어야 하며, 대부분의 리눅스는 기본적으로 설치되어 있음
- "주기적인 서버의 백업이나 로그를 관리할 때 유용
- /var/log/cron 파일을 통해 cron 데몬의 로그를 확인할 수 있음
- /var/spool/cron/ 디렉터리 밑에 각 사용자의 사용자명과 같은 이름으로 생성

확인법
# ps -ef | grep crond
# cat /var/log/cron

사용법
# crontab [옵션
옵션
-u <계정명> : 예약 작업 실행 계정 (기본값:현재사용계정)
-l : 예약 작업 목록 확인
-r : 예약 작업 취소
-e : 예약 작업 등록

등록 형식
순서 : 분 , 시간 , 일 , 월 , 요일 , 명령
분 : 0~59
시간 : 0~23
일 : 1~31
월 : 1~12
요일 : 0(일요일)~6(토요일) or 1(월요일)~7(일요일)
명령 : 실행할 명령어

 /etc/crontab 파일
- cron 설정파일
- 시스템에 주기적으로 해주어야 할 작업이 수행될 수 있도록 기본적으로 설정되어 있는 파일
- 관리자가 직접 지정한 작업들을 설정하며, 시스템 관련 작업들을 등록해 사용하는곳
- 분 시간 일 월 요일 계정 명령

작업 스케줄링 실습
- 매월 매일 6시간마다 30분이 될 때 /root/backup 디렉터리 하위에 home.tar.gz 이름으로 /home 디렉터리 하위 내용을 압축하여 저장
30 */6 * * * /root/backup/home.tar.gz /home 

=======

원격 서비스

원격서비스
- 물리적으로 떨어져 있는 컴퓨터를 로컬 컴퓨터처럼 이용할 수 있게 하는 서비스
- 네트워크 연결을 통해 공유 컴퓨터의 자원을 이용할 수 있게함

원격 서비스 용도
- 초기
  네트워크를 통한 컴퓨터의 자원을 공유 하기 위한 방식으로 사용 됨
- 현재
  고객 지원, 원격 관리, 원격제어의 목적으로 많이 사용됨

RDP -> 3389 포트
anydesk

Telnet
- 1969년에 TCP/IP 네트워크 최초의 Application Protocol중 하나로 지정 됨
- TCP Port 23 이용함
- 로그온을 통해 부여된 권한으로 원격 컴퓨터의 특정 프로그램 및 데이터를 이용함
- 기본적으로 평문 통신을 수행하므로 보안이 약한 서비스 → 권장하지않음

Linux Telnet Server 패키지 설치
# dnf -y install telnet-server

Tenet Service 시작 및 확인
# systemctl start telnet.socket
# systemctl status telnet.socket
Active(listening) 확인
23번 port open 확인


Telnet 접속 계정생성
# useradd telnetuser
# passwd telnetuser
password 설정

Tenet Server 접속 테스트
# telnet 본인IP주소 입력
- 텔넷 클라이언트 프로그램 설치 묻는 항목에서 y로 설치
# telnet 본인IP주소 입력
login : telnetuser
Password : 패스워드 입력

$ whoami => 접속된 사용자 확인 가능
$ exit => 접속 종료