3/3일 수업에 이어서 리눅스 디스크 관리 내용 수업이다.
파티셔닝 수행 가능 (MBR/GPT)
비대화형 실행 가능 (대화형 실행 가능)
parted 주요 옵션
-l : 디스크 별 파티션 상태 확인
-m : 출력 형식 변경 (: 기호로 항목 분류)
-s : 비대화형 실행 옵션
parted를 사용한 비대화형 파티션 설정 방식
파티션 유형 설정 반영
파티션 유형 설정 명령
# parted -s /dev/sdb mklabel msdos
파티션 유형 확인 명령어 : parted 내에서 help mklabel
# parted -s /dev/sdb help mklabel
파티션 생성 (단일)
# parted -s /dev/sdb mkpart primary 0% 100%
mkpart 파티션 생성 명령
primary : 주 파티션 유형
0% : 시작 위치를 %로 지정
100% : 마지막 위치를 %로 지정
퍼센트 지정
# parted -s /dev/sdb mkpart primary 0% 30%
# parted -s /dev/sdb mkpart primary 30% 60%
# parted -s /dev/sdb mkpart primary 60% 100%
용량 지정
# parted -s /dev/sdb mkpart primary 0MB 100MB
# parted -s /dev/sdb mkpart primary 100MB 200MB
# parted -s /dev/sdb mkpart primary 200MB 300MB
mkpart 시 파티션 유형별 주의사항
MBR: 파티션 타입 지정 필요 (primary, extended)
ex) parted -s /dev/sdb mkpart primary 0% 100%
GPT: 파티션 이름 지정 필요
ex) parted -s /deb/sdb mkpart test 0% 100%
parted 명령어 정리
mklabel : 파티션 유형 지정
mkpart : 파티션 생성
rm : 파티션 삭제
select: 장치 선택
# parted
(parted) select /dev/sdb
unit: 사용할 단위 선택
KB, MB, GB : 해당 단위 사용
compact : 자동으로 단위 선택
print : 현재 파티션 정보 출력
print devices : 장치 정보
print free : 기본적인 출력 내용 + 할당되지 않은 영역 정보
참고) 디스크의 파티션 정보 삭제
# dd if=/dev/zero of=/dev/sdb bs=512 count=100
dd: Disk Dump. 데이터를 기록하기 위한 명령
if: 원본
of: 사본
bs: 블럭 사이즈
count: 블럭 개수
파일시스템
파티션 내에 파일/디렉토리를 적재하는 방식
어떤 방식으로 데이터를 저장할 것인지, 어떤식으로 탐색할지…
운영체제와 많은 연관
파일시스템의 구성
메타 영역 : 파일들의 속성, 파일시스템 자체의 정보
데이터 영역 : 실제 파일의 내용이 저장되는 영역
파일시스템의 종류
디스크 기반 파일시스템
유닉스
UFS(Unix File System, Universal File System)
리눅스
ext(Extended File System)
ext2, ext3, ext4
xfs (SGI사에서 제작)
윈도우즈
FAT (File Allocation Table)
FAT16, vFAT, FAT32, FAT64(exFAT)
NTFS (NT File System)
ReFS (Resilient File System)
광학디스크용 파일시스템
ISO9660
UDFS(Universal Disk File System)
분산 파일시스템
NFS(Network File System): Sun Microsystems(Solaris Unix) → Oracle이 인수. 현재 거의 대부분의 유닉스 계열 시스템에서 널리 사용
SMB(Server Message Block) : Microsoft → CIFS(Common Internet File System), samba(리눅스에서 SMB 기능을 사용하기 위한 도구)
Pseudo 파일시스템
메모리 기반 파일시스템
/sys, /proc, /run…
swap
/dev
파일시스템 생성
파일시스템은 반드시 디스크장치 파일이 아닌 파티션 파일을 지정하여 생성
파일시스템 생성시 생성할 파일시스템의 유형을 지정하여야 함 (지정하지 않을 경우 ext2로 생성)
파일시스템 생성 명령 : mkfs
mkfs 주요 옵션
-t : 파일시스템의 유형 (xfs, ext2, ext3, ext4….)
mkfs.[파일시스템이름]
마운트
파일시스템이 생성되어 있는 파티션을 연결하는 과정
마운트포인트와 장치를 연결
마운트포인트는 사전에 생성되어 있어야 함
마운트 명령어: mount
사용법: mount [옵션] <마운트할 장치이름> <마운트포인트>
마운트 상태 확인: # mount
마운트 제거
마운트 되어 있는 장치를 연결 해제
명령어: umount
umount <장치 이름>
umount <마운트포인트>
시스템 부팅 시 자동으로 마운트하기 위한 설정
/etc/fstab
ⓐ/dev/mapper/centos-root ⓑ/ ⓒxfs ⓓdefaults ⓔ0 ⓕ0
ⓐ 마운트할 장치 이름
ⓑ 마운트포인트
ⓒ 마운트할 파일시스템 종류
ⓓ 마운트 옵션(defaults 기본 옵션)
ⓔ 덤프 (0: 덤프 안함, 1~ : 덤프 순번)
ⓕ 파일시스템 체크 (0: 파일시스템 체크 안함, 1~ : 체크 순번)
UUID(universally unique identifier)
장치를 식별하기 위한 고유한 식별자
시스템 내에서 다른 장치/개체와 중복되지 않음
저장소 장치의 UUID를 확인하는 방법
#blkid
/etc/fstab 파일 수정 후 설정 확인
마운트가 해제된 상태에서 # mount -a
→ /etc/fstab 파일의 내용대로 마운트 수행
정상적으로 마운트되었는지 확인 (설정 오류가 있을 경우 마운트 되지 않음)
/etc/fstab 파일 비정상 수정시 부팅 불가
→ Emergency mode로 부팅됨
→ 파일 수정 후 재부팅
저장소 설정의 흐름
장치 인식 → 파티션 설정 → 파일시스템 생성 → 마운트