2024. 1. 29. 09:04ㆍ리눅스/이것이리눅스다
하드디스크 파티션
하드디스크를 처음 장착하면 그냥 기계일 뿐이다. 하드디스크를 사용하려면 먼저 파티션을 설정
파티션 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 패키지 설치
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
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
- 하드디스크 선택
- 새로운 파티션 분할
- Primary 파티션 서낵
- 파티션 번호 1 선택
- 시작 섹터 번호 입력
- 마지막 섹터 번호 입력
- 파일 시스템 유형 선택
- 선택한 파일 시스템 유형 번호 입력 (L 입력시 유형 번호 출력)
- 설정된 내용 확인
- 설정 저장
물리적 볼륨 생성
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
쿼터
파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량과 개수를 제한하는 것
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 |