파티션 포맷팅: mkfs
1. 포맷팅할 때 무슨 일이 벌어질까?
우리가 구획을 포맷팅할 때, 말 그대로 데이터를 위한 "빈 종이"를 만드는 거야. 포맷팅은 구획의 모든 내용을 삭제하고, 파일이 어떻게 조직되고 접근될지 결정해주는 새로운 파일 시스템을 만들어 줘.
도서관을 상상해봐. 포맷팅은 마치 모든 오래된 책을 치우고, 새로운 책장을 정리하고, 장르를 표시하는 작은 표를 붙이는 것과 같아. 이제 모든 게 정리되어 있어. 새 책이 어디에 있어야 할지 알 수 있게 된 거지.
왜 장치를 포맷팅해야 할까?
- 새 장치(디스크나 구획) 준비: 포맷팅 없이 어떤 장치도 쓸 수 없어. 마치 노트의 빈 페이지처럼, 용도를 정하지 않으면 쓸모없겠지.
- 파일 시스템 변경: 예를 들어 FAT32에서 ext4로 전환하려면 포맷팅이 필요해.
- 오래된 데이터 삭제: 장치를 완전히 비우고 새로 시작하고 싶다면, 포맷팅이 가장 좋은 선택이야.
중요: 포맷팅 후에는 구획의 모든 데이터가 삭제돼. 따라서 장치에 중요한 정보가 없는지 항상 확인해야 해.
2. 도구 mkfs
: 신택스와 사용법
mkfs
프로그램은 섹션을 포맷하기 위한 기본 도구야. 이 도구는 다양한 파일 시스템을 지원하니까 거의 모든 상황에서 사용할 수 있어.
명령어의 일반적인 신택스
mkfs.<파일_시스템_타입> <디바이스>
예를 들어, /dev/sdb1
섹션을 ext4 파일 시스템으로 포맷하려면:
mkfs.ext4 /dev/sdb1
지원되는 파일 시스템
mkfs
는 대부분의 흔히 쓰는 파일 시스템 타입들과 함께 작동해. 여기 몇 가지 예시가 있어:
파일 시스템 | 명령어 | 사용 사례 |
---|---|---|
ext4 | mkfs.ext4 |
Linux의 주 파일 시스템. 큰 파일과 디스크를 지원해. |
xfs | mkfs.xfs |
고성능이며, 큰 파일과 서버 사용량에 적합해. |
vfat (FAT32) | mkfs.vfat |
Linux, Windows, MacOS 간 데이터 교환에 적합해. |
ntfs | mkfs.ntfs |
Windows와의 호환성을 위해. (하지만 Linux에서 수정 작업은 때때로 어려울 수 있어.) |
지원되는 파일 시스템의 전체 목록을 보려면 다음 명령어를 사용해:
mkfs -t help
3. 예제: ext4로 파티션 포맷하기
이제 파티션 포맷 과정을 단계별로 살펴보자.
1. 디바이스 확인하기
먼저 포맷하려는 디바이스 이름을 찾자. lsblk
명령어를 사용해봐:
lsblk
출력 결과는 모든 연결된 디바이스와 그들의 파티션 목록을 보여줄 거야. 예를 들어:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 50G 0 part /
├─sda2 8:2 0 45G 0 part /home
└─sda3 8:3 0 5G 0 part [SWAP]
sdb 8:16 0 200G 0 disk
└─sdb1 8:17 0 200G 0 part
예를 들어, 파티션 /dev/sdb1
을 포맷한다고 가정하자.
2. 파티션이 마운트되지 않았는지 확인하기
포맷 전에 디바이스가 마운트되지 않아야 해. 이를 확인하려면 다음 명령어를 사용해:
sudo umount /dev/sdb1
3. 포맷 시작하기
이제 선택한 파티션에 ext4 파일 시스템을 생성해보자:
sudo mkfs.ext4 /dev/sdb1
명령어 출력은 대략 다음과 같을 거야:
mke2fs 1.45.7 (28-Jan-2021)
Creating filesystem with 52428800 4k blocks and 13107200 inodes
Filesystem UUID: 5634f623-7b2d-4d6b-b8f5-abcdef123456
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, ...
UUID는 파일 시스템의 고유 식별자야. /etc/fstab
에서 마운트 포인트를 지정할 때 이를 사용하는 것을 추천해.
4. 결과 확인하기
파일 시스템이 생성되었는지 확인하자:
sudo blkid /dev/sdb1
출력 결과는 디바이스에 이제 ext4 파일 시스템이 설치되었음을 보여줄 거야:
/dev/sdb1: UUID="5634f623-7b2d-4d6b-b8f5-abcdef123456" TYPE="ext4"
4. 파일 시스템 선택
어떤 파일 시스템을 선택해야 할까? 이건 너의 요구사항에 따라 달라져. 몇 가지 추천사항을 알려줄게:
- ext4: 리눅스에서 범용적으로 사용돼. 대부분의 상황에 적합해.
- XFS: 대용량 파일이나 서버에서 높은 성능이 필요할 때 선택해.
- FAT32 (vfat): Windows와 MacOS에서 모두 사용하는 디바이스가 필요할 때. 하지만 여기선 최대 파일 크기가 4GB로 제한돼 있다는 걸 기억해.
- NTFS: Windows와의 호환성을 위해 사용되지만, 리눅스에서 ext4와 비교해서 성능이 낮을 수 있어.
뭐가 맞는지 잘 모르겠다면, 그냥 ext4를 사용해. 거의 실망시키지 않을 거야.
5. 포맷팅 시 흔한 실수
포맷팅은 특별히 신중해야 하는 작업이야. 여기 몇 가지 가능한 실수와 이를 피하는 방법을 소개할게:
잘못된 디바이스 포맷팅: 이런 일이 일어나지 않게 하려면 항상 작업하려는 디바이스를 확인해 (
lsblk
와blkid
가 도움이 될 거야).마운트된 디바이스 미제거: 디바이스가 마운트된 상태라면
mkfs
명령어가 오류를 발생시켜. 디바이스가 반드시 언마운트 상태여야 해.데이터를 실수로 삭제:
mkfs
를 실행하기 전에 내용이 모두 삭제된다는 점을 확실히 인지해야 해. 확신이 없다면, 포맷팅 전에 백업을 만드는 게 좋아.
실용적인 활용
포맷팅 지식은 시스템 관리자는 물론이고 개발자에게도 중요해. 예를 들어, AWS나 Azure 같은 클라우드 플랫폼에서 작업할 때, 어플리케이션용 섹션을 자주 생성하고 포맷해야 할 거야. 또한, 외장 하드디스크나 USB 드라이브를 데이터 저장용으로 설정하고 싶을 때도 이 기술이 필요해.
잊지 마, 올바르게 설정된 파일 시스템은 어플리케이션의 안정적인 작동의 기초야. 결국, 마감 5분 전에 "파일 시스템을 찾을 수 없음" 오류를 받고 싶은 사람은 없잖아?
이제 디바이스를 포맷하는 방법과 파일 시스템을 선택하는 방법을 배웠으니, 다음 단계로 넘어갈 준비가 되었어: fsck
명령어를 사용한 파일 시스템 검사와 복구.
GO TO FULL VERSION