컴퓨터나 서버에 새로운 SSD나 HDD를 장착했다고 해서 바로 사용할 수 있는 것은 아닙니다. 운영체제가 저장장치를 인식한 후에도 파티션을 생성하고, 파일 시스템을 만들고, 마운트(Mount) 과정을 거쳐야 비로소 데이터를 저장할 수 있습니다. 이러한 과정은 개인용 PC뿐만 아니라 기업의 서버 환경에서도 반드시 수행해야 하는 기본 작업입니다.
특히 시스템 엔지니어(System Engineer)는 서버를 구축하거나 저장 공간을 확장할 때 파티션을 설계하고, 적절한 파일 시스템을 생성하며, 운영체제가 부팅될 때 자동으로 저장장치를 연결하도록 설정하는 작업을 자주 수행합니다. 이러한 작업을 정확히 이해하지 못하면 서버 부팅 실패, 데이터 저장 오류, 성능 저하와 같은 문제가 발생할 수 있습니다.
이번 글에서는 디스크 파티션의 개념, MBR과 GPT의 차이점, Linux에서 파티션을 생성하는 과정, 마운트(Mount)의 개념과 원리, /etc/fstab 파일을 이용한 자동 마운트 설정, 그리고 서버 환경에서 저장장치를 효율적으로 관리하는 실무 방법까지 자세히 알아보겠습니다.
파티션은 하나의 물리적인 저장장치를 여러 개의 독립적인 논리 공간으로 나누는 작업을 의미합니다.
예를 들어 1TB SSD가 있다면 다음과 같이 나누어 사용할 수 있습니다.
운영체제는 각각을 독립된 저장 공간으로 인식하며, 서로 다른 파일 시스템을 적용하거나 용도를 구분하여 사용할 수 있습니다.
파티션을 나누는 이유는 다음과 같습니다.
특히 서버에서는 서비스별 데이터와 로그를 별도의 파티션에 저장하여 관리 효율성과 안정성을 높이는 경우가 많습니다.
MBR은 오래전부터 사용되어 온 전통적인 디스크 파티션 방식입니다.
디스크의 첫 번째 섹터(512바이트)에 부트 코드와 파티션 정보를 저장합니다.
주요 특징은 다음과 같습니다.
현재도 일부 레거시 시스템에서는 사용되지만, 대용량 저장장치와 최신 서버 환경에서는 한계가 있습니다.
GPT는 UEFI 기반 시스템에서 사용하는 최신 파티션 방식입니다.
GUID(Global Unique Identifier)를 사용하여 각 파티션을 관리하며, MBR보다 뛰어난 확장성과 안정성을 제공합니다.
주요 특징은 다음과 같습니다.
현재 대부분의 서버와 최신 PC에서는 GPT를 기본으로 사용합니다.
|
항목 |
MBR |
GPT |
|---|---|---|
|
최대 디스크 용량 |
2TB |
사실상 제한 없음 |
|
최대 파티션 수 |
기본 4개 |
일반적으로 128개 |
|
부팅 방식 |
BIOS |
UEFI |
|
파티션 정보 |
단일 저장 |
기본/백업 테이블 저장 |
|
안정성 |
보통 |
높음 |
|
권장 환경 |
구형 시스템 |
최신 서버 및 PC |
신규 서버를 구축한다면 GPT를 사용하는 것이 일반적이며, 특별한 이유가 없다면 MBR보다 GPT를 선택하는 것이 좋습니다.
새로운 저장장치를 서버에 연결한 후에는 다음과 같은 순서로 작업을 진행합니다.
먼저 운영체제가 디스크를 정상적으로 인식했는지 확인합니다.
lsblk
또는
fdisk -l
예를 들어 새로운 디스크가 /dev/sdb로 인식되었다고 가정해 보겠습니다.
GPT 기반 파티션을 생성하려면 gdisk 또는 parted를 사용할 수 있으며, MBR 기반에서는 fdisk를 사용할 수 있습니다.
예를 들어 fdisk를 실행하면 다음과 같이 작업합니다.
sudo fdisk /dev/sdb
이후 새로운 파티션을 생성하고 저장하면 /dev/sdb1과 같은 파티션이 만들어집니다.
파티션만 생성했다고 해서 바로 사용할 수는 없습니다.
파일 시스템을 생성해야 합니다.
EXT4 생성
sudo mkfs.ext4 /dev/sdb1
XFS 생성
sudo mkfs.xfs /dev/sdb1
파일 시스템이 생성되면 운영체제가 데이터를 저장할 수 있는 구조가 완성됩니다.
파일 시스템을 원하는 디렉터리에 연결합니다.
예를 들어
sudo mkdir /data
sudo mount /dev/sdb1 /data
이제 /data 디렉터리를 통해 새로운 저장장치를 사용할 수 있습니다.
Linux는 모든 저장장치를 하나의 디렉터리 구조 아래에서 관리합니다.
Windows처럼 C: 드라이브나 D: 드라이브 개념이 아니라, 특정 디렉터리에 저장장치를 연결하는 방식을 사용합니다.
예를 들어
/dev/sdb1
↓
/data
이처럼 /dev/sdb1이라는 장치를 /data 디렉터리에 연결하는 작업을 **마운트(Mount)**라고 합니다.
마운트가 완료되면 사용자는 /data 디렉터리를 통해 실제 저장장치에 접근하게 됩니다.
현재 시스템에 연결된 저장장치는 다음 명령으로 확인할 수 있습니다.
mount
또는
df -Th
예시 출력
Filesystem Type Mounted on
/dev/sda2 xfs /
/dev/sdb1 ext4 /data
이를 통해 어떤 장치가 어디에 연결되어 있는지 확인할 수 있습니다.
/etc/fstab은 Linux가 부팅될 때 자동으로 저장장치를 마운트하기 위한 설정 파일입니다.
만약 mount 명령으로만 연결했다면 재부팅 후에는 마운트가 해제됩니다.
이를 방지하기 위해 /etc/fstab에 정보를 등록합니다.
예시
UUID=xxxxxxxx-xxxx /data ext4 defaults 0 2
각 항목의 의미는 다음과 같습니다.
|
항목 |
설명 |
|---|---|
|
UUID |
저장장치의 고유 식별자 |
|
/data |
마운트 위치 |
|
ext4 |
파일 시스템 |
|
defaults |
기본 마운트 옵션 |
|
0 |
dump 백업 여부 |
|
2 |
파일 시스템 검사(fsck) 순서 |
실무에서는 장치 이름(/dev/sdb1)보다 UUID를 사용하는 것이 일반적입니다. 장치 이름은 부팅 순서에 따라 변경될 수 있지만 UUID는 변경되지 않아 안정적으로 마운트할 수 있기 때문입니다.
UUID는 다음 명령으로 확인할 수 있습니다.
blkid
설정을 저장한 후에는 반드시 문법을 확인해야 합니다.
sudo mount -a
오류가 없다면 설정이 정상이며, 이후 재부팅 시 자동으로 마운트됩니다.
잘못된 설정은 부팅 실패의 원인이 될 수 있으므로 항상 테스트하는 습관이 중요합니다.
서버에서는 모든 데이터를 하나의 파티션에 저장하지 않습니다.
예를 들어 Linux 서버에서는 다음과 같이 구성하는 경우가 많습니다.
|
마운트 위치 |
용도 |
|---|---|
|
|
운영체제 |
|
|
부트 파일 |
|
|
사용자 데이터 |
|
|
로그 및 서비스 데이터 |
|
|
임시 파일 |
|
|
서비스 데이터 |
|
|
백업 파일 |
특히 /var는 웹 서버 로그, 데이터베이스 로그, 패키지 캐시 등이 저장되는 위치이므로 별도 파티션으로 분리하면 디스크가 가득 차더라도 운영체제 전체에 미치는 영향을 줄일 수 있습니다.
실무에서는 단순히 저장장치를 연결하는 것보다 효율적인 운영이 중요합니다.
다음과 같은 사항을 고려해야 합니다.
신규 서버에서는 GPT를 기본으로 선택합니다.
장치 이름 대신 UUID를 사용하여 안정성을 높입니다.
운영체제와 데이터, 로그, 백업을 분리하여 장애 영향을 최소화합니다.
일반 서버는 EXT4, 대용량 데이터 서버는 XFS를 주로 사용합니다.
df -h, du -sh, lsblk 등을 활용해 저장 공간을 정기적으로 점검합니다.
향후 저장 공간 확장이 예상된다면 LVM(Logical Volume Manager)을 도입하면 디스크를 유연하게 확장할 수 있습니다.
실무에서는 저장 공간 부족이나 디스크 장애가 서비스 중단으로 이어지는 경우가 적지 않습니다. 웹 서버의 로그가 저장되는 /var 파티션이 가득 차면 새로운 로그를 기록하지 못해 서비스에 문제가 생길 수 있고, 데이터베이스가 사용하는 파티션의 용량이 부족하면 트랜잭션 처리에 영향을 줄 수 있습니다.
또한 신규 디스크를 추가하거나 클라우드 환경에서 스토리지를 확장할 때는 파티션 생성, 파일 시스템 구성, 마운트 설정, /etc/fstab 등록까지 일련의 작업을 정확하게 수행해야 합니다. 이러한 과정에 익숙해야 서버를 안정적으로 운영하고 장애 발생 시 신속하게 대응할 수 있습니다.
디스크 파티션과 마운트는 Linux 서버를 운영하는 데 있어 가장 기본적이면서도 중요한 기술입니다. 파티션은 하나의 저장장치를 용도에 맞게 논리적으로 분할하여 관리할 수 있도록 해주며, 마운트는 생성된 파일 시스템을 운영체제의 디렉터리 구조에 연결하여 사용할 수 있게 해줍니다.
최신 서버 환경에서는 GPT 파티션 방식을 사용하는 것이 일반적이며, 저장장치는 UUID를 이용해 /etc/fstab에 등록함으로써 재부팅 후에도 안정적으로 자동 마운트되도록 구성하는 것이 권장됩니다. 또한 서비스 특성에 맞는 파티션 설계와 파일 시스템 선택은 서버의 성능과 안정성을 높이는 핵심 요소입니다.
시스템 엔지니어는 이러한 기본 원리를 이해하고, 저장장치의 추가와 확장, 파일 시스템 구성, 자동 마운트 설정, 디스크 사용량 관리까지 능숙하게 수행할 수 있어야 합니다. 이러한 역량은 안정적인 서버 운영과 장애 예방의 중요한 기반이 됩니다.
다음 글에서는 **컴퓨터 성능은 무엇으로 결정될까?**를 주제로, CPU, 메모리, 저장장치, GPU, 네트워크가 시스템 성능에 어떤 영향을 미치는지, 병목 현상(Bottleneck)은 왜 발생하는지, 그리고 실무에서 성능을 분석하고 최적화하는 방법에 대해 자세히 알아보겠습니다.