리눅스 구동 중, 파티션을 설정해보도록 하자.
 

하드디스크 추가

리눅스 가동 전, VMware 에서 하드디스크를 추가해야 한다. Virtual Machine Setting - Hardware - Add 를 클릭하여, 1 GB 크기의 하드디스크 를 추가한다. 
 

Store virtual disk as a single file 선택

하드디스크가 추가되었으니, 이제 리눅스를 가동시켜보자.
 

fdisk -l 명령어를 통해, /dev/sdb 새 하드디스크가 장착되었음을 확인할 수 있다.
 

fdisk 명령어

하드디스크 파티션 설정을 하기 위한 명령어이다. -l 옵션으로, 하드디스크 인식 확인 및 파티션 설정 확인이 가능하다.
 

장착한 하드디스크에 대해 파티션을 설정하기 위해, fdisk [장치명] 형식의 명령어를 사용한다.
 

m 옵션을 통해, fdisk 명령어의 키워드 사용법을 살펴볼 수 있다.
 

1) 첫번째 파티션 생성 (Primary)

 

n 옵션을 통해, 파티션을 생성할 수 있다. 파티션 타입으로는 p (primary), e (extended) 가 있다.
 
- Primary 파티션 : 물리 파티션은 최대 4개 생성가능하므로, 최대 4개까지 생성할 수 있다. 단, Extended 파티션을 사용하는 경우에는 최대 3개까지 생성 가능하다.
- Extended 파티션 : 하나의 장치에 최대 1개만 생성 가능한 파티션으로, 논리 파티션 생성을 위해 사용한다.

파티션 넘버를 별도로 지정하지 않으면 순차적으로 번호가 부여되고, 파티션 크기는 Last sector 의 사이즈 조절로 설정할 수 있다.

100M 크기의 dev/sdv1 파티션이 83번 일반 파일 시스템 형식으로 생성된 것을 확인할 수 있다.

 t 옵션을 통해, 파티션 종류 및 번호를 확인하거나 생성된 파티션의 타입을 변경할 수 있다.

파일 시스템 번호를 확인한 후, 별도의 Hex code 를 지정하지 않으면 파티션의 타입이 unknown 으로 변경된다는 문구가 출력된다.

p 옵션을 통해, 현재 하드디스크의 파티션 정보를 확인해보면 /dev/sdb1 파티션의 ID 값이 0으로 변경된 것을 확인할 수 있다.

 파티션 ID 값이 0 으로 설정되어있는 경우, t 옵션을 사용하여 값을 재지정해줄 수 있다.

2) 두번째 파티션 생성 (Primary)

 

n 옵션을 통해, 두번째 파티션을 생성한다. 파티션 번호를 부여하지 않았으므로, 순서에 따라 자동으로 2번 파티션으로 지정되었음을 확인할 수 있다.

 

p 옵션을 통해, 100M 크기의 /dev/sdb2 파티션이 생성된 것을 확인할 수 있다.

 

3) 세번째 파티션 생성 (Primary)

 

n 옵션을 통해, 세번째 파티션을 생성한다. 파티션 번호를 부여하지 않았으므로, 순서에 따라 자동으로 3번 파티션으로 지정되었음을 확인할 수 있다.

 

p 옵션을 통해, 100M 크기의 /dev/sdb3 파티션이 생성된 것을 확인할 수 있다.

 

4) 네번째 파티션 생성 (Primary)

 

n 옵션을 통해, 네번째 파티션을 생성한다. 파티션 번호를 부여하지 않았으므로, 순서에 따라 자동으로 4번 파티션으로 지정되었음을 확인할 수 있다.

 

p 옵션을 통해, 100M 크기의 /dev/sdb4 파티션이 생성된 것을 확인할 수 있다.

 

*참고*

순차적으로 파티션을 생성한 경우, First Sector 값은 이전 파티션의 Last Sector 값 + 1 인 것을 기억하자.

 

5) 파티션 제거

 

물리 파티션은 최대 4개까지만 생성 가능하기 때문에 다섯번째 파티션 생성을 시도하게 되면, 첫번째 primary 파티션이 extended 파티션으로 대체된다는 경고 문구가 나타나게 된다. 따라서, d 옵션을 통해 첫번째 /dev/sdb1 파티션을 제외한 모든 파티션을 제거한다.

 

파티션 삭제가 정상적으로 수행되어, /dev/sdb1 파티션만 남게된 것을 확인할 수 있다.

 

6) 3번 파티션 생성 (Extended)

 

1번 파티션만이 존재하는 상황에서, 2번을 건너뛰고 500M 크기의 3번 extended 파티션을 생성한다.

 

p 옵션을 통해, 500M 크기의 /dev/sdb3 파티션이 5번 Extended 형식으로 생성된 것을 확인할 수 있다. /dev/sdb3 파티션은 3번 파티션임에도, 2번째로 생성된 파티션이기에 1번 파티션의 Last Sector 값 + 1 로 First Sector 값이 시작되는 것을 확인할 수 있다. 

 

7) 첫번째 논리 파티션 생성 

 

Extended 파티션은 장치별 최대 1개만 생성가능하므로, 파티션 타입에는 primary 와 logical 만을 선택할 수 있다. 

 

- Logical : 논리 파티션은 무조건 5번부터 생성되며, 최대 4개까지 생성 가능하다.

 

250M 크기의 logical 파티션을 생성한다.

 

p 옵션을 통해, 250M 크기의 /dev/sdb5 파티션이 583번 일반 파일 시스템 형식으로 생성된 것을 확인할 수 있다. 단, 주의할 점이 있다. 리 파티션의 Sector 범위는 Extended 파티션의 범위 안에서만 지정된다.

 

8) 두번째 논리 파티션 생성

 

앞선 논리 파티션의 크기와 동일하게 두번째 파티션을 생성하고자 한다. 하지만, Extended 파티션의 총 크기는 500M 로 사이즈가 초과되어 같은 크기로 파티션을 생성할 수 없는 것을 확인할 수 있다. 따라서, 크기를 지정하지 않고 남은 용량만큼을 두번째 파티션의 크기로 설정하였다.

 

p 옵션을 통해, 두번째 논리 파티션 /dev/sdb6 가 Extended 파티션의 남은 용량만큼의 크기를 가진 것을 확인할 수 있다.

 

9) 세번째 논리 파티션 생성

 

/dev/sdb5 와 /dev/sdb6 파티션이 Extended 파티션의 용량을 모두 사용하였기에, 세번째 논리 파티션의 생성은 불가능한 것을 확인할 수 있다.

 

10) 2번 파티션 생성

 

아직 /dev/sdb 장치의 용량은 남아있으므로, 두번째 primary 파티션을 생성해보도록 하자. (3번 파티션은 이미 생성되었기에 선택지에는 2번과 4번만이 남은 것을 확인할 수 있다.) /dev/sdb 장치의 남은 용량만큼의 크기를 가진 2번 파티션을 생성하였다.

 

2번 파티션이지만, 마지막으로 생성되었기에 First Sector 값이 제일 최근에 생성된 논리파티션 /dev/sdb6 의 Last Sector 값 + 1 인 것을 확인할 수 있다.

 

실습이 완료되면, 앞서 생성한 파티션들을 모두 삭제한다.

 

*요약*

- 물리파티션은 최대 4개 (Extended 포함)

- Extended 파티션의 최대 1개

- 논리파티션은 최대 4개, 5번부터 파티션 넘버 부여, Extend 파티션의 내부 범위만큼 할당

- Sector 값은 파티션 넘버별 순차적으로 부여하는 것이 아닌, 생성 순으로 순차적 부여
 

파티션 생성 실습 예제

- /dev/sdb : 200M primary, 200M primary, 500M extended, 250M logical, 250M logical, 200M primary

- /dev/sdc : 200M primary, 200M primary, 200M primary, 200M primary (순차 생성)

- /dev/sdd : 100M primary, 200M primary, 300M primary, 500M extended, 250M logical, 250M logical (순차 생성)

 

다음과 같은 결과 값이 나올 수 있도록 실습을 진행보도록 하자.

1) 하드디스크 인식

 

echo "- - -" > /sys/device/pci0000:00/0000:00:10.0/host2/scsi_host/host2/scan

 

제일 먼저, 추가한 하드디스크를 리눅스 시스템 상에 인식시켜주어야 한다.

 

fidsk -l 명령어를 통해 살펴보면, /dev/sdc 와 /dev/sdd 하드디스크 2개가 장착된 것을 확인할 수 있다.

 

2) /dev/sdb 장치 파티션 설정

 

200M 1번 primary 파티션 생성
200M 2번 primary 파티션 생성
500M 3번 extended 파티션 생성
250M 5번 logical 파티션 생성
남은 용량만큼 6번 logical 파티션 생성
logical 파티션은 extended 파티션 내부 범위에서 생성되는 것 확인
남은 용량만큼 4번 primary 파티션 생성
파티션 테이블 항목 순서가, 디스크 순서와 동일하지 않음을 확인
설정 완료 후 저장 및 파티션 설정 모드 종료

2) /dev/sbc 장치 파티션 설정

200M 1번 primary 파티션 생성
200M 2번 primary 파티션 생성
200M 3번 primary 파티션 생성
200M 4번 primary 파티션 생성
파티션 테이블 항목 순서가, 디스크 순서와 동일함을 확인
설정 완료 후 저장 및 파티션 설정 모드 종료

3) /dev/sdd 장치 파티션 설정

 

100M 1번 primary 파티션 생성
200M 2번 primary 파티션 생성
300M 3번 primary 파티션 생성
남은 용량만큼 4번 extended 파티션 생성
모든 primary 파티션이 생성되었으므로 자동으로 logical 파티션 생성 진행 250M 5번 logical 파티션 생성
모든 primary 파티션이 생성되었으므로 자동으로 logical 파티션 생성 진행 남은 용량만큼 6번 logical 파티션 생성
파티션 테이블 항목 순서가, 디스크 순서와 동일함을 확인
설정 완료 후 저장 및 파티션 설정 모드 종료

4) 결과 확인

/dev/sdb 장치 파티션 설정 확인
/dev/sdc 장치 파티션 설정 확인
/dev/sdd 장치 파티션 설정 확인

 

 

 

공부하면서 정리한 내용을 글로 작성하였습니다.

혹시나 잘못된 내용이 있다면 댓글로 알려주시면 감사하겠습니다. :)

COMMENT