InfraPlatform

[linux] 우분투 수동으로 파일 시스템 포멧 - mkfs-fdisk 명령 사용법

IT오이시이 2024. 2. 13. 01:49
728x90

 

[linux] 수동으로 파일 시스템 포멧설정 - mkfs-fdisk 명령 사용법

 
가상머신으로 virtualbox를 사용하고 ubunto linux를 사용하는데 디스크 용량이 부족해서 가상 디스크를 추가하려고 합니다.
수동으로 파일 시스템을 만드는 방법은 모든 리눅스가 유사한 절차를 하게 되므로 하나를 잘 이해하는 것이 중요합니다.
관련된 명령들을 정리 하고 파일시스템을 만드는 과정을 설명 드리겠습니다.
 

[파일 시스템  생성  순서]

1.설치할 fdisk -l 디스크 확인  ( lsblk, lsscsi 등) 하여 파티션 생성

2. 파티션 생성 : fdisk /dev/sdb

3. 파티션 생성과 포멧 : mkfs.ext4   /dev/sdb1

4. 파일시스템 마운트 설정 : vi  /etc/fstab

5. 파일시스템을 마운트 : mount -a

 
 


1. fdisk 명령으로 파일 시스템 확인

  - 새로 추가된 파일 시스템으로 "Disk /dev/sdb: 80 GiB" 가 추가되어 있습니다.

# 파일 시스템 확인
$ sudo fdisk -l

Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: CEAEF9CB-85F5-4C10-ADA9-85F9B7ECF7CE

Device     Start      End  Sectors Size Type
/dev/sda1   2048     4095     2048   1M BIOS boot
/dev/sda2   4096 52426751 52422656  25G Linux filesystem


Disk /dev/sdb: 80 GiB, 85899345920 bytes, 167772160 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

 
2. lsblk (block 디바이스) , lsscsi (SCSI디바이스) 의 상태 확인

# 블럭디바이스 또는 ScSi디스크 정보 확인
~$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0    25G  0 disk
 -sda1   8:1    0     1M  0 part
 -sda2   8:2    0    25G  0 part /
sdb      8:16   0    80G  0 disk

 


 

2. fdisk로 파이션 생성하기

   " fdisk /dev/sdX" 로 파티션을 생성할 디스크를 선정합니다.  fdisk cli 명령으로 커멘트를 실행 하면 되는데 

 fdisk 내부 명령으로 많이 사용하는  메뉴 사용법은 다음과 같은 순서로 이용합니다.  
   - m :  실행 가능한 명령어 메뉴를 출력합니다.
   - p :  파티션 테이블을 출력 합니다. 
   - n : 새로운 파이션을 생성합니다.  여기에서 다시 
             ->   p : primary 파티션 또는 "e"  extended 파티션을  생성 합니다. 
   - p :  설정된 파티션 테이블을 출력하여 확인 합니다. 
   - d : 만약 만든 파이션을 지우고자 할때 사용합니다. (바로 삭제 됩니다.)
   - w : 파티션 테이블을 디스크의 super block에 저장하고 나갑니다.

 

2.1 다음 예시와 같이  파티션을 생성하면 됩니다

# fdisk를 이용한 파티션 만들기 예시

$ sudo fdisk /dev/sdb

Welcome to fdisk (util-linux 2.37.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.
Created a new DOS disklabel with disk identifier 0x95e3b04d.

Command (m for help): p   <- (print) 파티션 테이블을 확인합니다.
Disk /dev/sdb: 80 GiB, 85899345920 bytes, 167772160 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x95e3b04d


Command (m for help): n  <- (new) 새로운 파티션 테이블을 만듭니다.
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p  <- (create primary) 
Partition number (1-4, default 1):  <- 엔터 (1번 섹터부터 파티셔을 시작)
First sector (2048-167772159, default 2048): <- 엔터 (디스크 최대 용량까지 )
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-167772159, default 167772159):

Created a new partition 1 of type 'Linux' and of size 80 GiB.


Command (m for help): p  <- (print) 파티션 테이블을 확인합니다.
Disk /dev/sdb: 80 GiB, 85899345920 bytes, 167772160 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x95e3b04d

Device     Boot Start       End   Sectors Size Id Type
/dev/sdb1        2048 167772159 167770112  80G 83 Linux


Command (m for help): w <- (write) 파티션 테이블을 저장합니다.
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

 

2.2.  /dev/sdb에 새로 만들어진 파티션 생성 결과를 확인합니다.

    - sudo fdisk -l /dev/sdb 명령으로 파티션 상태를 확인 합니다.

$ sudo fdisk -l /dev/sdb

Disk /dev/sdb: 80 GiB, 85899345920 bytes, 167772160 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x95e3b04d

Device     Boot Start       End   Sectors Size Id Type
/dev/sdb1        2048 167772159 167770112  80G 83 Linux

 


 

3. 생성된 파일 시스템의 파티션을 포멧 합니다. 

  "리눅스는 다양한 파일시스템 포멧을 제공합니다. 최근에는  ext4 또는 xfs를 이용하는 것이 일반적입니다. 

mkfs.bfs     mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.vfat
mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.ntfs    mkfs.xfs
 
여기 예시에서는 "ext4"를 이용하는 방법으로 작성을 합니다.  

# ext4 파일 포멧으로 파티션을 포멧

$ sudo mkfs -t ext4 /dev/sdb1  또는

$ sudo mkfs.ext4 /dev/sdb1

mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 20971264 4k blocks and 5242880 inodes
Filesystem UUID: 9cd21844-438c-4d4b-bb7e-77ceaca409b0
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000

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

 


4. 파일시스템을 마운트 합니다.

 

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

# 1. 디스크를 마운트할 디렉토리를 설정합니다.

$sudo mkdir /mydata

 
 

4.2 /etc/fstab을 이용하여  자동으로 파일 시스템을 마운트 합니다.

# 2. 자동으로 마운트하도록 설정을 합니다.
# - /dev/sdb1을 아래와 같이 추가 합니다. (noatime: 튜닝을 위해 추가했습니다.)

$sudo vi /etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during curtin installation
/dev/disk/by-uuid/3bc18820-a8f1-4bc8-b48e-7bc1734ce4e5 / ext4 defaults,noatime 0 1
/dev/sdb1   /mydata   ext4   defaults,noatime   0   2
/swap.img       none    swap    sw      0       0

 
 

5.  "mount -a " 를 이용하여 파일 시스템을 마운트 합니다.

 

5.1 "/etc/fstab" 에서 설정된 파일시스템 을 마운트 합니다.

# /etc/fstab을 이용해서 마운트 합니다.

~$ sudo mount -a

 

5.2 마운트 된 파일 시스템을 확인 합니다.

# 마운트된 파일 시스템을 확인 합니다.

~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           197M  1.1M  196M   1% /run
/dev/sda2        25G  5.1G   19G  22% /
tmpfs           983M     0  983M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           197M  4.0K  197M   1% /run/user/1000
/dev/sdb1        79G   24K   75G   1% /mydata

 


[예시] 가상 머신에서 파일 시스템 추가하기 위해서 다음과 같이 가상 디스크를 추가하여 사용합니다.
  - 가상 머신 :  VirtualBox
  - OS : ubuntu-22.04.3-live-server-amd64
 

 
위와 같이 저장소의 Ubunto22-GPT_data.vdi로 80G정도 용량으로 저장을 하였습니다.
   LLma2를 저장하는데 7B(10GB용량), 13B-Chat (24GB) 이 필요하여 대량 VDI로 100GB정도 추가하면 좋겠습니다.
 

728x90
반응형