Profile picture

[Linux] 하드디스크 관리

JaehyoJJAng2023년 06월 08일

하드디스크 관리

  • 하드디스크를 물리적으로는 /dev/sda , /dev/sdb , /dev/sdc .. 와 같이 가리킴
  • 디스크 파티션이 나눠진 것을 논리적으로 /dev/sda1 , /dev/sdb1 , /dev/sdc1 로 부름
  • 파티션을 그냥 사용할 수는 없으며 반드시 특정한 디렉토리에 마운트 시켜야 정상적인 사용이 가능

VM 디스크 추가

a. vmware 가상 서버에 하드디스크 추가 장착
image
image
20GB가 아닌 더 작은 용량으로 설정하도록 하자.


image
디스크 추가 완료


b. 장착된 디스크 확인

$ lsblk | grep "sd.*"
sda               8:0    0   40G  0 disk
├─sda1            8:1    0    3G  0 part /boot
└─sda2            8:2    0   37G  0 part
sdb               8:16   0    3G  0 disk

sdb 라는 새로운 디스크가 추가된 것을 확인해볼 수 있다


c. sdb 디스크 경로 찾기

$ find / -name "sdb*" -type b 2>/dev/null
/dev/sdb

파티셔닝

a. 장착된 디스크 파티셔닝하기

$ fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x76a520b7.

Command (m for help):

b. n 옵션으로 새로운 파티션 생성

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-6291455, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-6291455, default 6291455):
Using default value 6291455
Partition 1 of type Linux and of size 3 GiB is set

c. 파티셔닝 목록 출력

Command (m for help): p

Disk /dev/sdb: 3221 MB, 3221225472 bytes, 6291456 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x76a520b7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6291455     3144704   83  Linux

d. 변경 사항 저장

Command (m for help): w

e. 파티셔닝이 제대로 되었는지 확인

$ lsblk | grep 'sdb'
sdb               8:16   0    3G  0 disk
└─sdb1            8:17   0    3G  0 part

파일시스템 포맷

a. ext4 타입으로 파일시스템 포맷하기

$ mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786176 blocks
39308 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

마운트 포인트

a. /mydata 디렉토리를 마운트 포인트로 지정

$ mkdir /mydata
$ mount /dev/sdb1 /mydata

b. 마운트가 정상적으로 잘 되었는지 확인

$ lsblk | grep 'sdb'
sdb               8:16   0    3G  0 disk
└─sdb1            8:17   0    3G  0 part /mydata

c. UUID 값 복사 (/etc/fstab 에 등록)

$ blkid | grep 'sdb1'
/dev/sdb1: UUID="12709235-48fa-43b3-bcab-ee1418352657" TYPE="ext4"

d. 재부팅 후에도 해당 /mydata가 마운트될 수 있도록 /etc/fstab에 등록

$ cat /etc/fstab | tail -n 1
UUID=12709235-48fa-43b3-bcab-ee1418352657 /mydata		  ext4	  defaults	  0 0

Loading script...