Security/리눅스

정보보안 스터디 - 7주차 2일 - LVM, 레이드, 패키지

wonder12 2022. 11. 26. 00:26

 

 

☞ LVM(Logical Volume Manager)

다수의 디스크를 논리적으로 구성하여

하나로 사용하거나 분리하여 사용가능합니다.

 

 sdc 하나에대해서 논리적으로 파티션으로 나눠도 되지만

하나의 용량인 200MB를 넘거나 합쳐야할 때는 로지컬볼륨이 필요합니다.

디스크를 묶어놓고 할당하는 방식입니다.

 

 

디스크가 있으면 일단 파티션부터 나눠야합니다.

fdisk /dev/sdc

 

 

통째로 다 쓸것이기 때문에

기본값으로 하나만 추가합니다.

n> p> w

/dev/sdc1~sdf1까지 파티션을 만들어줍니다.

 

Hex Code를 Linux LVM 변경합니다.

 

으로 생성 합니다.

 

pvcreate /dev/sdc1 /dev/sdd1
pvdisplay 
vgcreate VG_400 /dev/sdc1 /dev/sdd1
vgdisplay -v
lvcreate -L 100 -n LV1 VG_400
lvcreate -L 300 -n LV2 VG_400
lvdisplay 하면
LV경로가 나옵니다.

 

원래 /dev/sdc1 이였던 경로가 장치파일이 되는 것이고

이곳에

파일 생성 시스템(포맷)을 해주고

마운트를 해줘야합니다.

 

mkfs -t ext4유형 /dev/~/VG_400/LV1
mkfs -t ext4유형 /dev/~/VG_400/LV2
mkdir /mnt/test1
mkdir /mnt/test1
mount /dev/~/VG_400/LV1 /mnt/test1
mount /dev/~/VG_400/LV2 /mnt/test2

df -h 로 마운트 되었는지 확인합니다.

 

잘 마운트가 되었는지 확인을 안하고 오류를 검사안한다면 

재부팅이 안되고 오류를 찾는데 어렵습니다.

 

꼭 테스트를 해줘야합니다.

umount -a

mount -a

 

재부팅을 해도 마운트를 유지하려면

vi /etc/fstab 설정을 해줍니다.

 

 

참고로 CD/DVD도 Centos 8 Stream.iso파일도 마운트로 연결하고 사용하는 방식입니다.

그래서 df -h에서 확인할 수 있습니다.

 

 

삭제는 역순으로 해줍니다.

unmount
rm -rf /mnt/test{1..2}
lvremove /dev/VG_400/LV1
lvremove /dev/VG_400/LV2
lvdisplay 
vgremove VG_400
vgdiplay -v
pvremove /dev/sdc1
pvremove /dev/sdd1
pvdisplay 

 

 

 

 

 레이드

하드디스크를 200MB씩 6개를 나눠서 

어떻게 활용할지 효율적으로 하는 방식입니다.

방식에 따라 속도, 가용성, 문제시 대처 등 장단점이 있습니다.

 

실제 물리적인 하드레이드가 있고

논리적 설정인 소프트레이드가 있는데

실제로 대부분 신뢰성 때문에 하드레이드를 많이 씁니다.

 

 

레이드0 

디스크가 2개가 데이터가 들어올 때 순차적으로 나눠 받는 방식입니다.

 

장점은

디스크가 많을수록 읽/쓰기가 빠릅니다.

개수에 비해 빠릅니다. 

단점은

이중성이 없습니다.

손상된다면 복구를 못합니다.

 

 

설정하는 방법

 

파티션을 설정할 때 sdc1 메인파티션 뿐만 아니라 

t >L>Hex Code  fd: Linux raid autodetect 로 설정해줘야합니다.

 

mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdc1 /dev/sdd1

이제 장치파일이 디스크 sdc1,sdd1이였던 것이 /dev/md0 장치파일로 생기고

이제 여기에 다가 포맷도하고 마운트도 하면됩니다.

 

ls -l /dev/md*으로 생성되었는지 확인합니다.
fdisk -l /dev/md0
가용율 100% 200MB 용량인 것을 확인합니다.
mkfs -t ext4 /dev/md0 > /dev/null
포맷
mkdir /mnt/raid0
mount /dev/md0 /mnt/raid0

df -h 로 확인합니다.

 

해제

umount /mnt/raid0
rm -rf /dev/md0
해제할 때는 
디스크까지 청소해주고 잘 없어졌나 확인합니다.
mdadm --stop /dev/md0
mdadm --zero-superblock /dev/sdc1 /dev/sdd1
mdadm --examine /dev/sdc1 /dev/sdd1
또한 정석적으로는 파티션까지 해제해줘야합니다.
fdisk /dev/sdc
fdisk /dev/sdd
d>w

 

 

 

레이드1

데이터가 들어오면 디스크 모두에게 mirror복사하는 방식입니다.

 

장점은 손상되었을 때 복구가 가능하고 이중화 덕분에 서비스에 문제가 없습니다.

단점은 가용율은 50%로 줄기 때문에 용량은 100MB가 됩니다. 속도는 더 느립니다.

 

mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1

 

 

레이드4

최소 디스크 3개이상이며

한곳에 복원에 필요한 패리티 정보를 전달합니다.

패리티 정보를 빼고는 순차적으로 전달합니다.

 

장점은 복원이 가능합니다.

단점은  3개중 1개에 대한 용량손실이 있습니다.: 400MB

 

 

레이드5

레이드4를 개선한 버전이며, 최소 디스크는 3개입니다. 

패리티 정보를 순차적으로 전달합니다.

 

장점은 각각의 디스크에 패리티정보가 있습니다.

단점은 결국 3개중 1개에 대한 용량손실이 있습니다. : 400MB

 

 

레이드6

패리티 정보 2개를 보냅니다.

디스크 5개 중 2개를 보내고 3개를 사용하므로 가용률 60%

 

 

 

레이드 0+1

이 방식의 좋은 점은 한쪽에 문제가 생겨도 다른세트가 있기 때문에 복구가 가능합니다.

가용율은 50%입니다.

 

mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdc1 /dev/sdd1
mdadm --create /dev/md1 --level=0 --raid-devices=2 /dev/sde1 /dev/sdf1
mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/md0 /dev/md1
레이드 2개를 만든 후 하나로 합칩니다. 

삭제도 역순으로 해줍니다.

 

 

 

레이드1+0

속도가 3배 향상되며, 복구용 디스크가 3개가 됩니다.

가용율은 50%입니다.

 

mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
레이어 10이 지원됩니다.

 

 

 

 

 

 

 

 패키지

비슷한 파일들로 구성된 설치파일 묶음

기본적으로 centos8 stream iso에 패키지가 들어가있지만 모두 깔려있는 것은 아닙니다. 

appstream 또는 baseOS 중 하나에 설치 파일이 있습니다. 

ex) Appstream > packages > rpm설치파일들

 

하지만 설치를 할 수 있습니다.

 

.rpm 형식으로 되어서 

rmp -i 풀네임
설치
rpm -e 단축네임
삭제
rpm -qf /usr/bin/nslookup
깔린 파일위치 확인. 
nslookup, dig, host >> bind-utils 패키지에 있다고 나옵니다.
rpm -qa ifconfig
설치되어있는지 패키지 이름 확인.
rpm -ql ifconfig
관련 파일들 리스트, 경로확인가능

 

 

만약에 실행파일 하나만 지워져서 설치 할경우에 

윈도우 에서는 덮어씌우기됩니다.

하지만 리눅스에서는 이미 설치되었다고 뜹니다.

 

그럴 경우에는 

1. 전체삭제를 하고 다시 깔기

전체삭제는 저장된 설정이 지워지는 단점이 있습니다.

 

2. 목록검사를 하고 필요한 것만 깔기

정해진 파일이 있고 목록검사를 해서 없는 부분을 찾아 깔 수 있습니다.

rpm -i --replacepkgs 

 

 

rpm의 단점은 cd/dvd에 있는 패키지 안에서만 설치를 할 수 있고

의존성오류 때문에 한번에 설치를 못하고

종속된 파일을 순서대로 설치해줘야 가능합니다.

무시하는 명령어도 있는데 어짜피 실행오류가 생기기 때문에 설치를 해줘야합니다.

 

 

그래서 rpm 보다는 

yum 명령어를 사용합니다.

yum은 인터넷에서 처음에 미러리스트(저장소 사이트리스트)를 받아오고

카이스트, 카카오 등 그중에서 한곳을 정하여 파일을 설치하는 데

 

장점은

인터넷에서 찾아서 쓰기 때문에 update도 원활히 되고 많은 자료를 설치가능합니다.

그리고 종속 파일들이 있어도 한번에 설치해줍니다.

 

yes 메세지를 무시하려면
yum -y install을 해주면 됩니다.
yum -y install wireshark telnet telnet-server sendmail ftp nmap
한번에 설치
rpm -qa vsftpd
yum list vsftpd
로 설치를 확인합니다. 
yum erase vsftpd
삭제
reinstall
목록에서 찾아 설치
yum check-update php
업데이트 체크
yum update 
전체 업데이트가 되기 때문에 함부로 사용하면안됩니다.
서버 개발자 또는 DB관리자와 상의 후 업데이트 합니다. 
clean all
미러 파일 삭제

 

설치후 rpm다운파일은 지웁니다.

 

그리고 만약 centos의 버전이 낮아서 미러리스트가 지원안되는 경우

파일이 있는 사이트를 수동으로 설정하여 다운받을 수 있습니다.

 

 

wget URL

인터넷에서 오픈소스 등 프로그램을 다운 받을 수 있습니다.

 

 

+
systemctl start/stop vsftpd
서버시작/종료
systemctl status vsftpd

상태

grep -i uuid 대소문자구분 x