9장 디스크 관리 기본
학습목표
- 1. 가상머신 내부 디스크 장치의 구성을 이해한다.
- 2. 리눅스에 디스크 하나를 추가하는 방법을 익힌다.
- 3. 파일 시스템을 생성하고, 마운트하는 방법을 익힌다.
- 4. 쿼터의 개념과 설정 방법을 이해한다.
1-1 SATA 장치와 SCSI 장치 구성


#장치구성
- 메인보드의 SATA 0번 슬롯(메인보드에 케이블을 꽃을 수 있는 홈)에는 각각 30개의 SATA 장치를 장착
- VMware는 SATA슬롯 4개를 지원하므로, SATA 장치를 120개까지 장착 가능
- SATA 장치는 주로 SATA 0:0, SATA 0:1, SATA 0:2 ... 로 표기
- VMware에는 기본적으로 SATA 0:1에 CD/DVD 장치가 장착됨
- SATA 장치(주로 디스크) 추가는 비어 있는 나머지 119개의 장치에 장착

#구성
- VMware의 경우 메인보드에 SCSI 슬롯이 4개
- SCSI 0번 슬롯의 경우, SCSI 0:0~SCSI 0:15(SCSI 0:7 제외)의 15개 디스크 장착이 가능
- SCSI 1, 2, 3번 슬롯도 각각 사용 가능하므로 총 60개(4x15)의 디스크 장착이 가능
2-1 디스크 하나 추가

#구성
- 처음 장착된 SCSI 디스크를 /dev/sda, 추가로 장착된 디스크를 /dev/sdb, /dev/sdc, /dev/sdd, ...로 부름
- /dev/sda 장치를 파티션으로 나누고, 이 파티션은 차례대로 1, 2, 3, 4를 붙여서 /dev/sda1, /dev/sda2, /dev/sda3, /dev/sda4라고 부름

- 추가한 디스크의 이름은 /dev/sdb
- 파티션의 논리적 이름은 /dev/sdb1
- '/mydata'라는 디렉터리를 만들고, 이 디렉토리에 마운트
실습 9-1 디스크 하나 장착하고 사용하기
- 명령어 정리
- 파티션 테이블 관리 명령어
- fdisk /dev/디스크명
- fdisk /dev/sdb : SCSI 0:1 디스크 선택
- command 명령어
- Command: n : 새로운 파티션 분할
- Select: p : primary 파티션 선택
- Partition number: 1 - 파티션 1번 선택
- First sector: enter : 첫번째 섹터 지정(엔터 : 기본값)
- Last sector: enter : 마지막 섹터 지정(엔터: 기본값)
- Command: p : 설정 내용 확인
- Command: w : 설정 내용 저장
- 파일 시스템 포맷 명령어
- mkfs.[파일시스템][옵션] [디스크파티션] : [디스크파티션]에 파일시스템을 생성하는 명령어
- mkfs -t [파일시스템][옵션] [디스크파티션]
- mkfs.ext4 /dev/sdb1 : /dev/sdb1 파티션에 파일시스템 생성
- mount 명령어
- mount [옵션] <장치 또는 파일 시스템> <마운트 지점>
- mount /dev/sdb1 /mydata: mydata 디렉토리를 /dev/sdb1에 마운트
- 자동 마운트
- /etc/fstab 파일 열기
- /dev/sdb1 /mydata ext4 defaults 0 0 추가
3-1 공간 할당, 쿼터의 개념
- 공간 할당
- 디스크가 꽉 차면 시스템 전체가 가동되지 않는 치명적인 문제가 발생
- 이러한 상황을 미연에 방지하려면 사용자 별로 할당된 공간만 사용하도록 용량을 제한
- 쿼터(Quota)
- 파일 시스템마다 각 사용자가 사용할 수 있는 파일의 용량과 개수를 제한하는 것
- 쿼터 실습 진행 순서
- etc/fstab 수정 -> 재부팅 또는 리마운팅 -> 쿼터 DB 생성 -> 개인별 쿼터 설정
실습 9-2 사용자에게 공간 할당하기
-
명령어 정리
- adduser --home /mydata/linux1 linux1: linux1 유저 생성
- adduser --home /mydata/linux2 linux2: linux2 유저 생성
- mount --options remount /mydata: 리마운트하는 명령어
- quotaoff -avug: 쿼터 종료 명령어
- quotaoff: 시스템에서 가동중인 쿼타를 중지하는 명령어
- quotacheck -augmn: 파일 시스템의 쿼터 관련 체크 명령어
- touch aquota.user aquota.group: 쿼터 관련 파일 생성 명령어
- touch [파일명]: 옵션이 없을 경우 0바이트의 빈 파일을 생성
- touch f1 f2 f3: 0바이트 인 f1, f2, f3 파일을 생성
- chmod 600 aquta.*: 보안을 위해 소유자 외에는 접근 금지
- chmod [파일명]: 파일이나 디렉터리의 권한을 변경하는 명령어
- chmod 600 [파일명]
- 첫 번째 자리(6): 파일 소유자의 권한
- 두 번째 자리(0): 파일 소유 그룹의 권한
- 세 번째 자리(0): 기타 사용자의 권한
- 4: 읽기 권한(r)
- quotaon -avug: 설정된 쿼터 시작 명령어
- quotaon: 시스템에서 쿼타를 가동하는 명령어
- edquota -u linux1: linux1 사용자의 쿼타를 설정하는 명령어
- edquota: 각 사용자(그룹)의 디스크 쿼타를 설정하는 명령어
- soft limit, hard limit 제한
- edquota -p 기준사용자 대상사용자: 특정 사용자의 쿼터를 다른 사용자에게 동일한 설정으로 적용할 때 사용하는 옵션
- requota /mydata: mydata파일 안의 사용자별 현자 사용량을 확인하는 명령어
- requota [파일시스템]: 파일시스템의 디스크 사용량을 요약하여 표시, 사용자 할당량과 그룹 할당량 모두 표시
-
용어 정리
- Filesystem
- 사용자별 쿼터를 할당하는 파일 시스템을 의미
- 앞에서는 /etc/fstab 파일에 /dev/sdb1을 쿼터로 설정
- blocks, soft, hard
- 현재 사용자가 사용하는 블록(KB 단위)과 소프트 사용 한도, 하드 사용 한도를 의미
- (soft:0, hard:0)의 의미 사용 한도가 0이라는 의믹 아니라 사용 한도를 제한하지 않는다는 뜻
- inodes, soft, hard
- blocks는 용량을 의미하고, inodes는 inode의 개수를 의미
- soft(경고), hard(물리적제한)
예

#설명
- linux1 사용자는 현재 28KB의 블록을 사용하고 있고, 사용한도를 soft는 15360KB로, hard는 20480KB로 설정하고 있다.