웹사이트 검색

Linux에서 저장 장치를 분할하고 포맷하는 방법


소개

Linux 시스템에서 사용할 새 디스크를 준비하는 과정은 간단합니다. 특별한 요구 사항이 있는 경우 프로세스를 변경할 수 있는 많은 도구, 파일 시스템 형식 및 파티셔닝 체계가 있지만 기본 사항은 동일하게 유지됩니다.

이 가이드에서는 다음 프로세스를 다룹니다.

  • 시스템에서 새 디스크 식별.
  • 전체 드라이브에 걸쳐 있는 단일 파티션 생성(대부분의 운영 체제는 하나의 파일 시스템만 있는 경우에도 파티션 레이아웃을 예상함)
  • Ext4 파일 시스템으로 파티션 포맷(대부분의 최신 Linux 배포판에서 기본값)
  • 부팅 시 파일 시스템 자동 마운트 마운트 및 설정

1단계 - Parted 설치

드라이브를 분할하려면 parted 유틸리티를 사용합니다. 하위 수준 파일 시스템과 상호 작용하는 데 필요한 대부분의 명령은 기본적으로 Linux에서 사용할 수 있습니다. 파티션을 생성하는 parted는 가끔 발생하는 유일한 예외 중 하나입니다.

Ubuntu 또는 Debian 서버에 있고 parted가 설치되어 있지 않은 경우 다음을 입력하여 설치할 수 있습니다.

  1. sudo apt update
  2. sudo apt install parted

RHEL, Rocky Linux 또는 Fedora 서버에 있는 경우 다음을 입력하여 설치할 수 있습니다.

  1. sudo dnf install parted

이 자습서에서 사용되는 다른 모든 명령은 사전 설치되어 있어야 다음 단계로 이동할 수 있습니다.

2단계 - 시스템에서 새 디스크 식별

드라이브를 설정하기 전에 서버에서 제대로 식별할 수 있어야 합니다.

이것이 완전히 새로운 드라이브인 경우 서버에서 이를 식별하는 한 가지 방법은 파티션 구성표가 없는지 확인하는 것입니다. 디스크의 파티션 레이아웃을 나열하도록 parted에 요청하면 유효한 파티션 구성표가 없는 디스크에 대해 오류가 발생합니다. 이것은 새 디스크를 식별하는 데 도움이 될 수 있습니다.

  1. sudo parted -l | grep Error

분할되지 않은 새 디스크에 대해 인식할 수 없는 디스크 레이블 오류가 표시되어야 합니다.

Output
Error: /dev/sda: unrecognized disk label

lsblk 명령을 사용하여 연결된 파티션이 없는 올바른 크기의 디스크를 찾을 수도 있습니다.

  1. lsblk
Output
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk vda 253:0 0 20G 0 disk └─vda1 253:1 0 20G 0 part /

참고: 변경하기 전에 서버에 다시 연결할 때마다 lsblk를 확인하십시오. /dev/sd*/dev/hd* 디스크 식별자는 부팅 간에 반드시 일치하지는 않습니다. 즉, 다음과 같은 경우 잘못된 디스크를 분할하거나 포맷할 위험이 있습니다. 디스크 식별자를 올바르게 확인하지 않습니다.

/dev/disk/by-uuid, /dev/disk/by-label 또는 /dev/disk/by- 아이디. 자세한 내용은 Linux 문서의 저장소 개념 및 용어 소개를 참조하십시오.

커널이 디스크에 할당한 이름을 알면 드라이브를 분할할 수 있습니다.

3단계 - 새 드라이브 분할

소개에서 언급했듯이 이 가이드에서는 전체 디스크에 걸쳐 있는 단일 파티션을 생성합니다.

파티셔닝 표준 선택

이렇게 하려면 먼저 사용할 분할 표준을 지정해야 합니다. GPT와 MBR의 두 가지 옵션이 있습니다. GPT는 보다 현대적인 표준인 반면 MBR은 이전 운영 체제에서 보다 광범위하게 지원됩니다. 일반적인 클라우드 서버의 경우 GPT가 더 나은 옵션입니다.

GPT 표준을 선택하려면 식별한 디스크를 mklabel gpt와 함께 parted로 전달합니다.

  1. sudo parted /dev/sda mklabel gpt

MBR 형식을 사용하려면 mklabel msdos를 사용하세요.

  1. sudo parted /dev/sda mklabel msdos

새 파티션 만들기

형식이 선택되면 parted -a를 사용하여 전체 드라이브에 걸쳐 있는 파티션을 생성할 수 있습니다.

  1. sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%

이 명령을 다음과 같이 분류할 수 있습니다.

  • parted -a opt는 parted를 실행하여 기본 최적 정렬 유형을 설정합니다.
  • /dev/sda는 분할하려는 디스크입니다.
  • mkpart 기본 ext4는 ext4 파일 시스템을 사용하여 독립형(즉, 부팅 가능, 다른 파티션에서 확장되지 않음) 파티션을 만듭니다.
  • 0% 100%는 이 파티션이 디스크의 시작부터 끝까지 걸쳐 있어야 함을 의미합니다.

자세한 내용은 Parted 매뉴얼 페이지를 참조하십시오.

lsblk를 확인하면 사용 가능한 새 파티션이 표시됩니다.

  1. lsblk
Output
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk └─sda1 8:1 0 100G 0 part vda 253:0 0 20G 0 disk └─vda1 253:1 0 20G 0 part /

이제 새 파티션이 생성되었지만 아직 파일 시스템으로 초기화되지 않았습니다. 이 두 단계의 차이점은 다소 임의적이며 Linux 파일 시스템이 작동하는 방식에 고유하지만 실제로는 여전히 두 단계입니다.

4단계 - 새 파티션에 파일 시스템 생성

이제 파티션을 사용할 수 있으므로 Ext4 파일 시스템으로 초기화할 수 있습니다. Ext4는 사용 가능한 유일한 파일 시스템 옵션은 아니지만 단일 독립 실행형 Linux 볼륨에 대한 가장 간단한 옵션입니다. Windows는 NTFS 및 exFAT와 같은 파일 시스템을 사용하지만 다른 플랫폼에 대한 지원이 제한되어 있으며(즉, 일부 컨텍스트에서는 읽기 전용이고 다른 운영 체제의 부팅 드라이브로 사용할 수 없음) macOS는 HFS+ 및 APFS를 사용합니다. 같은 경고와 함께. ZFS 및 BTRFS와 같이 Ext4보다 최신 Linux 파일 시스템도 있지만 요구 사항이 다르며 일반적으로 다중 디스크 어레이에 더 적합합니다.

Ext4 파일 시스템을 초기화하려면 mkfs.ext4 유틸리티를 사용하십시오. -L 플래그를 사용하여 파티션 레이블을 추가할 수 있습니다. 이 특정 드라이브를 식별하는 데 도움이 되는 이름을 선택하십시오.

참고: 전체 디스크가 아닌 파티션 경로를 제공해야 합니다. Linux에서 디스크는 sda, sdb, hda 등과 같은 이름을 가집니다. 이러한 디스크의 파티션에는 끝에 숫자가 추가됩니다. 따라서 sda가 아닌 sda1과 같은 것을 사용하고 싶을 것입니다.

  1. sudo mkfs.ext4 -L datapartition /dev/sda1

나중에 파티션 레이블을 변경하려면 e2label 명령을 사용할 수 있습니다.

  1. sudo e2label /dev/sda1 newlabel

lsblk로 파티션을 식별하는 다양한 방법을 모두 볼 수 있습니다. 파티션의 이름, 레이블 및 UUID를 찾아야 합니다.

lsblk의 일부 버전은 --fs 인수를 사용하여 이 모든 정보를 인쇄합니다.

  1. sudo lsblk --fs

lsblk -o 다음에 관련 옵션을 사용하여 수동으로 지정할 수도 있습니다.

  1. sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT

이와 같은 출력을 받아야 합니다. 강조 표시된 출력은 새 파일 시스템을 참조하는 데 사용할 수 있는 다양한 방법을 나타냅니다.

Output
NAME FSTYPE LABEL UUID MOUNTPOINT sda └─sda1 ext4 datapartition 4b313333-a7b5-48c1-a957-d77d637e4fda vda └─vda1 ext4 DOROOT 050e1e34-39e6-4072-a03e-ae0bf90ba13a /

다음 단계에서 파일 시스템을 마운트할 때 사용할 것이므로 이 출력을 기록해 두십시오.

5단계 - 새 파일 시스템 마운트

이제 사용할 파일 시스템을 마운트할 수 있습니다.

Filesystem Hierarchy Standard에서는 /mnt 디렉토리 또는 그 아래의 하위 디렉토리를 임시로 마운트된 파일 시스템(예: 이동식 드라이브)에 사용할 것을 권장합니다. 더 많은 영구 스토리지를 마운트할 위치에 대한 권장 사항이 없으므로 원하는 방식을 선택할 수 있습니다. 이 자습서에서는 드라이브를 /mnt/data 아래에 마운트합니다.

mkdir을 사용하여 해당 디렉토리를 생성합니다.

  1. sudo mkdir -p /mnt/data

임시로 파일 시스템 마운트

다음을 입력하여 임시로 파일 시스템을 마운트할 수 있습니다.

  1. sudo mount -o defaults /dev/sda1 /mnt/data

부팅 시 자동으로 파일 시스템 마운트

서버가 부팅될 때마다 파일 시스템을 자동으로 마운트하려면 /etc/fstab 파일에 항목을 추가합니다. 이 파일에는 시스템의 모든 영구 또는 일상적으로 마운트된 디스크에 대한 정보가 들어 있습니다. nano 또는 선호하는 텍스트 편집기를 사용하여 파일을 엽니다.

  1. sudo nano /etc/fstab

마지막 단계에서 sudo lsblk --fs 명령을 사용하여 파일 시스템의 식별자를 표시했습니다. 이 파일에서 이들 중 하나를 사용할 수 있습니다. 이 예에서는 파티션 레이블을 사용하지만 주석 처리된 줄에서 다른 두 식별자를 사용하여 줄이 어떻게 보이는지 확인할 수 있습니다.

. . .
## Use one of the identifiers you found to reference the correct partition
# /dev/sda1 /mnt/data ext4 defaults 0 2
# UUID=4b313333-a7b5-48c1-a957-d77d637e4fda /mnt/data ext4 defaults 0 2
LABEL=datapartition /mnt/data ext4 defaults 0 2

LABEL=datapartition 요소 외에 이러한 옵션은 다음과 같이 작동합니다.

  • /mnt/data는 디스크가 마운트되는 경로입니다.
  • ext4는 이것이 Ext4 파티션임을 나타냅니다.
  • defaults는 이 볼륨이 읽기-쓰기 지원과 같은 기본 옵션으로 마운트되어야 함을 의미합니다.
  • 0 2는 파일 시스템이 오류가 있는 경우 로컬 시스템에서 유효성을 검사해야 하지만 루트 볼륨 다음에 2두 번째 우선 순위임을 나타냅니다.

참고: 매뉴얼 페이지를 확인하여 /etc/fstab 파일의 다양한 필드에 대해 알아볼 수 있습니다. 특정 파일 시스템 유형에 사용할 수 있는 마운트 옵션에 대한 정보는 man [filesystem] 을 확인하십시오. (예: man ext4).

완료되면 파일을 저장하고 닫습니다. nano를 사용하는 경우 Ctrl+X를 누른 다음 확인 메시지가 나타나면 Y를 누른 다음 Enter를 누르십시오.

이전에 파일 시스템을 마운트하지 않은 경우 이제 mount -a를 사용하여 마운트할 수 있습니다.

sudo mount -a

마운트 테스트

볼륨을 마운트한 후 파일 시스템에 액세스할 수 있는지 확인해야 합니다.

df 명령의 출력에서 디스크를 사용할 수 있는지 확인할 수 있습니다. 때때로 dfdf 출력에 tmpfs라는 임시 파일 시스템에 대한 불필요한 정보를 포함합니다. -x tmpfs:

  1. df -h -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 1.3G 18G 7% / /dev/sda1 99G 60M 94G 1% /mnt/data

테스트 파일에 기록하여 읽기 및 쓰기 기능이 탑재된 디스크를 확인할 수도 있습니다.

  1. echo "success" | sudo tee /mnt/data/test_file

쓰기가 올바르게 실행되었는지 확인하기 위해 파일을 다시 읽으십시오.

  1. cat /mnt/data/test_file
Output
success

새 파일 시스템이 올바르게 작동하는지 확인한 후 파일을 제거할 수 있습니다.

  1. sudo rm /mnt/data/test_file

결론

이제 새 드라이브가 분할, 포맷, 마운트되고 사용할 준비가 되었습니다. 이것은 원시 디스크를 Linux가 스토리지에 사용할 수 있는 파일 시스템으로 전환하는 데 사용할 수 있는 일반적인 프로세스입니다. 일부 경우에 더 적절할 수 있는 더 복잡한 파티셔닝, 포맷 및 마운팅 방법이 있지만 위의 방법은 일반적인 사용을 위한 좋은 출발점입니다.

다음으로 SSHFS를 사용하여 SSH를 통해 원격 볼륨을 마운트하는 방법을 배울 수 있습니다.