IDE 및 SCSI 장치 개념, 하드디스크 추가
IDE 이전까지 많이 사용하던 연결 방식, 최근 디스크는 주로 SATA로 연결한다.
SCSI 0 0~15 (0:7제외) 0~1 : 0~15 (x :7은 제외) 해서 총 60개 사용가능
Linux에서는 하드디스크 연결을
/dev/sd<a/b/c/ ... > 순으로 연결되어 있는 SCSI에 순서대로 지정된다.
같은 SCSI에 연결된 하드디스크의 파티션을 나누면 /dev/sda<1/2/3/ ... > 순으로 번호를 붙여서 구분한다.
ls -l /dev/sd* 로 현재 드라이브 공간과 파티션을 확인이 가능하다.
f명령어
디스크를 조작할 수 있는 다양한 명령어 파티션이다.
fdisk /dev/sb<X> 로 해당 디스크 조작 파티션으로 이동한다.
n 파티션 생성
w 변경사항 저장(쓰기)
포맷
mkfs.ext4 /dev/sd<X> 지정한 디스크 파티션을 포맷한다. (처음 연결시 필수)
마운트
디스크를 추가하면 / 이하 디렉토리에 마운트를 해줘야 접근이 가능하다.
mount /dev/sd<X> /<디렉토리 이름>
mount 현재 마운트 된 정보 출력
마운트 해준 디렉토리에 데이터를 저장했다가, 마운트를 해제하면 해당 디렉토리에는 저장했던 데이터가 보이지 않는다.
(실제 저장은 디스크에 저장되어 있고, 디렉토리는 단순히 연결해주는 경로)
부팅 설정 저장
지정 해준 마운트는 리부팅시 해제되기 때문에 /etc/fstab 에 마운트 설정을 저장해 놓으면 재부팅시 자동으로 마운트 된다.
vi /etc/fstab
/dev/sd<X> /<마운트할 디렉토리명> ext4 defaults 0 0
마운트할 디스트 디렉토리 타입 덤프기능 설정(백업) 부팅시 디스크체크 설정
RAID (Linear, RAID0, RAID1)
Linear RAID
2개 이상, 1번부터 순차적으로 저장하고 디스크 추가가 가능.
공간 효율이 100프로, 비용이 저렴
RAID 0 (Stripping)
2개이상, 복수의 디스크에 동시에 저장하고 읽기 때문에 속도가 빠르다.
공간 효율이 100프로로 저렴하고 속도가 빠르지만 신뢰성이 낮다.
RAID 1 (Mirroring)
2개 동시저장, 자동 백업으로 결함이 발생해도 백업에서 가져올 수 있다.
데이터 저장에 2배의 용량이 필요하지만 신뢰성이 높다.
RAID 5
결함 허용, 페리티 정보 사용, 공간 효율이 좋다.
RAID 0의 속도, RAID 1의 안정성을 모두 충족하기 위한 모델로
오류가 발생시 패리티 를 이용해서 데이터를 복구
디스크 개수 - 1 의 공간효율.
대신 패리티1개에 디스크를 많이 늘리고, 2개 이상의 디스크가 고장시 데이터가 손실된다.
RAID 6
RAID 5 개선, 중복 페리티 정보 사용. RAID 5 보다 훨씬 안정적이다.
RAID 5와 비슷하지만 패리티를 2개를 사용. 신뢰도는 많이 높아지지만 속도가 약간 떨어진다.
RAID1+0 식으로 사용하기도 한다.
RAID 구현 - 디스크 파티셔닝 설정
디스크를 연결 후 fdisk 콘솔로 이동
n로 파티션 지정 후 l 을 입력해보면 파티션타입 목록이 나온다.
t 명령어로 파티션 변경 fd 로 지정 (linux raid auto)
LinearRAID 구현
mdadm 레이드 설정 명령어
레이드 생성 명령어
mdadm --create /dev/md<num> --level=linear --raid-devices=2 /dev/sdb1 /dev/sdc1
/dev/md<num> 이름으로 linear 타입의 2개의 장치를 사용 장치1 장치2
mkfs.ext4 /dev/<raidName> 으로 포맷
mount /dev/<raidName> /<dirName> 으로 원하는 디렉토리에 마운트
vi /etc/fstab 에 마운트 설정 저장
레이드 확인
mdadm --detail --scan
레이드 상세 보기
mdadm --detail /dev/<raid name>
마운트 상태 확인
df
RAID 0, 1 구현
LinearRAID 생성과 동일하다
mdadm --create /dev/md<num> --level=0 --raid-devices=2 /dev/sdd1 /dev/sde1
mkfs.ext4 /dev/md<>
mount /dev/dm<> /<dirName>
vi /etc/fstab 마운트 설정내용저장
RAID 1 , RAID 5, RAID 6 설정도 동일하다.
RAID 문제 발생과 조치 방법
Linear RAID, RAID 0 는 결함 발생시 복구가 불가능.
RAID 1, 5, 6 는 결함을 허용하기 때문에 복구가 가능.
Linear RAID, RAID 0, 1, 5 복구
새로운 디스크를 연결하고, fdisk로 초기화 및 RAID 모드로 설정한다.
사용하지 않은 RAID 복구시
mdadm --stop /dev/md<num> 으로 현재 있는 RAID를 정지 시킨다.
mdadm --create /dev/md<num> 으로 새롭게 RAID를 지정해준다.
사용중이던 RAID 복구시
mdadm /dev/md<num> --add /dev/sd<> 기존 RAID에 새로운 디스크를 추가해주면 된다.
vi /etc/fstab 에서 RAID 설정 값을 저장한다.
RAID 6, RAID 1+0 개념
RAID 6는 패리티를 2개 사용하고 최소 4개의 디스크가 필요
RAID 1+0
RAID6, RIAD1+0 결함 해결
RAID 6는 패러티2개를 사용해 디스크 2개의 결함까지 허용한다.
RAID 1+0 도 RAID 1 두개로 RAID 0을 이루기 때문에 결함을 허용한다.
LVM (Logical Volume Manage)
LVM개념과 구현
여러 개의 하드디스크를 합쳐서 한개의 파일시스템으로 사용하는 것. 필요에 따라서 다시 나눌수도 있다.
Physical Volume
Volume Group
Logical Volume
LVM 구현 과정은 RAID 구현과정 틀은 동일하다. 하드를 설치하고, fdisk로 파티션을 분배한 다음, 볼륨그룹을 묶어서 마운트한다.
-
하드디스크 설치후 /dev/sd* 으로 확인
fdisk /dev/sd<> 으로 설치한 하드디스크 파이셔닝, 타입을 8e Linux LVM으로 설정
-
pvcreate /dev/sd<al><num> 으로 방금 설정한 파티셔닝을 PV 생성
-
vgcreate /dev/<Volume Group Name> /dev/<PartitionName1> /dev/<Partition Name2> .. 으로 볼륨그룹을 생성한다.
-
lvcreate --size <num><M/G/T> <Logical Volume Name> <VG Name> 으로 볼륨그룹 내에 논리 볼륨을 생성한다. size대신 extents도 가능(남은용량모두)
-
mkfs.ext4 /dev/<VG name>/<LV name> 으로 논리 볼륨을 포맷해준다.
-
mkdir 로 마운트할 디렉토리를 생성하고, mount /dev/<VG name>/<LV name> /<Dir Name> 으로 마운트해준다.
-
vi /etc/fstab 에 마운트내용을 저장한다.
RAID에 CentOS 설치
OS가 설치된 디스크에 결함이 발생할 경우 부팅도 불가능할 수 있기 때문에, RAID 1으로 설치하면 결함을 허용할 수 있다.
Linux 설치시 설치목적지 - 디스크 모두 선택 후 커스텀
- 표준파티션 으로 마운트지점을 swap으로 설정하고 장치 유형을 RAID - RAID1으로 설정한다.
- 새 파티션추가로 마운트지점을 /(루트)로 설정하고 장치 유형을 RAID - RAID1으로 설정하한다.
설치를 쭉 마무리.
cmd에서 mdadm --detail --scan 으로 마운트된 디바이스를 확인해보면 RAID1으로 마운트되어있음을 확인할 수 있다.
사용자별 공간할당-쿼터 개념과 실습
쿼터 개념
다중사용자 기능으로 사용시 디스크의 사용량을 파일갯수나 용량으로 제한하는 방식이다.
클라우드에서 사용량을 제한하는 것과 같은 개념.
파일시스템을 /(root) 보다는 별도로 지정하는 것이 좋다.
-
유저를 생성할 때 유저홈을 마운트된 디렉토리 아래에 생성한다.
-
/etc/fstab를 수정한다. fstab에서 마운트 옵션을 defaults에서 defaults,usrjquota=aquota.user,jqfmt-vfsv0 로 변경
-
mount --options remount </디렉토리명> 으로 리마운트 해준다.
-
해당 디렉토리로 이동해서 아래의 명령어로 쿼터DB를 생성한다.
quotaoff -avug 쿼터를 끄고
quotacheck -augmn 쿼터 체크 (rm -rf aquota.* 로 체크파일 삭제 후 다시 반복)
touch aquota.user aquota.group 쿼터 DB생성
chmod 600 aquota.* 쿼터에 대한 정보를 외부 사용자는 볼 수 없고, 내부 사용자만 볼 수 있게설정
quotacheck -augmn 다시 쿼터 체크
quotaon -avug 쿼터를 다시 킨다.
-
edquota -u <사용자명> 으로 쿼터제한을 편집하고 저장한다.
-
blocks 는 용량제한으로 뒤에 soft는 경고지점(mb단위), hard는 제한지점(mb단위)
-
inodes 는 파일수 제한
할당 받은 용량을 초과하면 soft지점에선 경고가, hard지점에선 제한 메시지가 출력되고, hard지점을 초과하는 데이터는 저장되지 않는다.
'Linux > Centos8' 카테고리의 다른 글
데이터베이스 서버 (0) | 2020.11.13 |
---|---|
메일 서버 (0) | 2020.11.13 |
DNS 네임 서버 (0) | 2020.11.12 |
텔넷, OpenSSH, XRDP 서버 (0) | 2020.11.12 |
X윈도 기본 툴과 사용법 (0) | 2020.11.12 |