하드디스크 추가
✒️ 2025-05-22 14:44 내용 수정
하드디스크 추가 및 설정
- 가상 머신에서 리눅스에 새로운 하드 디스크 장착하여 사용하는 순서
- 가상 머신에서 하드 디스크 장착 하드디스크 추가#1. 하드디스크 추가
- 리눅스에서 하드디스크 추가
- 파티션 생성 하드디스크 추가#2. 파티션 생성
- 파일시스템 생성(포맷) 하드디스크 추가#3. 파일 시스템 생성하기
- 하드디스크를 Read/Write할 수 있도록 만드는 작업
- 마운트하여 사용하기 하드디스크 추가#4. 마운트하여 사용하기
- 파일 시스템
- FAT -> NTFS 로의 변환은 데이터 손실없이 가능
- 윈도우 cmd에서
convert 드라이브이름: /fs:ntfs: 데이터 유실없이 변환 가능 - NTFS -> FAT 로의 변환은 불가능하므로 포멧밖에 안됨
| OS | 종류 | 설명 |
|---|---|---|
| 윈도우 | FAT | 보안X, 2GB, 단일 파일 3.99GB까지 인식 가능, 보안 지원 X |
| FAT32 | ||
| NTFS | window XP, ~ 1TB까지, 파일 및 폴더 단위의 보안 지원 | |
| ReFS | windows 11, 8TB 이상, SATA 업글 버전 | |
| 리눅스 | EXT | |
| EXT2 | ||
| EXT3 | ||
| EXT4 | ||
| XFS |
1. 하드디스크 추가
-
운영 체제별 최소 권장 가상 하드디스크 용량(메인 하드디스크)
- 리눅스 가상 하드 : 60 GB
- 윈도우 가상 하드 : 80 GB
-
하드디스크 종류
| 종류 | 형식 | 설명 |
|---|---|---|
| IDE | 병렬 하드디스크 | 4개 설치 가능 |
| SATA | 직렬 하드디스크 | 6개 설치 가능 |
| SCSI | 직렬 하드디스크 | server용, 15개 설치 가능 |
| NVMe | 직렬 하드디스크 | SATA 업글 버전 |
- 그 외 USB, SSD.. 에서 S가 포함되는 것은 모두 직렬 하드디스크(직렬은 속도가 빠르다)
| 기호 | 설명 |
|---|---|
| s | Serial -> 직렬 하드디스크 |
| h | Parallel -> 병렬 하드디스크 |
| d | Disk drive -> 하드디스크 |
| a | 물리적인 장치 번호, (a=1, b=2, c=3, d=4...) |
| 숫자 | 해당 디스크에서 생성된 파티션 번호 |
- ex) sda2 : 직렬(s) 하드디스크(d) 1번째(a)의 2번째 파티션(2)
-
가상 머신에서 CentOS의 전원을 끈다.
-
VMWare에서 [Edit]을 선택해서 [Add]를 선택한다.

-
하드 디스크를 선택한다.

-
디스크 타입을 SCSI로 선택한다.

-
나머지 설정은 기본값으로 선택한 후, 용량은 원하는 만큼 넣어준다.(여기선 1 GB로 설정)

-
그 이후 설정도 기본값으로 설정한 후 finish를 눌러 마친 다음 다시 CentOS를 켜면 우측 하단에 디스크가 추가된 것을 확인할 수 있다.

2. 파티션 생성
- 파티션 종류
| 이름 | 설명 |
|---|---|
| 주 파티션 | - 단독으로 부팅이 가능하다. - 주로 운영체제를 설치한다. - 최대 4개까지 생성할 수 있다. |
| 확장 파티션 | - 주 파티션으로 분류된다. - 주 파티션에서 사용하고 남은 공간을 논리드라이브로 지정하기 위하여 용량을 선언하는 용도로 사용한다. - 주의 : 남은 용량을 1번 선언하면 나머지는 불가 |
| 논리 드라이브 | - 부팅이 불가능하다. - 데이터를 보관하는 용도로 사용한다. - 논리 드라이브를 사용하려면 확장 파티션으로 용량을 지정해주어야 한다. |
- 파티션 생성 순서
- 주 파티션을 먼저 만들어 준다. 최대 4개까지 가능하다.
- 확장 파티션을 만드려면 주 파티션 3개, 확장 파티션 1개로 만들어야 한다.
- 확장 파티션은
n->e에서 주 파티션 외의 남은 파티션을 모두 지정해서 만든다. - 논리 드라이브는 확장 파티션을 만든 이후에
n으로 자동 생성되고, 용량은 확장 파티션으로 잡았던 공간 내에서 적정 배분 해준다.
- ex) 1 TB가 있는 경우
- 윈도우 : c에 window 11 500 GB, d에 데이터 저장용 500 GB
- 리눅스 : 주 파티션에 500 GB, 확장 파티션 500 GB 공간 선언, 논리 드라이브 500 GB 사용 가능
- 리눅스 : 주 파티션에 500 GB, 확장 파티션 500 GB 공간 선언, 논리 드라이브 250 GB 사용 가능
- 리눅스 : 주 파티션에 500 GB, 확장 파티션 500 GB 중 250 GB 공간 선언(남은 250 GB는 사용 X), 논리 드라이브 250 GB 사용 가능
- 파티션 기타 사항
- 리눅스는 실린더 단위로 계산
- 파티션 ID에서 83은 Linux, 82는 swap
- 하드의 첫 2048 MB에는 MBR이 사용한다.(운영체제의 위치를 기억해주는 역할), GRUB가 위치해있다.
- 하드의 마지막 1 MB에는 데이터 복구용 공간을 차지한다.
-
리눅스에선 장치들을 /dev (device)에서 확인할 수 있다.

-
Fdisk : 리눅스는 하드디스크를 알지 못하므로, 하드디스크의 용량을 리눅스에게 알려주는 작업
-
파티션 생성 : 사용할 수 있는 용량을 선언하는 작업
-
fdisk 옵션 정보 : 별의 공부 블로그 리눅스 명령어 fdisk
-
df 명령어 설명 : 데엔잘하고싶은데엔 Linux 명령어 df: 전체 디스크, du: 각각 디스크 용량확인
-
# lsblk로 현재 디스크 목록과 파티션 여부를 확인한다.

-
# fdisk -l를 입력하면 모든 장치들에 대한 이름과 용량을 확인할 수 있다.

-
# fdisk /dev/sdb로 sdb 장치 파티션 명령을 실행한 다음 파티션 종류와 파티션 크기를 잡아준다.
n으로 파티션 생성 -> 파티션 타입은 먼저 주 파티션p-> 파티션 번호는1-> 첫 섹터는 기본값 -> 마지막 섹터는 기본값은 남은 공간 전체, 값을 지정할 때는+사이즈와단위를 입력


-
4번 과정을 반복해서 주 파티션을 원하는 개수(최대 4개) 잡아준다.

-
논리 드라이브를 잡을 때는 먼저 주 파티션 최대 3개, 확장 파티션 1개(주 파티션으로 분리되므로 확장 파티션을 잡아주려면 주 파티션은 최대 3개까지만 가능하다)를 잡아준다.
-
확장 파티션을 주 파티션 배정 이후 남은 모든 공간으로 잡아준다.
n->e-> 첫 섹터는 기본 -> 마지막 섹터는 남은 전체 영역- 만약 파티션 생성을 잘못 만들었다면
d-> 파티션 번호 선택으로 파티션을 제거하면 된다.
-
확장 파티션을 추가한 뒤에
n->p로 논리 드라이브를 원하는 개수만큼 만든다.- 논리 드라이브는 확장 파티션을 만든 이후 자동으로 파티션 타입
p로 생성하도록 되어있다. - 아래 사진은 주 파티션 3개, 확장 파티션 1개, 논리 드라이브 3개를 만든 모습

- 논리 드라이브는 확장 파티션을 만든 이후 자동으로 파티션 타입
-
# fdisk를w로 저장 후 종료한 다음# lsblk로 변경된 내용이 적용되었는지 확인한다.- 아래 사진은 새로 추가했던 하드디스크 5개의 파티션을 1 개씩 모두 배정한 모습

- 아래 사진은 새로 추가했던 하드디스크 5개의 파티션을 1 개씩 모두 배정한 모습
- 전원이 켜져있는 상태에서 하드디스크 추가하기
- /sys/class/scsi_host/host0 ~ /host2 까지 각 호스트 당 32개 하드 인식 가능
# echo "- - -" > /sys/class/scsi_host/host0/scan: 각 호스트에 장착된 하드 스캔- 새로 추가한 5개의 하드디스크가 인식된 모습이다.

3. 파일 시스템 생성하기
# mkfs.ext4 /dev/sdb1: 파티션을 생성한 하드디스크(sdb1)의 파일 시스템 초기화(포맷)- 디스크 관련 명령어#mkfs 파일 시스템 생성
- 마운트 하기 전 반드시 파일 시스템을 생성해야 한다.
- 주의 : 파티션 번호를 꼭 넣어줘야 한다. 넣지 않으면 하드가 초기화된다.

4. 마운트하여 사용하기
- 마운트 : 새로 추가한 파티션/파일 시스템을 생성한 하드디스크는 현재 리눅스 밖에 위치하고 있기 때문에 리눅스 밖에 위치한 하드디스크를 리눅스 안으로 가져오는 작업
- 디스크 관련 명령어#마운트
-
# mkdir /SDB: 하드디스크(sbd) 마운트할 디렉토리 생성- 리눅스에선 리눅스 폴더와 하드디스크를 연결 시켜준다.
- 하드디스크에 마운트하는 폴더는 디스크에 마운트를 안한 상태일 때도 디렉토리에 폴더와 파일을 가지고 있을 수 있다.
- USB랑 비슷한 용도로 파일을 숨기는 용도로 사용할 수도 있다.
-
# mount /dev/sdb1 /SDB: 하드디스크(sdb1) 파티션을 /SDB 디렉토리에 연결

-
# mount | grep sdb1또는# df -h: 마운트된 장치 확인-h: 사람이 보기 쉬운 단위로 보여주는 옵션, 용량과 관련된 명령어에서만 사용(그 외는 help 역할임)

-
마운트된 디렉토리에서 파일 및 디렉토리를 추가 및 삭제할 수 있다.
- lost+found 디렉토리는 드라이브에서 손상된 파일들을 저장하여 나중에 복구 시켜주는 임시 저장소

# umount /SDB또는# umount /dev/sdb1: 마운트 해제- 만약
umount: /SDB: target is busy.라는 에러 문구가 뜬다면 현재 마운트포인트에 위치하고 있거나, 마운트포인트에 있는 파일을 사용중이다. - 사용 중인 하드디스크는
# fdisk, 삭제, 수정이 불가능하므로# umount이후에 변경해줘야 한다.

- 만약
5. 자동 마운트 설정
- 관리자로 /etc/fstab 에서 설정해야 한다.
- 파일은 공백 기준으로 총 6개의 필드로 구성된다.
- 부팅 시 에러가 자주 발생하는 원인 중 하나는 fstab 을 잘못 수정한 경우다.
| 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|
| 장치명 | 마운트포인트 | 파일시스템 | 옵션 | dump | fsck |
| /dev/md1 | /MD1 | ext4 | defaults |
- dump : 자동 백업
- 0 : 백업 X
- 1 : 백업 O
- fsck : 파일 무결성 검사 (디스크 관련 명령어#파일 무결성 검사)
- 0 : 파일 시스템 점검 생략
- 1 : / (root) 파일 시스템만 점검
- 2 : / (root) 이외의 파일 시스템 점검
- 옵션 : 종류가 여러가지 있으며, 여러 옵션 부여는 ","로 구분한다.
- defaults : 기본 7개의 옵션 추가
- usrquota : 사용자별 Disk Quota 지정(Disk Quota)
init 6로 재부팅한 후 장치가 자동으로 마운트되었는지mount | grep 장치명혹은df -h로 확인한다.