본문 바로가기

IT공부/기타

하드디스크(Hard Disk Drive, HDD)와 Partition

1. 하드디스크(Hard Disk Drive, HDD)

 : 데이터들을 저장 할 수 있는 공간을 가진 물리적 H/W장치

 

 

2. 파티션(Partition)

 : 자료를 저장할 수 있는 장치를 논리적으로 나눠서 나타낸 것,
   HDD를 원할하게 논리적으로 분할(=나눈다, 쪼갠다)

 

 

3. File System

 : 데이터, 자료들을 저장하려면 저장할 공간이 필요하고, 그 공간을 만들기 위한 파티션을 진행하여 관리(=유지)
   [윈도우] NTFS, FAT, FAT32

   [리눅스] ext4

 

** 윈도우에서의 파티션을 조절할 수 있는 곳 → 디스크 관리

 

 

4. 파티션 종류

1) Primary Partition(주파티션)

 : 최대 4개까지 사용 가능하나

   최대 개수인 4개를 모두 사용할 때, 파티션 나눠서 사용 불가능

 

2) Extended Partition(확장 파티션)

 : 최대 1개만 사용되며 논리 파티션을 사용하기 위해 사용되기 때문에 파티션이라고 하기에는 어려움이 있다.

   (즉, 확장파티션은 논리 파티션을 이용하기 위한 도구 일 뿐이다)

 

3) Logical Patition(논리 파티션)

 : 시스템, 하드디스크의 용량에 따라 나눌 수 있는 수가 다르다.

 

 

 

5. 하드디스크 타입(물리)

1) IDE(병렬) Type

   [형식] /dev/hd*

           hd + 문자 → hda, hdb, hdc(CD-ROM 장치→HDD 장치 아님), hdd, hde, ...

2) SCSI(직렬) Type

   [형식] /dev/sd*

           sd + 문자 → sda, sdb, sdc, sdd, sde, ...

   [CD-ROM 장치] 현재는 /dev/sr0 사용하나 과거에는 /dev/cdrom 사용

 

 

6. 파티션 타입(논리)

1) IDE Type

   [형식] /dev/hd*

           hd + 문자 + 숫자 → hdb2, hda5, hdd7, hde1, ...

 

2) SCSI Type

   [형식] /dev/sd*

           sd + 문자 + 숫자 → sde5, sdd3, sda2, sdb1, ...

 

 

7. 하드디스크 파티션 이름의 번호 기준

 : 주 파티션은 4개 이상은 절대적으로 불가능하며 논리파티션은 무조건 5번부터 시작한다는 점 명심하자!

 

 

8. 마운트

 : 장치 드라이버를 포맷까지 한 후, 사용자가 사용 할 수 있게 연동을 해주는 역할

   마운트를 하게 되면 HDD_파티션_이름으로 접근하는게 아니라 M.P로 접근하는 것이다.
   즉, M.P로 지정하게 되면 이젠 일반 디렉터리가 아니라 마운트 포인터로 사용된 파티션의 디렉터리가 되는 것이다!

 

** 형식

   ① 마운트 : mount [HDD_파티션_이름] [M.P(=mount point, 임의의 디렉터리)]
   ② 유마운트 : umount [HDD_파티션_이름] 또는 [M.P(=mount point, 임의의 디렉터리)]

 

** 마운트 유의 사항

   ① M.P는 반드시 임의의(사용하지 않는) 디렉터리로 되있어야 한다.

   ② 사용자와 관련된 디렉터리를 M.P로 지정해서는 절대 안된다.

   ③ mount와 umount 명령어 실행시 현재 경로가 마운트 포인트만 아니면 어떤 곳이든 상관없다.

   ④ 디바이스 장치와 M.P를 연동할 때, 반드시 1:1로 해야한다(=한 개의 파티션은 반드시 한 개의 M.P만 사용한다).

   ⑤ 마운트 작업 대상은 반드시 파티션(primary, logical)만 대상, HDD와 extended는 작업 대상 불가능하다.

 

 

9. 실습 순서 정리
   ① HDD 추가 → 전원 off
   ② HDD 이름 찾기 → fdisk -l
   ③ HDD 구성 → fdisk [HDD_이름]
   ④ 파티션 구성(=포멧) → mkfs.ext4 [파티션_이름] 혹은 mkfs -t ext4 [파티션_이름]
   ⑤ 마운트 → mount [파티션_이름] [M.P]

 

 

10. 실습

1) 하드디스크 1G 추가

 : 반드시 VMWare 전원 off 필수!

> Edit virtual machine settings 클릭

> Add 클릭
> Hard Disk 선택 후 Next 클릭 > IDE 선택 후 Next 클릭(현재 IDE는 단종, 경험을 위해 이번 실습은 IDE로 진행)
> Create a new virtual disk 선택 후 Next 클릭 > Store virtual disk as a single file 선택 후 Next 클릭
> Finish 클릭
> New Hard Disk 추가된 거 확인 후 OK 클릭
> 제대로 추가되었다면 Devices에 Hard Disk(IDE) 1GB 추가된 것을 확인할 수 있다...!

 

2) 하드디크스 인식 또는 이름 확인( 명령어 : fdisk -l [디바이스 장치명] )

 : 전원을 킨다

> 명령어 fdisk -l를 이용하여 모든 하드디크스 검색

   (CnetOS 7.0부터는 IDE로 선택하더라도 sd로 네이밍됨)

 

3) 하드디스크 파티션 구성( 명령어 : fdisk [디바이스 장치명] )

 : 명령어 fdisk /dev/sdb, 하드디스크 파티션 구성하고자 하는 디바이스 장치명을 기입하여 명령어 실행

> 옵션 확인은 m

   └ 꼭 알아야하는 옵션
       d : delete a partition
       n : add a new partition
       p : print the partition table
       q : quit without saving changes
       w : wirte table to disk and exit

> 파티션 구성 완...!

 

4) 파일 시스템 생성(Make File System, 포맷 / 명령어 : mkfs -t ext4 [HDD파티션이름]mkfs.ext4 [HDD파티션이름] )

   └ [예] 외장 하드디스크를 만든 것과 같음!

 

** 윈도우에서는 포맷까지 하면 사용 가능하나 리눅스에서는 마운트까지 해야 사용 가능하다!


5) 마운트( 마운트가 됬는지 확인하는 명령어 : df -h )

   └ [예] 외장 하드디스크의 케이블 선을 연결한 것과 같음,

             케이블 선이 연결되어야 비로소 그 외장하드를 사용할 수 있듯이 비슷한 개념으로 생각하면 이해하기 쉬움

 

** 아까 디렉터리 만들면서 만들었던 testfile 문서 파일 사라짐 → 이것이 다른 장치로 변경되었다는 증거!!

 

** mount와 umount 명령어 실행시 현재 경로가 마운트 포인트만 아니면 어떤 곳이든 상관없다.

 

** 문법적으로 하나의 파티션에 여러 개의 M.P가 가능하나

    한 개의 파티션은 반드시 한 개의 M.P만 사용해야 작업하는데 원활하게 가능하다!

    연동과 해제가 예측불가, 엉망진창이 됨!!

 

6) Extended Partition(확장 파티션), Logical Patition(논리 파티션) 파티션 구성

 

7) 파일 시스템 생성, 마운트

   ★★ 포멧은  Primary Partition(주파티션)과 Logical Patition(논리 파티션)만 가능하다는 점 명심하자!
          Extended Partition(확장 파티션) 포멧 불가 ★★

 

 

11.  지금까지 실습한 상황을 그림으로 정리

 

 

12. 남아있는 HDD 설정하기

   ★★ 마운트 잡은 후 HDD 구성을 하면 안된다는 점 명심하자!! ★★

 

** 왜, 재부팅이 필요할까? → "재부팅이 되면 마운트가 빠지기 때문이다."

   마운트가 빠져야 파티션 구성이 된다.

   마운트를 설정한다는 것은 장치를 사용하는 중이란 뜻이고 사용 중인 하드디스크의 구성을 하는 것이다.
   당연히 시스템적으로 문제가 발생하게 되고 해결책으로 재부팅을 하라고 경고를 하는 것이다.

 

** 그럼 마운트 빼면 되지 않냐는 의문이 생길 수 있는데 이미 사용중이고 상태를 시스템 기억을 하기 때문에 안된다!

 

** 만약, 재부팅 하지 않고 하고 싶다면 유마운트 후 설정했던 sdb3 제거 후 HDD 재설정해야 한다!!