반응형
파일 시스템 관리 및 복구
파일 시스템 생성의 개요
- 하드디스크를 새로 추가하거나 기존 하드디스크 중 아직 사용하지 않은 영역이 있다면 파일 시스템을 생성하여 정보를 저장하는 데 사용할 수 있다.
- fdisk -l을 통해 하드디스크가 시스템에 정상적으로 인식되었는지 확인한다.
파티션 생성
- fdisk 명령어로 원하는 파티션을 생성할 수 있다.
- mkfs 명령어로 원하는 파일 시스템으로 포맷을 한 뒤 mount 명령어로 시스템상 마운트 할 수 있다.
- 시스템 리부팅 후에도 계속 마운트가 유지될 수 있도록 /etc/fstab 파일에 파일 시스템을 등록한다.
fdisk를 통한 파티션 관리
- 디스크 상에서 파티션을 생성, 삭제, 수정할 수 있다.
- 형식: fdisk [option] device
- 옵션
- -l: 지정한 디스크의 파티션 정보를 출력한다. 만약 디스크를 설정하지 않으면 /proc/partitions의 장치 파티션 정보를 출력한다.(l은 list의 머리글자)
- -b: 섹터당 크기를 설정한다. 512, 1024, 2048, 4096 중 하나를 선택할 수 있다.
- -s: 파티션 크기를 출력하며 단위는 block이다.(s는 size의 머리글자)
- 예제
- $ sudo fdisk -l /dev/sda
- $ sudo fdisk -s /dev/sda1
mkfs를 통한 파일 시스템 생성
- mkfs는 일반적으로 하드디스크를 사용할 수 있도록 파일 시스템을 생성하는 명령어이다.
- 형식: mkfs [options] device
- 옵션
- -t, --tye: 파일 시스템 유형을 지정한다. 기본은 ext2 파일 시스템이 적용된다.
- -c: 파일 시스템을 생성하기 전에 배드 블록을 체크한다.
- 예제
- $ sudo mkfs -t ext4 /dev/sda2
mke2fs를 통한 파일 시스템 생성
- mke2fs 명령어는 파일 시스템을 실제로 생성하는 명령어이다. mkfs도 내부적으로는 mke2fs 명령어를 호출한다.
- 형식: mke2fs [option] device
- 옵션
- -j: 저널링 파일 시스템인 ext3로 생성한다.
- -t: 생성할 파일 시스템 유형을 지정한다. 지정하지 않으면 /etc/mke2fs.conf에 지정된 기본값을 사용한다.
- -b: 블록 사이즈를 지정할 수 있다. 블록 사이즈는 1024, 2048, 4096 중 하나이다.
- -E(-R도 가능): 파일 시스템의 확장 옵션을 설정할 수 있다. 확장 옵션의 예로 RAID를 위한 'stride=stride-size', stripe-width=strip-width' 등이 존재한다.
- -T: 블록 크기, 아이노드 크기, 파일 시스템 기능 등 파일 시스템의 파라미터를 지정할 수 있는 옵션이다. /etc/mke2fs.conf를 통해 설정된 파일 시스템 파라미터를 옵션으로 입력할 수 있다. 보통 small, floppy, largefile, largefile4 등이 미리 설정되어 있고 임의로 추가하거나 제거할 수도 있다.
- 예제
- $ sudo mke2fs -j /dev/sda2
- $ sudo mke2fs -j -b 2048 -E stride=32 /dev/sda1
- $ sudo mke2fs -j -T largefile /dev/sda2
- mkfs.xfs
- xfs 파일 시스템을 생성할 수 있다.
- # mkfs.xfs /dev/sda2
mount를 통해 시스템에 장착
- mount 명령어는 하드디스크 전체나 특정 파티션을 현재 존재하는 파일 시스템의 디렉터리 구조에 붙여서 접근 가능하게 하는 명령어이다.
- 형식: mount [option] [device] [directory]
- 옵션
- -a, --all: /dev/fstab에 명시된 모든 파일 시스템을 마운트 할 때 사용하는 명령어이다.
- -t, --types: 파일시스템의 유형을 지정한다. 파일 시스템 유형에 "no"를 붙이면 해당 파일 시스템은 제외할 수 있다.
- -o, --options: 파일 시스템 마운트 시 옵션을 추가할 수 있다. 옵션은 여러 개 입력 가능하며 콤마(,)로 구분한다. ro는 읽기 전용으로, rw는 읽기 쓰기용으로 마운트 한다.
- 예제
- $ sudo mount -a
- $ sudo mount -a -t nomsdos,ext: msdos와 ext 파일 시스템을 제외한 모든 파일 시스템을 마운트 한다.
- $ mount -t iso9660 -o ro /dev/cdrom /mnt
- $ mount -o loop linux.iso /mnt/linux
- $ mount -t xfs: 현재 시스템에 마운트 장치 중 xfs 파일 시스템의 정보를 출력한다.
unmount를 통해 시스템 해제
- unmount 명령어는 mount 명령어로 마운트 했던 파일 시스템을 해제할 때 사용하는 명령어이다.
- 형식: unmount [option] device, unmount [option] directory
- 옵션
- -a: /etc/mtab에 설정된 모든 파일 시스템을 언마운트한다.
- -t: 지정한 유형의 파일 시스템만 언마운트한다.
- 예제
- $ cat /etc/mtab
- $ sudo unmount -a
- $ sudo unmount -t ext4
- $ sudo unmount /dev/sdb5
- $ sudo unmount /dev/namju/tmp
eject를 통한 미디어 꺼내기
- 지정한 장치의 미디어를 꺼내는 명령어이다. 장치 파일의 이름이나 마운트 된 위치 또는 장치의 전체 경로를 통해 지정할 수 있다. 이름을 지정하지 않고 사용하면 기본적으로 cdrom이 사용된다. eject 명령어를 사용하면 자동으로 언마운트하는 효과가 있다.
- 형식: eject [device], eject [directory]
- 예제
- $ eject
- $ eject cdrom
- $ eject /dev/cdrom
- $ eject /mnt/cdrom
/etc/fstab를 통한 영구 마운트 설정
- /etc/fstab 파일은 리눅스 파일 시스템의 마운트 위치 및 마운트 옵션에 대한 정보를 담고 있는 중요한 파일이다. 리눅스가 부팅할 때 이 파일의 정보에 따라 파일 시스템을 자동으로 마운트 한다. mount, umount, fsck 등의 명령어가 이 파일을 참조하며 총 6개의 필드로 구성되어 있다.
- $ cat /etc/fstab
- 첫 번째 필드: 블록디바이스 장치를 지정한다. 해당 장치는 보통 /dev 디렉터리 이하에 위치한다. 다른 방법으로는 LABEL 또는 UUID를 사용한다. 특히 UUID는 시스템 전역적으로 유일한 이름을 보장받을 수 있어 선호된다.
- 두 번째 필드: 마운트 위치를 뜻한다. 이 디렉터리를 통해 블록 디바이스에 접근할 수 있다.
- 세 번째 필드: 파일 시스템 유형이다. 보통 ext2, ext3, ext4 등을 지정할 수 있다. 삼바와 같은 원격 블록디바이스의 경우 cifs를 지정하고 네트워크 파일 시스템의 경우 nfs를 지정한다.
- 네 번째 필드: 마운트 옵션이다. 파일 시스템과 관계없이 사용할 수 있는 공통 옵션과 파일 시스템마다 다른 옵션을 사용할 수 있다. 기본값을 사용하기 위해서는 defaults를 사용한다. default 값은 rw, Set-UID, dev, exec, auto, nouser, async를 뜻한다.
- 다섯 번째 필드: 덤프 여부이다. dump 프로그램에 의해 백업되어야 하는지 정한다. 0이면 백업되지 않고 1이면 백업된다.
- 여섯 번째 필드: 파일 시스템 점검이다. 부팅 시 파일 시스템을 점검할 순서를 지정한다. 보통 루트 파일 시스템은 1로 지정하여 가장 빨리 점검하고 나머지 파일 시스템은 2로 지정하여 그다음에 수행할 수 있도록 한다. 0이면 해당 파일 시스템은 점검하지 않는다.
반응형
'Linux > 리눅스 시스템 관리' 카테고리의 다른 글
02-03 스왑(Swap) (0) | 2022.03.10 |
---|---|
02_02_파일 시스템 점검 (0) | 2022.03.10 |
01_02_06_텍스트 관련 명령어 (0) | 2022.03.08 |
01_02_05_파일 시스템 관리_파일 관리 (0) | 2022.02.20 |
01_02_04_파일시스템 관리_디렉터리 관리 (0) | 2022.02.15 |