본문으로 바로가기

[Linux] 클라우드 디스크 추가하기 (fdisk)

category OS/Linux 2022. 4. 30. 13:39

0. 실습 준비

클라우드에서 스토리지를 추가적으로 구매할 경우 해당 디스크 마운트는 셀프인 경우가 많습니다.

따라서 연습을 위해 VM Virtual Box를 이용하여 테스트를 진행하였습니다.

 

1. 실습할 VM을 선택 후 설정(S)을 클릭합니다.

설정(S)

 

2. 저장소 설정을 클릭 후 컨트롤러: SATA를 선택한 후 하단의 세 번째 디스크 모양을 누르고 하드 디스크를 클릭합니다.

저장소 설정

 

3. 추가(A)를 클릭합니다.

추가(A)

 

4. 가상 하드 디스크를 만듭니다.

가상 하드 디스크 만들기

 

5. 선택 버튼을 클릭합니다.

디스크 선택

 

6. 새로운 디스크가 추가된 것을 볼 수 있고 확인을 눌러 디스크 추가를 마칩니다.

디스크 추가

 

1. 디스크 확인

# fdisk -l

Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x000b94e4

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   209715199   103808000   8e  Linux LVM

Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 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 /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors 

sdb라는 이름으로 8GB짜리 디스크가 추가된 것을 알 수 있습니다.

 

2. 파티션 나누기

# 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 0xbc244ac0.

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

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-16777215, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-16777215, default 16777215):
Using default value 16777215
Partition 1 of type Linux and of size 8 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

다음과 같이 디스크를 1개의 파티션으로 용량을 몰아줍니다.

Command (m for help): n // add a new partition
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p // primary type
Partition number (1-4, default 1): 1
First sector (2048-16777215, default 2048): // Enter(기본값)
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-16777215, default 16777215): // Enter(기본값)
Using default value 16777215
Partition 1 of type Linux and of size 8 GiB is set

Command (m for help): w // write table to disk and exit
The partition table has been altered!

 

3. 파티션 확인

# fdisk -l

Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x000b94e4

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   209715199   103808000   8e  Linux LVM

Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 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: 0xbc244ac0

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    16777215     8387584   83  Linux

 

sdb1이라는 이름으로 파티션이 새로 추가된 것을 확인할 수 있습니다.

 

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    16777215     8387584   83  Linux

 

4. 파일 시스템 포맷

파일 시스템은 다음과 같이 권장합니다. (실제 현업에서도 이렇게 사용합니다.)

2TB 이상일 경우 ext4 (추가적으로 2TB 이상일 경우 fdisk 말고 parted 명령어를 이용하여 설정을 권장합니다)
2TB 미만일 경우 xfs

# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=524224 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2096896, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

 

5. 디렉토리 생성 & 마운트

1. 디렉토리 생성

마운트 할 디렉토리를 생성합니다.

# cd /
# mkdir disk
# ll
합계 24
lrwxrwxrwx.   1 root root    7  4월  7  2021 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096  5월 12  2021 boot
drwxr-xr-x.  21 root root 3300  4월 17 00:23 dev
drwxr-xr-x.   2 root root    6  4월 17 00:24 disk
...

 

2. UUID 확인

etc/fstab 파일에 마운트 등록을 하기 위해 UUID를 확인합니다. 

# blkid
/dev/sda1: UUID="e20d2ddb-b9a3-49be-8dd0-22603baf506d" TYPE="xfs"
/dev/sda2: UUID="b0OcZE-UJ7y-cpkt-fecR-fY1n-Q4V6-1zYgMc" TYPE="LVM2_member"
/dev/sdb1: UUID="2bf46a77-414c-44f7-b497-1ab01358b947" TYPE="xfs"

 

3. fstab 등록

재부팅 시에도 자동으로 마운트 하기 위해서 etc/fstab 파일에 마운트 정보를 등록합니다.

# vi /etc/fstab
UUID=2bf46a77-414c-44f7-b497-1ab01358b947 /disk xfs defaults 0 0

 

4. 마운트

fstab에 있는 모든 파일 시스템을 마운트 합니다.

# mount -a

 

6. 확인

# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G  9.5M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root   75G   11G   65G  15% /
/dev/mapper/centos-home   21G   68M   21G   1% /home
/dev/sda1               1014M  280M  735M  28% /boot
tmpfs                    379M   40K  379M   1% /run/user/0
/dev/sdb1                8.0G   33M  8.0G   1% /disk

 

7. 권한 부여(필요시)

# chmod 777 disk/