[ 파티션 / Partition ]
파티션 : 하나의 물리적 디스크를 여러 개의 논리적인 디스크로 분할
+ 다중 파티션의 장점
- 파티션마다 독립적인 파일 시스템이 운영되어 파일점검 시간이 줄어든다 >> 부팅시간 단축
- 특정 파티션의 파일 시스템이 손상되더라도 다른 파티션에 영향을 주지 않기 때문에 높은 안정성을 보장
- 필요한 파티션만 포맷할 수 있어 백업과 업그레이드가 편리하다.
- 파티션 상태 정보를 확인할 수 있는 파일은 /proc/partitions
+ 파티션의 종류
주 파티션 (primary) | - 부팅이 가능한 기본 파티션 - 하나의 하드디스크에 최대 4개의 주 파티션 분할 가능 - 하드디스크를 4개 이상의 파티션으로 사용해야할 때 하나의 확장 파티션을 설정하여 확장 파티션 안에 여러 개의 논리 파티션을 분할하여 데이터를 저장 - 파티션 번호는 1-4중에 할당 |
확장 파티션 (extended) | - 주 파티션 안에 생성 - 하나의 물리적 디스크에 1개만 생성할 수 있다. - 파티션 번호는 1-4중에 할당 - 데이터 저장 영역을 위한 것이 아니라 논리 파티션 생성을 위해 존재한다. |
논리 파티션 (Logical) | - 확장 파티션 안에 생성되는 파티션 - 논리 파티션은 12개 이상 생성하지 않는 것을 권고 - 5번 이후의 파티션 번호가 할당됨 |
스왑 파티션 (Swap) | - 하드디스크의 일부를 메모리처럼 사용하는 영역 - 주 파티션이나 논리 파티션에 생성 - 프로그램 실행 시 부족한 메모리 용량을 하드디스크로 대신할 수 있다. - 리눅스 설치 시에 반드시 설치되어야 하는 영역 - Swap 영역의 크기는 메모리의 2배를 설정하도록 권고 |
# 하드디스크와 메모리의 차이점
+ 메모리 : CPU가 뭔가를 처리할 때 작업을 하는 공간 (임시 기억장치) (RAM)
+ 하드디스크 : 저장장치
예를 들어 파일을 작성하고 있을 때는 메모리 상에 적히고 있고, 저장버튼을 누르면 그 파일은 하드디스크에 저장이 되어 나중에 다시 꺼내어 볼 수 있다. 저장하지 않은 채로 작성 중에 컴퓨터 전원이 꺼지면 파일이 날라가지만 저장을 눌러 하드디스크에 저장된 후에는 전원을 껐다 킨 후에도 꺼내어 볼 수 있당.
+ [디스크의 장치 파일명 + 숫자]로 분할된 파티션을 나타낸다.
- 리눅스에서 파티션을 만들고 마운트할 때 지정된 디바이스명을 사용한다.
>> 디스크 장치 파일명
SCSI 디스크 | 첫 번째 SCSI 디스크 | /dev/sda |
첫 번째 SCSI 디스크 | /dev/sdb |
>> 숫자
- 1~4번은 주 파티션이나 확장파티션에 할당
- 5번부터 논리 파티션에 할당
# 마운트 (mount)
마운트 : 특정 디바이스를 특정 디렉터리처럼 사용하기 위해 장치와 디렉터리를 연결
마운트 형식 : mount [옵션][디바이스명][디렉터리명]
# SCSI 디스크 (Small Computer System Interface)
소형컴퓨터 시스템 용으로 설계된 저장 장치 인터페이스 모드
컴퓨터에서 여러 장치를 동적으로 나눌 수 있으며 시스템에서 필요한 여러 작업을 동시에 적절하게 할당할 수 있다.
SCSI : 특정 유형의 하드 드라이브, 광학 드라이브, 스캐너 및 주변장치를 컴퓨터에 연결하는 데 사용되는 케이블 및 포트를 의미
# iSCSI (Internet Small Computer System Interface) : IP 기반의 스토리지 네트워크
[ 파일 시스템 ]
파일 시스템 : 운영체제가 파일을 시스템의 디스크 파티션상에 구성하는 방식
- 컴퓨터가 파일이나 자료를 쉽게 발견, 접근할 수 있도록 보관, 조직하기위해 일정한 규칙을 가지고 파일을 저장하도록 규칙 방식을 제시
- 하드디스크나 CD-rom같은 물리적 저장소 관리
- 파일 서버상의 자료로의 접근을 제공하는 방식과 가상의 형태로서 접근 수단만이 존재하는 방식도 차일 시스템의 범위에 포함한다.
- 파티션에 파일 시스템이 없으면, 파일 시스템 생성을 거쳐야 사용이 가능하다.
- 리눅스는 고유의 파일 시스템뿐만 아니라 다양한 파일 시스템을 지원한다.
파일 시스템 유형 | 종류 |
리눅스 파일 시스템 | ext, ext2, ext3, ext4 |
저널링 파일 시스템 | JFS, XFS |
네트워크 파일 시스템 | SMB, CIFS, NFS |
클러스터링 파일 시스템 | 레드햇 GFS, cXFS, SGI, IBM, SanFS, ... |
시스템 파일 시스템 | ISO9660, UDF, .. |
타 운영체제 지원 파일 시스템 | FAT, VFAT, FAT32, .... |
+ 리눅스 파일 시스템 구조
Super Block | - 해당 파일 시스템 관련 정보를 저장한다. > 블록의 크기 > 총 블록의 개수와 블록 그룹의 개수 > inode의 개수 |
Group Descriptors | - 각 Block Group을 관리하는 정보 저장 > Block bitmap과 inode bitmap의 블록 번호 > 첫 번째 inode Table Block의 블록 번호 > 그룹 안에 있는 빈 블록의 개수, 그룹 안에 있는 inode 개수, 그룹 안에 있는 빈 디렉터리 개수 |
Block Bitmap | - 그룹 내에 있는 각 블록의 사용 상태를 표현한다. |
inode | - 파일에 대한 제어 정보 및 데이터 블록 포인터를 저장한다. - 파일 이름을 제외한 해당 파일의 모든 정보를 저장한다. > 파일 이름에 부여되는 고유번호, 파일 형태, 크기, 위치, 파일의 소유자등등 - 모든 파일들과 디렉터리들은 각각 1개의 inode를 할당받는다. |
inode bitmap : 이 블록에 속한 각 비트는 그룹 내에 있는 각 inode의 사용 상태를 나타낸다. | |
inode table : 각각의 inode에 대한 정보를 나타내는 inode descriptor로 구성된다. | |
Data Blocks | - 파일의 실제 내용을 보관한다. |
ext (ext1) | - 리눅스 초기에 사용되던 파일 시스템이며 호환성이 없다. - 2GByte의 데이터와 파일명을 255자까지 지정할 수 있다. - 파일 접근에 대한 타임 스탬프, 아이노드 수정이 불가능하다. |
ext2 | - ext 파일 시스템의 다음 버전 - 고용량 디스크 사용을 염두에 두고 설계된 파일 시스템 - 호환과 업그레이드가 쉽도록 설계되었다. |
ext3 | - ext2의 확장판 - 리눅스의 대표적인 저널링을 지원하도록 확장된 파일 시스템 - ACL(Access Control List)을 통한 접근 제어 지원 |
ext4 | - ext2, ext3와 호환 가능한 확장 버전 - 파일에 디스크 할당 시 물리적으로 연속적인 블록을 할당한다. > 파일 접근 속도 향상, 단편화를 줄이도록 설계된 파일 시스템 - 64비트 기억 공간 제한을 없앴다. - 16 TeraByte의 파일을 지원한다. > 파일 확장자는 필요 없으며 파일 특성을 나타내기 위해 확장자를 사용할 수 있다. > . 으로 시작하는 파일은 숨겨진 파일로 인식 > . 은 현재 디렉터리, .. 는 부모 디렉터리 |
[ LVM (Logical Volume Manager) ]
- 여러개의 하드디스크를 합쳐서 사용하는 기술로 한 개의 파일 시스템을 사용
- 작은 용량의 하드디스크 여러개를 큰 용량의 하드디스크 한개처럼 사용
- 서버를 운영하면서 대용량의 별도 저장공간이 필요할 때 활용
- 다수의 디스크를 묶어서 사용함으로써 파티션의 크기를 줄이거나 늘릴 수 있음
여기 그림 그려 넣기 PV VG LV
Physical Volume (물리 볼륨) | 여러개의 물리적 하드 디스크 ex) /dev/sda1 ... |
Volume Group (볼륨 그룹) | 물리 볼륨을 합쳐서 하나의 물리적 그룹으로 만든 것 |
Logical Volume (논리 볼륨) | 볼륨 그룹을 나눠서 다수의 논리의 그룹으로 나눈 것 |
[ RAID (복수 배열 독립 디스크 , Redundant Array Of Independent Disks) ]
- 여러 개의 물리적 디스크를 하나의 논리적 디스크로 인식하여 작동하게 하는 기술
- 여러 개의 하드디스크에 일부 중복된 데이터를 나눠서 저장하는 기술
- 데이터를 저장하는 방법이 다양하게 존재하고 레벨이라고 부른다.
- 레벨에 따라 저장장치의 신뢰성을 높이거나 전체적인 성능을 향상시키는 등 다양한 목적을 만족시킨다.
>> RAID의 종류
하드웨어 RAID | - 하드웨어 제조 시에 여러 개의 하드디스크를 장비로 만들어 그 자체를 공급 - 안정된 시스템일 수록 고가 |
소프트웨어 RAID | - 고가의 하드웨어 RAID의 대안 - 운영체제에서 지원하는 방식 - 저렴한 비용으로 안전한 데이터 저장이 가능 |
>> 레벨(데이터 저장 방법)의 종류
+ RAID 0
- 스트라이핑 저장 방식 : 연속된 데이터를 여러 디스크에 나눠 저장
- 최소 2개의 하드디스크가 필요하다.
- 입출력 작업이 모든 디스크에 동시에 진행된다.
> 저장과 읽기 속도가 가장 빠르다.
> 하나의 디스크라도 고장나면 전체 시스템의 사용이 불가하다.
- 고장 대비 능력이 없어 주요 데이터 저장은 부적합하다.
+ RAID 1
- 미러링 방식 : 하나의 디스크에 데이터를 저장하면 다른 디스크에 동일한 내용이 백업되어 저장
- 데이터 저장 시 두배의 용량이 필요하다.
- 결합허용을 제공하지만 공간 효울성은 떨어진다.
- 주요한 데이터를 저장하기에 적절하다.
+ RAID 2
- 스트라이핑 저장 방식
- 기록용 디스크와 데이터 복구용 디스크를 별도로 제공한다.
> 오류 제어 기능이 없는 디스크를 위해 해밍코드 사용
- 디스트의 사용 효율성이 낮음
- 모든 SCSI 디스크에 ECC(에러 검출 기능)를 탑재하고 있기 때문에 실제로는 사용되지 않는다.
# 해밍코드
2020.10.21 - [about COMPUTER/네트워크] - #11. 디데통(3) / CRC + 오류 수정 프로세스 + 해밍코드
근데 왜 해밍코드 내용을 안적어놨지......수정필요
+ RAID 3
- 스트라이핑 저장 방식
- 오류 검출을 위해 패리티 방식을 이용한다.
- 패리티 정보를 저장하기 위해 전용 디스크를 사용하기 때문에 최소 3개 이상의 하드디스크가 필요하다.
- 데이터 복구는 패리티 저장 디스크에 기록된 정보의 XOR을 계산하여 수행한다.
- 대형 레코드가 사용되는 단일 사용자 시스템에 적합하다.
# 패리티 방식
+ RAID 4
- RAID 3와 유사한 방식으로 2개 이상의 데이터 디스크와 전용 패리티 디스크를 사용한다.
- RAID 3은 Byte단위로 데이터를 저장하는 반면 RAID 4는 Block(섹터) 단위로 저장한다.
+ RAID 5
- 스트라이핑 저장 방식
- 디스크마다 패리티 정보를 갖고 있어 패리티 디스크의 병목현상을 줄이는 것이 가능해 실무에서 많이 사용한다.
- 디스크 섹터 단위로 저장한다.
- 쓰기 작업이 많지 않은 다중 시용자 시스템에 적합하다.
# 병목 현상
가용자원에 부하가 많이 걸려 전체 시스템 효울의 저하를 초래하는 현상
+ RAID 6
- RAID 5를 확장
- 제 2패리티를 두는 듀얼패리티를 사용하여 더 나은 무정지성을 갖게 한다.
- 최소 4개의 드라이브가 필요하다.
# 듀얼 패리티
# 무정지성
+ RAID 0+1
- RAID 0의 스트라이핑 방식과 RAID 1의 미러링 방식을 조합
- 디스크를 2개씩 RAID1으로 구성하고 이 쌍끼리 RAID 0으로 구성한다.
> 스트라이핑 후에 미러링을 진행한다.
- 속도가 빠르다.
- 데이터 복구 시간이 오래 걸린다.
+ RAID 1+0
- RAID 0의 스트라이핑 방식과 RAID 1의 미러링 방식을 조합
- 디스크를 2개씩 RAID 0으로 구성하고 이 쌍끼리 RAID 1으로 구성한다.
> 미러링 후에 스트라이핑을 진행한다.
- 손실된 데이터만 빠르게 복원할 수 있어 RAID 0+1보다 운영하기에 유리하다.
'42seoul > circle-1' 카테고리의 다른 글
[born2beroot] 7. 부트로더 (0) | 2022.02.13 |
---|---|
[born2beroot] 6. 진행과정 (0) | 2022.02.12 |
[ born2beroot ] 4. 방화벽에 대하여 (0) | 2022.02.04 |
[ born2beroot ] 3. SSH에 대하여 (0) | 2022.02.04 |
[ born2beroot ] 2. 운영체제 (Debian, CentOS) (0) | 2022.02.04 |
댓글