Linux에서 저장 장치를 분할하고 포맷하는 방법
소개
Linux 시스템에서 사용할 새 디스크를 준비하는 과정은 간단합니다. 특별한 요구 사항이 있는 경우 프로세스를 변경할 수 있는 많은 도구, 파일 시스템 형식 및 파티셔닝 체계가 있지만 기본 사항은 동일하게 유지됩니다.
이 가이드에서는 다음 프로세스를 다룹니다.
- 시스템에서 새 디스크 식별.
- 전체 드라이브에 걸쳐 있는 단일 파티션 생성(대부분의 운영 체제는 하나의 파일 시스템만 있는 경우에도 파티션 레이아웃을 예상함)
- Ext4 파일 시스템으로 파티션 포맷(대부분의 최신 Linux 배포판에서 기본값)
- 부팅 시 파일 시스템 자동 마운트 마운트 및 설정
1단계 - Parted 설치
드라이브를 분할하려면 parted
유틸리티를 사용합니다. 하위 수준 파일 시스템과 상호 작용하는 데 필요한 대부분의 명령은 기본적으로 Linux에서 사용할 수 있습니다. 파티션을 생성하는 parted
는 가끔 발생하는 유일한 예외 중 하나입니다.
Ubuntu 또는 Debian 서버에 있고 parted
가 설치되어 있지 않은 경우 다음을 입력하여 설치할 수 있습니다.
- sudo apt update
- sudo apt install parted
RHEL, Rocky Linux 또는 Fedora 서버에 있는 경우 다음을 입력하여 설치할 수 있습니다.
- sudo dnf install parted
이 자습서에서 사용되는 다른 모든 명령은 사전 설치되어 있어야 다음 단계로 이동할 수 있습니다.
2단계 - 시스템에서 새 디스크 식별
드라이브를 설정하기 전에 서버에서 제대로 식별할 수 있어야 합니다.
이것이 완전히 새로운 드라이브인 경우 서버에서 이를 식별하는 한 가지 방법은 파티션 구성표가 없는지 확인하는 것입니다. 디스크의 파티션 레이아웃을 나열하도록 parted
에 요청하면 유효한 파티션 구성표가 없는 디스크에 대해 오류가 발생합니다. 이것은 새 디스크를 식별하는 데 도움이 될 수 있습니다.
- sudo parted -l | grep Error
분할되지 않은 새 디스크에 대해 인식할 수 없는 디스크 레이블
오류가 표시되어야 합니다.
OutputError: /dev/sda: unrecognized disk label
lsblk
명령을 사용하여 연결된 파티션이 없는 올바른 크기의 디스크를 찾을 수도 있습니다.
- lsblk
OutputNAME 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
로 전달합니다.
- sudo parted /dev/sda mklabel gpt
MBR 형식을 사용하려면 mklabel msdos
를 사용하세요.
- sudo parted /dev/sda mklabel msdos
새 파티션 만들기
형식이 선택되면 parted -a
를 사용하여 전체 드라이브에 걸쳐 있는 파티션을 생성할 수 있습니다.
- sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
이 명령을 다음과 같이 분류할 수 있습니다.
parted -a opt
는 parted를 실행하여 기본 최적 정렬 유형을 설정합니다./dev/sda
는 분할하려는 디스크입니다.mkpart 기본 ext4
는 ext4 파일 시스템을 사용하여 독립형(즉, 부팅 가능, 다른 파티션에서 확장되지 않음) 파티션을 만듭니다.0% 100%
는 이 파티션이 디스크의 시작부터 끝까지 걸쳐 있어야 함을 의미합니다.
자세한 내용은 Parted 매뉴얼 페이지를 참조하십시오.
lsblk
를 확인하면 사용 가능한 새 파티션이 표시됩니다.
- lsblk
OutputNAME 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
과 같은 것을 사용하고 싶을 것입니다.
- sudo mkfs.ext4 -L datapartition /dev/sda1
나중에 파티션 레이블을 변경하려면 e2label
명령을 사용할 수 있습니다.
- sudo e2label /dev/sda1 newlabel
lsblk
로 파티션을 식별하는 다양한 방법을 모두 볼 수 있습니다. 파티션의 이름, 레이블 및 UUID를 찾아야 합니다.
lsblk
의 일부 버전은 --fs
인수를 사용하여 이 모든 정보를 인쇄합니다.
- sudo lsblk --fs
lsblk -o
다음에 관련 옵션을 사용하여 수동으로 지정할 수도 있습니다.
- sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT
이와 같은 출력을 받아야 합니다. 강조 표시된 출력은 새 파일 시스템을 참조하는 데 사용할 수 있는 다양한 방법을 나타냅니다.
OutputNAME 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
을 사용하여 해당 디렉토리를 생성합니다.
- sudo mkdir -p /mnt/data
임시로 파일 시스템 마운트
다음을 입력하여 임시로 파일 시스템을 마운트할 수 있습니다.
- sudo mount -o defaults /dev/sda1 /mnt/data
부팅 시 자동으로 파일 시스템 마운트
서버가 부팅될 때마다 파일 시스템을 자동으로 마운트하려면 /etc/fstab
파일에 항목을 추가합니다. 이 파일에는 시스템의 모든 영구 또는 일상적으로 마운트된 디스크에 대한 정보가 들어 있습니다. nano
또는 선호하는 텍스트 편집기를 사용하여 파일을 엽니다.
- 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
명령의 출력에서 디스크를 사용할 수 있는지 확인할 수 있습니다. 때때로 df
는 df
출력에 tmpfs
라는 임시 파일 시스템에 대한 불필요한 정보를 포함합니다. -x tmpfs를 추가하여 제외할 수 있습니다. 코드>:
- df -h -x tmpfs
OutputFilesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.3G 18G 7% /
/dev/sda1 99G 60M 94G 1% /mnt/data
테스트 파일에 기록하여 읽기 및 쓰기 기능이 탑재된 디스크를 확인할 수도 있습니다.
- echo "success" | sudo tee /mnt/data/test_file
쓰기가 올바르게 실행되었는지 확인하기 위해 파일을 다시 읽으십시오.
- cat /mnt/data/test_file
Outputsuccess
새 파일 시스템이 올바르게 작동하는지 확인한 후 파일을 제거할 수 있습니다.
- sudo rm /mnt/data/test_file
결론
이제 새 드라이브가 분할, 포맷, 마운트되고 사용할 준비가 되었습니다. 이것은 원시 디스크를 Linux가 스토리지에 사용할 수 있는 파일 시스템으로 전환하는 데 사용할 수 있는 일반적인 프로세스입니다. 일부 경우에 더 적절할 수 있는 더 복잡한 파티셔닝, 포맷 및 마운팅 방법이 있지만 위의 방법은 일반적인 사용을 위한 좋은 출발점입니다.
다음으로 SSHFS를 사용하여 SSH를 통해 원격 볼륨을 마운트하는 방법을 배울 수 있습니다.