Today I Learn - 20

이정빈·2021년 3월 9일
0

클라우드 엔지니어

목록 보기
21/53
post-thumbnail

LVM을 사용한 RAID 구성 실습

기존 사용중인 디스크 전부 마운트 해제 / 파티션 제거
각 디스크 전체를 1번 파티션으로 생성 후 PV 생성

RAID 0 LV 생성

RAID 0 생성시 스트라이프 개수를 지정하여야 함
-lvcreate -n raid0_lv -L 1G -i 3 -I 64K vg_raid
각 PV에서 동일한 개수의 PE를 가지고와야 하므로, 생성하고자 하는 크기보다 더 크게 만들어질 수 있음 (총 PE의 개수가 스트라이프 개수로 나누어 떨어지도록 조정)

RAID 1 LV 생성

RAID 1 생성 시 미러 개수를 지정하여야 함
-lvcreate -n raid1_lv -L 1G -m 2 vg_raid

RAID 5 LV 생성

RAID 5 생성 시 스트라이프 개수 및 RAID 타입을 지정하여야 함
-lvcreate -n raid5_lv -L 1G -i 3 -I 64K --type raid5 vg_raid
RAID 0 과 같이 동일한 개수의 PE를 각 PV로부터 가져올 수 있도록 생성되는 LV의 크기가 조정됨 (스트라이프의 개수로 나누어 떨어지도록)

RAID 6 LV 생성

RAID 6 생성 시 스트라이프 개수 및 RAID 타입을 지정하여야 함
-lvcreate -n raid6_lv -L 1G -i 3 -I 64K --type raid6 vg_raid
RAID 0 과 같이 동일한 개수의 PE를 각 PV로부터 가져올 수 있도록 생성되는 LV의 크기가 조정됨 (스트라이프의 개수로 나누어 떨어지도록)

RAID 10 LV 생성

스트라이프의 개수, 미러의 개수를 함께 지정, raid10 타입도 지정
-lvcreate -n raid10_lv -L 1G -i 2 -I 64K -m 1 --type raid10 vg_raid

=====================================================

Systemd

현재 사용중인 RHEL(CentOS) 7버전 이후, Ubuntu 18.04 부터
프로세스 및 서비스 관리
systemd 이전의 프로세스 및 서비스 관리 주체: init

CentOS 5.8
ID: root
PW: qwer1234

init

systemd 이전의 프로세스 및 서비스 관리 주체
모든 프로세스의 부모 프로세스
1번 PID를 가지고 있음
0번 PID: Swapper 특별히 역할이 없는 IDLE 프로세스
‘런 레벨’을 사용하여 시스템의 상태를 정의하고 제어 (Run Level)
리눅스의 런 레벨
0 : Halt - 시스템이 종료되어 있는 상태
1 : Single-User mode - 관리자 계정만 사용 가능한 상태
2 : Multi-User mode - 다중 사용자 사용 가능
3 : Multi-User mode + Networking - 다중사용자+네트워크 지원
5 : Multi-User mode + Networking + GUI
6 : Reboot
init <런 레벨 번호> : 해당 런 레벨로 동작상태 변경
init 0 : 전원 종료
init 6 : 리부팅
/etc/inittab : 기본 런 레벨 지정
서비스 관련 스크립트
데몬(Daemon) : 서비스
/etc/init.d : init을 통해 관리할 서비스 스크립트 위치
-service <데몬 이름> {start|stop|restart}
-/etc/init.d/sshd {start|stop|restart}
/etc/rc.d/init.d 에 같은 스크립트 저장
/etc/rc.d/rc#.d
S##, K## 등 파일이 존재함
rc1.d/S… => 런레벨 1이 될때 S## 뒤에 따라오는 서비스는 실행
rc1.d/K... => 런레벨 1이 될때 K## 뒤에 따라오는 서비스는 중지

systemd의 특징

부팅시 병렬화 처리 : 부팅 과정에서 문제 발생시에도 다른 부분은 정상적으로 부팅 진행
cgroup: Control Group 개념을 통해 자원 관리
서비스(데몬)의 종속성 관리
systemd가 서비스를 관리 : 스크립트 방식이 아닌 표준화된 방식

systemctl를 사용한 서비스 상태 확인 명령
systemctl <서브커맨드> [Argument]
서비스 상태 확인
-systemctl
현재 시스템의 모든 systemd 관련 개체 출력
-t, --type : 특정 타입 지정하여 출력
-systemc --type service : 서비스만 출력
-systemctl status <서비스 이름>
-systemctl status sshd.service
-systemctl is-active <서비스이름>
현재 서비스의 동작상태 확인
-systemctl is-enable <서비스이름>
서비스의 활성화(재부팅시 구동여부) 확인
-systemctl list-unit-files --type service
각 서비스 별 활성화/비활성화(enabled/disabled) 상태
static : 임의로 enable/disable 되지 않는 항목

참고. 서비스 상태 종류

Active : 현재 동작하고 있음
Inactive : 현재 동작하지 않고 있음
Enable : 재부팅 시 동작하도록 설정 (재부팅시 실행)
Disable : 재부팅 시 동작하도록 설정 (재부팅시 실행하지않음)

systemctl을 사용한 서비스 상태 변경 명령
systemctl <서브커맨드> <서비스명>
서브커맨드
start : 즉시 지정한 서비스 구동
stop : 즉시 지정한 서비스 중지
restart : 즉시 지정한 서비스 중지 후 다시 시작
reload : 즉시 서비스 설정 다시 읽어들임
enable : 재부팅 시 서비스 구동여부 설정(활성화)
disable : 재부팅 시 서비스 구동여부 설정(비활성화)

마스크 설정
systemctl mask <서비스이름>
서로 충돌이 발생할 수 있는 서비스에 대한 차단
해당 서비스를 구동하기 위한 스크립트/서비스파일 등을 차단
systemctl unmask <서비스이름>
mask로 차단된 서비스 차단 해제

profile
WAS Engineer, Cloud Engineer(지망)

0개의 댓글