파일 시스템
파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보간 또는 조직하는 체제이다. 파일 저장 및 검색을 용이하도록 유지,관리하며 빠르게 읽고 사용 할 수 있도록 만들어 놓은 규칙이다.
리눅스 지원 파일 시스템 종류
-Ext3, Ext4, SWAP, XFS, nfs, iso9660
Disk의 종류
-IDE, SATA, SCSI, SAS
Boot sector(Boot Block)와 Block Group
-Ext4의 파일 시스템은 BootSector와 Block Group으로 구분가능하다.
Boot sector
-Boot Sector는 Block Group 0번 앞에 위치해 있으며, MBR과 LILO 또는 GRUB가 저장되어 있다.
*MBR = Master Boot Record
*LILO = Linux Loader
*GRUB = Grand Unified Bootloader
Block Group
Block들의 모임이며 Super Block 및 Group Descriptor Table의 복사 본을 가짐으로써 파일시스템의 중요 메타데이터 정보를 보호한다.
파티션 (Partition)
하나의 물리적인 디스크를 여러개의 논리적인 디스크로 나누는 것이다. 리눅스 파티션은 주(Primary) 파티션과 확장(Extended) 파티션 그리고 논리(Logical) 파티션으로 구분된다. 디스크 하나당 주 파티션은 최대 4개까지 생성 가능하고 4개 이상의 파티션을 생성할 경우 확장과 논리 파티션이 필요하며, 최대 12개까지 생성이 가능하다.
Disk 명칭
Windows |
Linux |
C:\ |
/dev/sda |
D:\ |
/dev/sdb |
. |
/dev/sdc |
. |
. |
. |
. |
Linux Partition 명칭
/dev/sda1
/dev/sda2
/dev/sda3
.
.
.
ex) /dev/sdc4 -> 세번째 disk의 네번째 파티션
fdisk
디스크 파티션 설정하거나 삭제할 때 사용하는 명령어
# fdisk [옵션] [장치명]
옵션
-l 디스크 파티션 정보 확인
df(Diskfree)
파일시스템 및 파티션별 자세한 용량 확인
# df [옵션] [파일명]
옵션
-a 모든 파일 시스템 출력
-i inode 사용정보 출력
-h 용량을 읽기 쉽게 출력
du(Disk Usage)
특정 디렉토리나 파일의 용량 확인
# du [옵션] [파일명]
옵션
-h 용량을 읽기 쉽게 출력
-s 요약하여 출력
Disk 추가 실습
VMware의 Server-A 우클릭 후 Settings 옵션 클릭
위와 같은 화면 에서 Add 클릭
Hard Disk 설정 후 Next
SCSI -> Create a new Virtual Disk -> 용량설정
-> 이름확인 -> Finish
Finish 누르면 위와 같이 새롭게 추가된 것을 확인할 수 있다.
Disk 추가 확인
#reboot로 재부팅하여 추가한 Disk를 인식시켜준다.
새로 추가한 디스크를 fdisk 명령어로 확인한다.
아직 파티션이 나누어 지지 않아 첫번째 디스크와 달리 밑에 출력할 정보가 없다.
Partition 생성
# fdisk 명령어로 파티션 생성
추가한 디스크는 두번째 디스크이기 때문에 sdb이다.
위와 같은 옵션들이 있다.
파티션 생성을 위해 n
새로운 파티션 생성을 위해 n, 주파티션 생성을 위해 p, 1번 주파티션을 위해 1, 시작할 실린더 설정(입력하지 않고 엔터시 처음부터 시작되어 저절로 1로 설정된다), 시작한 실린더부터 100mb까지 설정을 위해 +100M
2번 주파티션 생성
100mb를 실린더로 나누어 15까지 배정된 것을 알 수 있다.
40까지 지정 후 파티션 확인
확장파티션을 뜻하는 e 선택
모두 엔터를 눌러 나머지 저장장소 모두 확장파티션으로 지정
논리파티션 200까지 설정
4번까지는 주파티션과 확장파티션이 차지하고 5번부터는 논리파티션이 지정되는 것을 알 수 있다.
w로 저장 후 종료
mkfs (Make Filesystem)
파일시스템 생성
# mkfs [옵션] [타입] [장치명]
옵션
-t 파일 시스템 타입 지정
3개의 생성완료 메세지 확인
마운트
특정 디렉토리에 파일 시스템을 탑재 하는 것이다. 리눅스는 파일 단위로 장치를 관리하기 때문에 새롭게 만든 디스크를 사용하기 위해서는 생성한 파티션을 임의의 디렉토리와 연결시켜 사용해야 한다.
마운트 포인트
-파일 시스템과 디렉토리를 연결해 접근할 수 있는 디렉토리이다.
# mount [장치명] [마운트 포인트]
*마운트 확인 명령어 : df
마운트 포인트(Test1,2,3) 생성 후 각각의 파티션을 마운트 시킨다.
df명령어로 마운트 확인
blkid(Block ID)
현재 시스템이 인식된 디스크의 모든 UUID 출력
*UUID(Universally Unique IDentifier) - 특정 장치에 고유한 번호를 부여하여 관리하는 방법으로 리눅스의 모든 장치에는 UUID가 할당되어 있다.
# blkid [디스크명]
/etc/fstab
리눅스가 부팅시 해당 파일을 읽어들여 마운트할 디스크와 정보를 진행한다. 해당 파일에 이러한 정보가 없다면, 마운트를 하였어도 부팅시 기록되지 않는다.
모든 파티션 설정과 마운트가 끝나면 위와같이 등록하여 부팅시 읽어들일 수 있도록 설정해준다.
/etc/fstab의 6가지 필드
1. 파일 시스템 장치명 (File System Device Name )
파티션들의 위치를 뜻하며 장치명 혹은 Label, UUID를 사용한다.
UUID를 사용하지않고 디스크 제거시 디스크 순서가 바뀌며 명칭도 바뀌어 정보에 혼선이 올 수 있다.(ex. sdb제거 sdc->sdb)
2. 마운트 포인트 (Mount Point )
등록할 파티션이 어디에 위치한 디렉토리에 연결할 것인지 설정하는 필드이다.
3. 파일시스템 종류 (File System Type)
파티션 생성시 만들었던 파일시스템의 종류를 써주는 필드이다.
4. 마운트 옵션 (Mount Option)
마운트 옵션을 설정하는 필드이다.
default - rw, suid, dev, exec, auto, nouser, async를 적용함
rw |
읽기/쓰기전용의 파일 시스템으로 설정 |
suid |
SetUID, SetGID 사용을 허용 |
dev |
문자디바이스나 블록디바이스를 이용하여 해석 |
exec |
실행파일이 실행되는것을 허용 |
auto |
부팅시 자동마운트 |
nouser |
일반사용자 마운트불가능, root만 가능 |
async |
마운트도니 파일시스템에 비동기 입출력을 사용 |
noauto |
부팅시 자동마운트를 하지않음 |
noexec |
실행파일이 실행되는것을 붕혀용 |
nosuid |
SetUID, SetGID 사용을 불허용 |
ro |
읽기전용의 파일시스템으로 설정 |
user |
일반사용자 마운트 가능 |
quota |
Quota설정이 가능 |
noquota |
Quota설정이 불가능 |
5. 덤프 (Dump)
덤프(백업)가 되어야 하는지 설정하는 필드이다.
덤프 옵션은 0과 1만 존재한다.
0 덤프가 불가능하게 설정
1 덤프가 가능하게 설정
6. 무결성검사여부 (File Sequence Check Option)
fsck에 의한 무결성 검사 우선순위를 정하는 옵션이다.
0, 1, 2 총 3가지 옵션이 존재한다.
0 무결성 검사를 하지않는다.
1 우선순위 1위를 뜻하며, 대부분 루트부분에 설정을 해놓는다.
2 우선순위 2위를 뜻하며, 1위를 검사한 후 검사한다.
'Linux' 카테고리의 다른 글
RAID (개념, Linear RAID, RAID0, RAID1) (0) | 2017.06.14 |
---|---|
프로세스 (0) | 2017.06.12 |
디렉토리 및 파일의 권한과 허가권&소유권 2 (0) | 2017.06.09 |
디렉토리 및 파일의 권한과 허가권&소유권 1 (0) | 2017.06.07 |
사용자 계정 관리2(명령어) (0) | 2017.06.06 |
파일 시스템
파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보간 또는 조직하는 체제이다. 파일 저장 및 검색을 용이하도록 유지,관리하며 빠르게 읽고 사용 할 수 있도록 만들어 놓은 규칙이다.
리눅스 지원 파일 시스템 종류
-Ext3, Ext4, SWAP, XFS, nfs, iso9660
Disk의 종류
-IDE, SATA, SCSI, SAS
Boot sector(Boot Block)와 Block Group
-Ext4의 파일 시스템은 BootSector와 Block Group으로 구분가능하다.
Boot sector
-Boot Sector는 Block Group 0번 앞에 위치해 있으며, MBR과 LILO 또는 GRUB가 저장되어 있다.
*MBR = Master Boot Record
*LILO = Linux Loader
*GRUB = Grand Unified Bootloader
Block Group
Block들의 모임이며 Super Block 및 Group Descriptor Table의 복사 본을 가짐으로써 파일시스템의 중요 메타데이터 정보를 보호한다.
파티션 (Partition)
하나의 물리적인 디스크를 여러개의 논리적인 디스크로 나누는 것이다. 리눅스 파티션은 주(Primary) 파티션과 확장(Extended) 파티션 그리고 논리(Logical) 파티션으로 구분된다. 디스크 하나당 주 파티션은 최대 4개까지 생성 가능하고 4개 이상의 파티션을 생성할 경우 확장과 논리 파티션이 필요하며, 최대 12개까지 생성이 가능하다.
Disk 명칭
Windows |
Linux |
C:\ |
/dev/sda |
D:\ |
/dev/sdb |
. |
/dev/sdc |
. |
. |
. |
. |
Linux Partition 명칭
/dev/sda1
/dev/sda2
/dev/sda3
.
.
.
ex) /dev/sdc4 -> 세번째 disk의 네번째 파티션
fdisk
디스크 파티션 설정하거나 삭제할 때 사용하는 명령어
# fdisk [옵션] [장치명]
옵션
-l 디스크 파티션 정보 확인
df(Diskfree)
파일시스템 및 파티션별 자세한 용량 확인
# df [옵션] [파일명]
옵션
-a 모든 파일 시스템 출력
-i inode 사용정보 출력
-h 용량을 읽기 쉽게 출력
du(Disk Usage)
특정 디렉토리나 파일의 용량 확인
# du [옵션] [파일명]
옵션
-h 용량을 읽기 쉽게 출력
-s 요약하여 출력
Disk 추가 실습
VMware의 Server-A 우클릭 후 Settings 옵션 클릭
위와 같은 화면 에서 Add 클릭
Hard Disk 설정 후 Next
SCSI -> Create a new Virtual Disk -> 용량설정
-> 이름확인 -> Finish
Finish 누르면 위와 같이 새롭게 추가된 것을 확인할 수 있다.
Disk 추가 확인
#reboot로 재부팅하여 추가한 Disk를 인식시켜준다.
새로 추가한 디스크를 fdisk 명령어로 확인한다.
아직 파티션이 나누어 지지 않아 첫번째 디스크와 달리 밑에 출력할 정보가 없다.
Partition 생성
# fdisk 명령어로 파티션 생성
추가한 디스크는 두번째 디스크이기 때문에 sdb이다.
위와 같은 옵션들이 있다.
파티션 생성을 위해 n
새로운 파티션 생성을 위해 n, 주파티션 생성을 위해 p, 1번 주파티션을 위해 1, 시작할 실린더 설정(입력하지 않고 엔터시 처음부터 시작되어 저절로 1로 설정된다), 시작한 실린더부터 100mb까지 설정을 위해 +100M
2번 주파티션 생성
100mb를 실린더로 나누어 15까지 배정된 것을 알 수 있다.
40까지 지정 후 파티션 확인
확장파티션을 뜻하는 e 선택
모두 엔터를 눌러 나머지 저장장소 모두 확장파티션으로 지정
논리파티션 200까지 설정
4번까지는 주파티션과 확장파티션이 차지하고 5번부터는 논리파티션이 지정되는 것을 알 수 있다.
w로 저장 후 종료
mkfs (Make Filesystem)
파일시스템 생성
# mkfs [옵션] [타입] [장치명]
옵션
-t 파일 시스템 타입 지정
3개의 생성완료 메세지 확인
마운트
특정 디렉토리에 파일 시스템을 탑재 하는 것이다. 리눅스는 파일 단위로 장치를 관리하기 때문에 새롭게 만든 디스크를 사용하기 위해서는 생성한 파티션을 임의의 디렉토리와 연결시켜 사용해야 한다.
마운트 포인트
-파일 시스템과 디렉토리를 연결해 접근할 수 있는 디렉토리이다.
# mount [장치명] [마운트 포인트]
*마운트 확인 명령어 : df
마운트 포인트(Test1,2,3) 생성 후 각각의 파티션을 마운트 시킨다.
df명령어로 마운트 확인
blkid(Block ID)
현재 시스템이 인식된 디스크의 모든 UUID 출력
*UUID(Universally Unique IDentifier) - 특정 장치에 고유한 번호를 부여하여 관리하는 방법으로 리눅스의 모든 장치에는 UUID가 할당되어 있다.
# blkid [디스크명]
/etc/fstab
리눅스가 부팅시 해당 파일을 읽어들여 마운트할 디스크와 정보를 진행한다. 해당 파일에 이러한 정보가 없다면, 마운트를 하였어도 부팅시 기록되지 않는다.
모든 파티션 설정과 마운트가 끝나면 위와같이 등록하여 부팅시 읽어들일 수 있도록 설정해준다.
/etc/fstab의 6가지 필드
1. 파일 시스템 장치명 (File System Device Name )
파티션들의 위치를 뜻하며 장치명 혹은 Label, UUID를 사용한다.
UUID를 사용하지않고 디스크 제거시 디스크 순서가 바뀌며 명칭도 바뀌어 정보에 혼선이 올 수 있다.(ex. sdb제거 sdc->sdb)
2. 마운트 포인트 (Mount Point )
등록할 파티션이 어디에 위치한 디렉토리에 연결할 것인지 설정하는 필드이다.
3. 파일시스템 종류 (File System Type)
파티션 생성시 만들었던 파일시스템의 종류를 써주는 필드이다.
4. 마운트 옵션 (Mount Option)
마운트 옵션을 설정하는 필드이다.
default - rw, suid, dev, exec, auto, nouser, async를 적용함
rw |
읽기/쓰기전용의 파일 시스템으로 설정 |
suid |
SetUID, SetGID 사용을 허용 |
dev |
문자디바이스나 블록디바이스를 이용하여 해석 |
exec |
실행파일이 실행되는것을 허용 |
auto |
부팅시 자동마운트 |
nouser |
일반사용자 마운트불가능, root만 가능 |
async |
마운트도니 파일시스템에 비동기 입출력을 사용 |
noauto |
부팅시 자동마운트를 하지않음 |
noexec |
실행파일이 실행되는것을 붕혀용 |
nosuid |
SetUID, SetGID 사용을 불허용 |
ro |
읽기전용의 파일시스템으로 설정 |
user |
일반사용자 마운트 가능 |
quota |
Quota설정이 가능 |
noquota |
Quota설정이 불가능 |
5. 덤프 (Dump)
덤프(백업)가 되어야 하는지 설정하는 필드이다.
덤프 옵션은 0과 1만 존재한다.
0 덤프가 불가능하게 설정
1 덤프가 가능하게 설정
6. 무결성검사여부 (File Sequence Check Option)
fsck에 의한 무결성 검사 우선순위를 정하는 옵션이다.
0, 1, 2 총 3가지 옵션이 존재한다.
0 무결성 검사를 하지않는다.
1 우선순위 1위를 뜻하며, 대부분 루트부분에 설정을 해놓는다.
2 우선순위 2위를 뜻하며, 1위를 검사한 후 검사한다.
'Linux' 카테고리의 다른 글
RAID (개념, Linear RAID, RAID0, RAID1) (0) | 2017.06.14 |
---|---|
프로세스 (0) | 2017.06.12 |
디렉토리 및 파일의 권한과 허가권&소유권 2 (0) | 2017.06.09 |
디렉토리 및 파일의 권한과 허가권&소유권 1 (0) | 2017.06.07 |
사용자 계정 관리2(명령어) (0) | 2017.06.06 |