RAID / LVM / quota

2024. 1. 29. 09:04리눅스/이것이리눅스다

728x90
반응형

하드디스크 파티션

하드디스크를 처음 장착하면 그냥 기계일 뿐이다. 하드디스크를 사용하려면 먼저 파티션을 설정 

 

파티션 1개로 초기화 하기위해 반복되는 문고 셸 스크립트 만들어 한번에 진행

#!/bin/bash

# 하드디스크 목록
hard_disks=( "/dev/sdb" "/dev/sdc" "/dev/sdd" "/dev/sde" "/dev/sdf" "/dev/sdg" "/dev/sdh" "/dev/sdi" )

# fdisk를 이용하여 각 하드디스크에 파티션 생성
for disk in "${hard_disks[@]}"; do
    # fdisk 명령어 실행
    (
    echo n      # 새로운 파티션 생성
    echo p     # 파티션 번호 1
    echo 1      # 파티션 번호 1
    echo 2048        # 첫 번째 섹터 기본값 사용 (전체 디스크)
    echo        # 마지막 섹터 기본값 사용 (전체 디스크)
    echo t      # 파티션 타입 변경
    echo fd     # RAID autodetect 타입
    echo w      # 변경사항 저장
    ) | fdisk "$disk"
done

RAID 

RAID는 여러 개의 하드디스크를 하나의 하드디스크처럼 사용하는 방식이다. 비용을 절감하면서도 신뢰성을 높이며 성능까지 향상시킬 수있다. 크게 하드웨어, 소프트웨어 RAID로 나눌 수 있다.
apt-get -y install mdadm # raid를 위해 mdadm 패키지 설치

https://jerrystyle.tistory.com/56
https://velog.io/@hari6180/RAID
https://www.sharedit.co.kr/posts/8361

 

https://www.sharedit.co.kr/posts/8361

 

https://www.sharedit.co.kr/posts/8361
https://www.sharedit.co.kr/posts/8361
https://www.sharedit.co.kr/posts/8361

RAID 0 RAID 1 RAID 5 RAID 6 RAID 10 / 01
사용가능 용량
(전체 디스크 구성 대비)
100% 50% 전체 크기에서
디스크 1개 제외
전체 크기에서
디스크 2개 제외
50%
최소 필요 디스크 개수 2 2 3 4 4
최대 필요 디스크 개수 제한 없음 2 제한 없음 제한 없음 제한 없음
디스크 장애 보장 개수 0 1 1 2 1~50%

출처 : https://www.sharedit.co.kr/posts/8361

https://www.youtube.com/watch?app=desktop&v=_gSsFnuzc3I

mdadm --create /dev/mdLinear --level=linear --raid-devices=2 /dev/sdb1 /dev/sdbc1
mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdbc1
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdbc1
mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdbc1 /dev/sdd1
mdadm --create /dev/md6 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdbc1 /dev/sdd1 /dev/sde1


# 이 외에도 자주 사용하는 명령어
mdamd --stop /dev/md6
mdadm --run /dev/md6
mdamd --detail /dev/md6
mdmamd --detail --scan

name=server:3 이부분 지우고 "/etc/mdadm/mdadm.conf 파일에 입력

/etc/fstap 에 설정하여 자동 마운트 설정

#순서
# 장치이름, 마운트될 디렉토리, 파일 시스템, 속성, dump 사용 여부, 파일 시스템 체크 여부

# ex
/dev/md6	/raid6	ext4	defaults	0	0

RAID 복구 

#raid linear, raid0
# 먼저 stop
mdadm --stop /dev/mdLinear
mdadm --stop /dev/md0
#vi /etc/fstab 에서 제거 후 재부팅
# 다시 create
mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
# 파일시스템 포맷
mfks.ext4 /dev/md0
#마운트
mount /dev/md0 /raid0

# raid 1, 5
mdadm --run /dev/md1
mdadm /dev/md1 --add /dev/sdd1

# /etc/mdadm/mdadm.conf파일, /etc/fstab 파일 작성 후 재부팅 후 작동 확인

LVM

LVM은 Logical VOlume Manager의 약자로 논리 하드디스크 관리자라는 의미다. 
LVM은 여러 개의 하드디스크를 합쳐서 한 개의 파티션으로 구성한 후, 다시 필요에 따라 나누는 것이다.
  • 물리 볼륨  :  /dev/sda1, /dev/sdb1 등의 파티션을 말한다.
  • 볼륨 그룹 : 물리 볼륨을 합쳐서 1개의물리 그룹으로 만든 것
  • 논리 볼륨 : 볼륨 그룹을 1개 이상으로 나눈 것으로 논리적 그룹이라고 한다.
apt -y install lvm2

http://livemedia-soft.com/1800
https://velog.io/@zezeg2/LinuxCentOS-%EC%A0%80%EC%9E%A5%EC%86%8C-%EA%B4%80%EB%A6%ACLVM-RAID

1. # fdisk /dev/sdb
2.Command : n
3. Select : p
4. Partition number (1-4) : 4
5. First sector : enter
6. Last sector : enter
7. Command : t
8. Hex Code : 8e
9. Command : p
10. Command : w 
  1. 하드디스크 선택
  2. 새로운 파티션 분할
  3. Primary 파티션 서낵
  4. 파티션 번호 1 선택
  5. 시작 섹터 번호 입력
  6. 마지막 섹터 번호 입력
  7. 파일 시스템 유형 선택
  8. 선택한 파일 시스템 유형 번호 입력 (L 입력시 유형 번호 출력)
  9. 설정된 내용 확인
  10. 설정 저장

물리적 볼륨 생성

pvcreate /dev/sdb1

볼륨 그룹 생성

vgcreate myVG /dev/sdb1 /dev/sdc1

논리 그룹 생성

lvcreate --size 1G --name myLG1 myVG
lvcreate --size 3G --name myLG2 myVG
lvcreate --extents 100%FREE --name myLG3 myVG #나머지 용량 모두 할당
ls -l /dev/myVG

파일시스템 생성

mkfs.ext4 /dev/myVG/myLG1
mkfs.ext4 /dev/myVG/myLG2
mkfs.ext4 /dev/myVG/myLG3

마운트

mkdri /lvm1 /lvm2 /lvm3
mount /dev/myVG/myLG1 /lvm1
mount /dev/myVG/myLG2 /lvm2
mount /dev/myVG/myLG3 /lvm3

/etc/fstab 파일 설정

/dev/myVG/myLG1	/lvm1 ext4 defaults 0 0
/dev/myVG/myLG2	/lvm2 ext4 defaults 0 0
/dev/myVG/myLG3	/lvm3 ext4 defaults 0 0

쿼터

파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량과 개수를 제한하는 것

https://kyumoonhan.tistory.com/32

1. 하드디스크 추가하기.

 

- 10GB의 사용자 하드디스크를 추가.

 

2. /dev/sdb의 파티션을 생성 및 포맷을 한 후 'userHome' 디렉토리에 마운트

 

- # fdisk /dev/sdb1

- Command : n

- Select : P (Linux)

- Partition Number(1-4) : 1

- First Sector : Enter

- Last Sector : Enter

- Command : p

- Command : w

- #mkfs.ext4 /dev/sdb1

- # mkdir /userHome

- # mount /dev/sdb1/ userHome

 

재부팅 후 인식되도록 /etc/fstab에 등록

/dev/sdb1 /userHome /ext4 default 0 0

 

3. 임의의 사용자를 생성

 

- john과 ban 생성

- adduser --home /userHome/john john

- adduser --home /userHOme/ban ban

 

4. /etc/fstab 을 편집한다.

defaults 뒤에 다음 문구를 추가해준다.

- .usrjquota=aquota.user,jqfmt=vfsv0 을 추가한다. (추가한 디스크는 쿼터용을 될 수 있음을 의미)

5. 재부팅한 효과를 내기 위해 mount --option remount/userHome을 입력해 다시 마운트 한다.

6. 쿼터 DB 생성 (사용자 용량 제한)

cd .userHome - 쿼터용 파일 시스템이 마운트된 디렉터리로 이동한다.
quotaoff -avug - 일단 쿼터를 끈다
quotacheck -qugmn - 파일 시스템의 쿼터 관련 체크를 한다
rm -rf aquota. - 생성된 쿼터 관련 파일을 삭제한다
quotacheck -augmn - 다시 파일 시스템의 쿼터 관련 체크를 한다
touch aquota.user aquota.group - 쿼터 관련 파일을 생성한다
chmod 600 aquota. - 보안을 위해 소유자(root)외에는 접근하지 못하게 한다.
quotacheck -augmn - 마지막으로 파일 시스템의 쿼터 관련 체크를 한다.
quotan -avug - 설정된 커터를 시작한다.

 

7. 사용자별 공간 할당

 

- john 사용자가 사용할 수 있는 공간을 10MB 할당한다.

- edquota -u john 을 입력하면 사용자 별 할당량 편집 가능

 

9. 그 외 명령어

 

- edquota -p john ban ( john에 적용한 쿼터 값을 그대로 ban에게 적용)

- requota /userHome (userHome 디렉토리에 적용되어있는 쿼터값을 확인)

 

참조사이트:

https://kyumoonhan.tistory.com/32

 

[Linux] 사용자별 공간 할당 쿼터

쿼터 (Quota) - 파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수를 제한하는 것 실습 진행 순서 1. 하드디스크 추가하기. - 10GB의 사용자 하드디스크를 추가. 2. /dev/sdb의 파티

kyumoonhan.tistory.com

 

반응형

'리눅스 > 이것이리눅스다' 카테고리의 다른 글

DNS  (0) 2024.01.29
커널 컴파일 연습  (0) 2024.01.16
커널 컴파일  (0) 2024.01.13
네트워크 관련 설정과 명령어  (1) 2024.01.13
응급 복구와 GRUB 부트로더  (0) 2024.01.12