- 5. 디스크 관리 및 파일 시스템2023년 02월 15일 18시 39분 41초에 업로드 된 글입니다.작성자: 각수짱728x90반응형SMALL
디스크의 종류
IDE
- IDE : 과거에 사용하던 방식, 하나의 채널에 여러 개의 장치를 연결 가능, 병렬
SATA
- IDE방식에서는 늘어날 수 있는 기기의 한계가 존재하며, 속도도 느리기 때문에 이러한 문제를 해결한 방식, 직렬
SCSI
- 서버용으로 사용되는 방식, 데이터 안전성에 집중 및 부가기능 추가 별도의 컨트롤러 필요, 일반적으로 스카시로 읽음. 병렬
그 외 SAS : Serial Attached SCSI, scsi 타입의 직렬연결 버전, 마찬가지로 별도의 컨트롤러 필요, SATA와 SCSI의 장점으로 만듦.
디스크 구조 및 관리
물리적인 구조
- 스핀들 : 디스크는 하나의 스핀들을 기준으로 여러 개의 플래터로 구성되어 있고 스핀들은 여러 개의 플랫터를 회전시키는 역할을 한다.
- 플랫터 : 플래터는 마그네틱으로 코딩되어 있고 연속으로 구성되어 있다.
- 헤더 : 회전 중인 플래터에 데이터를 읽거나 쓰기 위해서는 액세스 암에 부착된 헤더를 이용하여 액세스 한다.
논리적인 구조
- 섹터 : 플래터의 가장 작은 단위, 일반적으로 1 섹터의 크기는 512바이트
- 트랙 : 섹터가 모여 하나의 원을 구성
- 실린더 : 트랙의 스택 구조
- tip :
선형 자료구조 : 스택, 큐, 배열, 리스트
비선형 자료구조 : 트리, 그래프 - 섹터 < 트랙 < 실린더 < 실리더 그룹 or 파티션 < 디스크
- 파티션 : MBR의 파티션 테이블(64바이트)에 정보가 저장된다.
- 주 파티션(16바이트, 4개까지 만들 수 있다.), 확장 파티션
- ex) 주, 주, 주, 주
주, 주, 주, 확(주, 주)
디스크 관리
디스크 확인
- fdisk -l
- 디스크 이름 디스크 용량
- /dev/sda
b
c
d - /dev/hda
- *tip : IDE타입 /dev/hdX SATA, SCSI /dev/sdX
- *tip : SCSI 디스크는 Hot Plugged In 기능을 지원하기 때문에 부팅이 된 상태에서도 디스크 추가가 가능하다.
디스크를 추가하고 인식을 시켜주기 위해서는 추가 명령어가 필요하다.
- /dev/sda
echo "- - -" > /sys/class/scsi_host/host[n]/scan 첫번째 - : 채널 두번째 - : SCSI 타겟 ID 세번째 - : LUN 번호 자동 인식(CentOS버전마다 사용가능여부 모름) rescan-scsi-bus.sh
디스크를 추가하는 과정
디스크 추가부터 사용하기까지
리눅스의 파일 시스템
파일시스템 종류
EXT2 EXT3 EXT4 출시 1993 2001 2006 최대 파일 크기 16GB ~ 2TB 16GB ~ 2TB 16GB ~ 2TB 최대 파일 시스템 크기 2TB ~ 32TB 2TB ~ 32TB 1EB 특징 저널링X 저널링O Extents Multi-block
Allocation*tip : 저널링 파일시스템(파일 시스템의 변경사항을 반영하기 전에 저널 안에 변경사항을 추적하는 내용을 남겨두는 파일 시스템)
파일시스템 구조
- Super Block : 파일시스템의 대부분의 정보를 저장하고 있는 블록
블록크기에 상관없이 항상 블록 그룹의 첫 번째 블록에 저장된다.
굉장히 중요한 정보를 저장하고 있기 때문에 백업을 해둔다.- 정보 : 파일 시스템 크기, 마운트 정보, inode의 수, 블록 크기, 데이터 블록의 수
- Group Descriptor Table : 슈퍼 블록 다음에 위치한다. 그룹 블록에 대한 정보를 저장
- 정보 : Block Bitmap의 블록 번호, Inode Bitmap의 블록 번호
첫 번째 Inode Table의 블록 번호 등
- 정보 : Block Bitmap의 블록 번호, Inode Bitmap의 블록 번호
- Block Bitmap : 각각의 블록의 사용현황을 0 or 1로 표시
- Inode Bitmap : 각각의 inode의 사용현황를 0 or 1로 표시
- Inode Table :
- EXT3
- 직접 inode : 데이터 블록의 주소 직접 가리키는 블록
- 간접 inode : 직접 inode를 가리키는 블록, 하나의 간접 inode가 여러 개의 직접 inode를 가리킬 수 있다.
- EXT4
- EXT2, EXT3와는 다르게 inode 블록이 한 개의 데이터 블록만 가리키는 것이 아니라 블록 할당 알고리즘을 이용하여 연관된 블록을 한꺼번에 여러 개 할당할 수 있도록 만들었다.
- EXT3
블록 할당 알고리즘:
Delayed Allocation(기존의 방식과는 다르게 쓰기 연산이 수행될 때 저장될 블록이 할당된 것과는 달리 쓰기 연산이 실행되고 페이지 캐시 내에 있던 데이터가 디스크 상에 기록되는 시점에 블록 할당을 미루게 됨)
- Data Block : 실제 데이터가 저장되는 블록
- XFS
- *tip : 윈도우(FAT32, NTFS), 솔라리스(UFS, ZFS)
파일시스템 관리
fsck
파일 시스엠을 체크하는 명령어
슈퍼 블록 일관성
슈퍼 블록 복구하기
파티션에 파일 시스템 생성
mkfs /dev/sdf1
마운트 해서 파일 시스템 확인
mount /dev/sdf1 /test10
마운트해제 후 강제로 슈퍼블록 장애 발생
umount /dev/sdf1
dd if=/dev/zero of=/dev/sdf1 bs=512 count=32
마운트해서 파일 시스템 확인
mount /dev/sdf1 /test10
슈퍼블록 복구
fsck -b [백업 블록 번호] [복구할 장치]
ex) fsck -b 8193 -fy /dev/sdf1
2) 실린더 그룹 블록 일관성
3) inode 일관성
4) lost+found 디렉토리
마운트 및 언마운트
마운트란?
mount [옵션] [장치] [마운트 포인트]
- [옵션]
-t : 특정 파일시스템의 종류를 지정 - [장치]
마운트 포인트와 연결할 장치를 지정, 일반적으로 파일 시스템을 생성한 파티션이 온다. - [마운트 포인트]
특정 디렉토리를 지정, 해당 디렉토리로 접근 시 지정한 장치로 이동
마운트 과정 및 해제 과정
- 각 파일 시스템을 디렉토리 계층 구조의 해당하는 디렉토리에 연결하는 과정
마운트 관련 명령어
- 마운트 및 마운트 해제
mount [파티션명] [마운트 포인트]
umount [파티션명] or [마운트 포인트] - 마운트 확인
mount
df -h
자동 마운트 설정 파일
/dev /mapper cs-root xfs defaults 0 0 장치명 마운트 포인트 FStype 옵션 덤프 fsck - 장치명 : 마운트 할 장치
- 마운트 포인트 : 마운트 포인트, 디렉토리
- FStype : ext3, ext4, xfs, swap
- 옵션 : defaults, noauto, ro, rw, usrquota
- 덤프 : dump 명령어가 해당 파일 시스템을 점검해서 덤프가 필요한지 아닌지 검사
- fsck : fsck 명령어가 해당 파일 시스템을 점검해서 복구 또는 검사가 필요한지 아닌지 검사
0이면 검사 x, 1이면 검사 o
728x90반응형LIST'리눅스 > 리눅스 고급' 카테고리의 다른 글
6. 디스크 관리와 RAID (실습) (0) 2023.02.15 6. 디스크 관리와 RAID (0) 2023.02.15 5. 디스크 관리 및 파일 시스템 (실습) (0) 2023.02.15 4. systemd (0) 2023.02.13 1. 사용자 관리 (0) 2023.02.13 이전글이 없습니다.댓글