파일 시스템 생성
가상 머신 디스크 추가
- 새 디스크 장착
- 디스크 파티션 나누기
- 파티션에 파일 시스템 생성(포맷)
- 디스크 마운트
디스크 파티션 나누기
- 파티션: 하나의 디스크를 독립된 영역으로 구분하는 것
- 디스크 전체를 하나의 파티션으로 사용할 수도 있고, 여러 개의 파티션으로 나누어 사용할 수도 있음
- 리눅스에서 IDE 컨트롤러에 연결된 디스크는 /dev/hd 로 시작
- SCSI나 SATA 컨트롤러에 장착된 디스크는 /dev/sd 로 시작하는 이름을 주로 사용
- 최근에는 IDE, SCSI 등 구분 없이 모두 /dev/sd 로 시작하는 이름 사용
- 컨트롤러에 연결되는 디스크의 순서에 따라 알파벳 추가 (/dev/sda, /dev/sdb, ...)
- 하나의 디스크를 파티션으로 구분할 경우 파티션은 디스크 장치 이름 뒤에 숫자를 붙여서 표시 (/dev/sda0, ...)
- fdisk [옵션] [장치명]: 디스크의 파티션 생성, 삭제, 보기 등 파티션 관리
- -b: 섹터 크기 지정(512, 1024, 2048, 4096)
- -l: 파티션 테이블 출력
파티션에 파일 시스템 생성
- 파티션에서 파일 디렉터리를 관리하기 위한 구조를 만드는 것
- mkfs [옵션] [장치명]: 리눅스 파일 시스템 생성
- -t 종류: 파일 시스템의 종류 지정(기본값: ext2)
- mke2fs [옵션] [장치명]: 리눅스 개정판 확장 파일 시스템(ext2~4) 생성
- -t 종류: 파일 시스템의 종류 지정(기본값: ext2)
- -b 블록크기: 블록 크기를 바이트 수로 지정
- -c: 배드 블록 체크
- -f 프래그먼트크기: 프래그먼트 크기를 바이트 수로 지정
- -i inode당바이트수: inode당 바이트수 지정(기본값: 4096B)
- -m 예약블록퍼센트: 슈퍼 유저에게 예약해둘 블록의 퍼센트 지정(기본값: 5%)
디스크 마운트
- 파일 시스템을 디렉터리 계층 구조에 마운트
- 마운트를 해제하는 경우
- 마운트가 해제된 뒤 /mnt/hdd1 디렉터리에 아무 파일도 없음
- 파일 시스템의 마운트가 해제되면 이 파티션과의 연결이 끊어지므로 /mnt/hdd1에서 hosts 파일을 볼 수 없음
LVM
- 독립적으로 구성된 디스크 파티션을 하나로 연결하여 한 파티션처럼 사용할 수 있도록 해줌
- PV(Physical Volume): 실제 하드디스크의 파티션
- VG(Volume Group): 여러 개의 PV를 그룹으로 묶은 것
- LV(Logical Volume): VG가 다시 적절한 크기의 파티션으로 나뉜 것
- PE(Physical Extent): PV가 가진 일정한 블록을 의미
- LE(Logical Extent): LV가 가진 일정한 블록을 의미
디스크 관리
용량 확인 및 출력
- df [옵션] [파일시스템]: 디스크의 남은 공간에 대한 정보 출력
- 파일 시스템 장치명, 전체 용량, 사용량, 남은 용량, 마운트 포인트 출력
- -a: 모든 파일 시스템을 대상으로 디스크 사용량 확인
- -k: 디스크 사용량을 KB 단위로 출력
- -m: 디스크 사용량을 MB 단위로 출력
- -h: 디스크 사용량을 알기 쉬운 단위(GB, MB, KB 등)로 출력
- -t 파일시스템종류: 지정한 파일 시스템 종류에 해당하는 디스크의 사용량을 출력
- -T: 파일 시스템 종류도 출력
- du [옵션] [디렉터리]: 디스크의 사용 공간에 대한 정보 출력
- -s: 특정 디렉터리 전체 사용량 출력
- -h: 디스크 사용량을 알기 쉬운 단위(GB, MB, KB 등)로 출력
파일 시스템 검사
- 손상의 원인: 부적절한 시스템 종료, 불안정한 전원, 소프트웨어 오류, 하드웨어 오작동 등
- 손상된 파일 시스템의 용량을 확인할 뿐만 아니라 파일 시스템의 상태를 점검하고 문제가 있을 때 복구해야 함
- fsck [옵션] [장치명]: inode 및 블록, 디렉터리, 파일 링크 등을 검사하고 필요 시 복구 작업도 수행
- -f: 강제 점검
- -b 슈퍼블록: 슈퍼 블록으로 지정한 백업 슈퍼 블록을 사용
- -y: 모든 질문에 yes로 대답
- -a: 파일 시스템 검사에서 문제를 발견했을 때 자동으로 복구
- e2fsck [옵션] [장치명]: 리눅스 확장 파일 시스템(ext2~4) 점검
- -f: 강제 점검
- -b 슈퍼블록: 슈퍼 블록으로 지정한 백업 슈퍼 블록을 사용
- -y: 모든 질문에 yes로 대답
- -j ext3/ext4: ext3나 ext4 파일 시스템을 검사할 때 지정
- badblocks [옵션] [장치명]: 장치의 배드 블록 검색
- -v: 검색 결과를 자세하게 출력
- -o 출력파일: 검색한 배드 블록 목록을 지정한 출력 파일에 저장
- 백업 슈퍼 블록을 이용한 파일 시스템 복구
- 파일 시스템의 기본 슈퍼 블록에 문제가 있으면 해당 파일 시스템을 사용할 수 없음
- 백업 슈퍼 블록 중 하나를 사용하여 파일 시스템 복구
- dumpe2fs: 백업 슈퍼 블록의 위치를 파악하는 명령어