LFCS 스토리지 핵심 개념
LVM, VFS, 파일시스템, 원격 스토리지, swap, autofs, 스토리지 성능을 시험 관점으로 정리한다
이 문서는 공식 Storage 7개 competency의 개념 층이다. 포맷·LVM·swap command를 실행하기 전에 실습 환경에서 OS disk와 폐기 가능한 보조 disk를 구분하고 snapshot 복원을 확인한다.
작성·검증 상태: AI가 구조화와 설명 초안을 보조했다. destructive command는 개념 예시이며, device·filesystem type·mount 상태를 실습 VM에서 다시 확인한 뒤 실행한다.
이 영역을 끝내는 순서
device → LVM/network block → filesystem/swap → VFS mount → application path계층을 설명한다.- 스토리지 안내형 lab에서 빈 disk와 2노드 fixture를 사용한다.
- 초기화한 뒤 영문 단계별 실전을 풀이 없이 수행한다.
- device 이름·size·filesystem type·mount option을 바꿔 다시 수행한다.
완료 기준은 mount 성공 한 번이 아니라 layer별 size·UUID·active state, fstab 재적용, 실제 read/write와 기존 disk 보존을 함께 증명하는 것이다.
이 문서는 LFCS 스토리지 공식 competency를 기준으로 한다. 장치명과 성능 수치는 환경마다 다르므로 계층을 먼저 식별하고 실제 출력으로 판단한다.
1) LVM (Logical Volume Management)
핵심 개념
- LVM은
물리 장치(PV) → 볼륨 그룹(VG) → 논리 볼륨(LV) → 파일시스템계층으로 설계한다. pvcreate는 장치 위 메타데이터 영역을 만들고,vgcreate가 물리 집합을 묶어 논리적 풀(pool)을 만든다.- LV 확장은
lvextend/lvresize로 먼저 볼륨 크기를 늘리고, 그다음 파일시스템에 맞는 확장 명령을 수행한다. - LV 이름 충돌·중복 마운트·오탐 장치 선택이 가장 흔한 실수다.
핵심 명령
lsblk -f,blkid,pvs,vgs,lvspvcreate /dev/sdX,vgcreate vg01 /dev/sdXlvcreate -L 5G -n lv_data vg01lvextend -L +2G /dev/vg01/lv_data,lvresize -l +100%FREE /dev/vg01/lv_datalvdisplay,vgdisplay,lvremove(삭제 전 대상·백업 확인)
검증
pvs,vgs,lvs로 PV/VG/LV의UUID, 크기, 사용률을 먼저 확인한다.lsblk -fp에서PV단말이 LV 마운트 경로와 어떻게 연결되는지 확인한다.- 변경 전후에
findmnt/mount | grep /dev/vg로 실제 마운트 대상을 점검한다.
실수/위험
- 대상 장치가 활성 파티션/루트 볼륨일 때 실수로
pvcreate적용 시 복구가 어렵다. extend전resize대상 파일시스템 타입별 절차를 생략하면 마운트 실패나 오염이 생길 수 있다.vgreduce/lvremove는 되돌리기 어려우므로 실습 전에 백업·스냅샷 정책을 둔다.
배포판 차이
- Rocky/RHEL은 LVM 명칭·버전이 비슷하지만 명령 세트는 동일하며, package 구성이 배포판마다 다를 수 있다.
- Debian/Ubuntu는
lvm2설치 상태와/etc/lvm/lvm.conf기본값 차이가 있을 수 있다.
2) VFS와 파일시스템 마운트 계층
핵심 개념
- VFS(Virtual Filesystem Switch)는 실제 파일시스템 종류와 무관하게 동일한 API를 커널에 제공한다.
- 장치 파일, 파티션, 파일시스템, 마운트 포인트의 대응을 정확히 알아야 장치 오식별을 줄인다.
UUID는 디바이스명(/dev/sda1)보다 마운트 안정성이 높아fstab에서 권장한다./proc/self/mounts,findmnt는 현재 마운트 트리를 정규화해 보여 준다.
핵심 명령
lsblk -o NAME,TYPE,SIZE,FSTYPE,UUID,MOUNTPOINTblkid,findmnt,findmnt -r /var,mount,findmnt -t ext4,xfsid -u,stat -c '%t:%T' /pathmount -a,mount -o rw,noatime /dev/... /mnt/testsystemctl daemon-reload(fstab/automount/유닛 연동 시)
검증
blkid와findmnt에서 UUID가 장치 식별과fstab엔트리와 일치하는지 확인한다.mountpoint -q /mnt/test로 마운트 상태를 검사하고,findmnt /mnt/test로 실제 소스-타입을 확인한다.systemctl또는 재부팅 없이 마운트만 변경한다면mount -a결과와 에러를 검토한다.
실수/위험
/etc/fstab에 잘못된 장치명이나 마운트 옵션을 넣으면 부팅이 지연되거나 emergency mode로 진입할 수 있다.rw권한 오용,discard오남용은 SSD/Thin provisioning에서 성능 저하를 유발한다.- 마운트 지점에 이미 파일이 존재할 때 강제 마운트하면 데이터 접근성이 바뀐다.
배포판 차이
systemd기반 배포판은 부팅 마운트 경로 정책이 엄격하고, 유닛 연동이 강하다.- Debian/Ubuntu 계열은 동일 mount 옵션도 기본 패키지 유무(
nfs-common,autofs,sysstat)에 따라 다르게 동작할 수 있다.nfs-utils는 Rocky/RHEL 계열 패키지명이다.
3) 파일시스템 (ext4 / XFS 비교 포함)
핵심 개념
- ext4는
e2fsck·resize2fs, XFS는xfs_repair·xfs_growfs처럼 점검·확장 도구가 다르다. - XFS는 마운트된 파일시스템을 확장할 수 있지만 일반적인 축소는 지원하지 않는다. ext4 축소는 가능하더라도 오프라인 작업과 여유 공간 확인이 필요하다.
mkfs는 포맷이므로 실운영 볼륨에는 사전 점검(마운트 해제/백업) 없이 사용하지 않는다.- 레이블(
e2label,xfs_admin -L)과UUID는 장기 안정성에 중요하다.
핵심 명령
mkfs.ext4 /dev/vg01/lv_data,mkfs.xfs /dev/vg01/lv_datablkid /dev/vg01/lv_data,e2label,xfs_admin -l /dev/...tune2fs -l /dev/...,xfs_info /dev/...,xfs_repair -n,e2fsck -fnresize2fs /dev/...,xfs_growfs /mountpoint
검증
blkid -o full과findmnt -o SOURCE,FSTYPE,UUID,TARGET으로 파일시스템 타입·UUID를 추적한다.- 신규 생성 파일시스템에서
fsck계열은 오프라인/읽기 전용 점검으로 사전 확인한다. - 마운트 후
df -hT,df -i로 타입별 용량/ inode 가용을 비교한다.
실수/위험
- XFS 파일시스템에 대해 ext4 복구 도구를 쓰면 데이터 손실 위험이 크다.
- XFS는 온라인 성장은 용이하나 shrink는 기본적으로 지원되지 않는다.
- ext4도 대용량에선
inode과소분할로df -i경고를 유발할 수 있다.
배포판 차이
- RHEL/Rocky는 기본적으로
xfsprogs와e2fsprogs가 같이 제공되는 경우가 많다. - Debian 계열은 버전별 도구 옵션(예: 디폴트 옵션 플래그) 차이가 있어 출력형식/동작 결과 비교가 필요하다.
4) 원격 파일시스템 / 네트워크 블록 디바이스
핵심 개념
- 원격 파일시스템: NFS는 파일 레벨 접근을 네트워크로 확장한다.
- iSCSI는 블록 레벨로 원격 LUN을 로컬 블록 장치처럼 다루며, 성능/보안/네트워크 경로에 더 민감하다.
- 네트워크 디바이스는 이름 기반 동적 탐색이 흔해
/etc/fstab에서UUID/영구 옵션이 안전하다.
핵심 명령
- NFS:
showmount -e,mount -t nfs -o rw,umount,exportfs rpcinfo -p,systemctl status nfs-server,systemctl restart nfs-server- iSCSI:
iscsiadm -m discovery -t sendtargets -p <ip>:<port>,iscsiadm -m node -T iqn..... -p <ip>:<port> --op update -n node.startup -v automatic,systemctl status iscsid,systemctl status iscsi multipath -ll(환경에 따라 다중 경로 사용 시)
검증
- NFS:
mount | grep nfs,showmount -e, 마운트한 경로에 테스트 파일 생성 가능 여부로 접근 권한을 본다. - iSCSI:
iscsiadm -m session,lsblk에서/dev/sdX로 세션이 인식됐는지 확인한다. - 두 경우 모두
dmesg | tail또는journalctl -u iscsid/journalctl -u nfs-server로 연결 오류를 추적한다.
실수/위험
- NFS의
root_squash와 client·server UID/GID 불일치를 이해하지 못하면 예상과 다른 권한 결과가 생길 수 있다. - iSCSI 로그인 전에 대상 LUN 경로를 잘못 지정하면 OS 디바이스가 충돌하거나 중복 마운트된다.
- 방화벽·route·MTU 문제는 timeout이나 세션 단절을 만들 수 있다.
stale file handle은 서버에서 export된 객체가 교체·삭제되는 등 파일 handle이 더 이상 유효하지 않을 때 별도로 진단한다.
배포판 차이
- RHEL 계열은
nfs-utils/iscsi-initiator-utils구성 관습이 명시적으로 드러난다. - Debian/Ubuntu는 패키지/서비스 이름, 기본 포트/방화벽 정책에 차이가 있어 설치/활성화 순서를 확인한다.
5) swap
핵심 개념
- swap은 메모리 압박 완화 목적의 보조 저장소이며
RAM 용량 대체가 아니다. swappiness,vm.swappiness,zswap정책은 워크로드별로 영향이 크다.- swap 파일과 swap 파티션/볼륨 중 어떤 방식이든
priority와 오염 범위를 관리해야 한다.
핵심 명령
free -h,swapon --show,cat /proc/swapsmkswap /dev/vg01/lv_swap,swapon /dev/vg01/lv_swapswapoff -a,swapon -a(점검 시 오프라인 순서 신중)fallocate -l 1G /swapfile; chmod 600 /swapfile; mkswap /swapfile; swapon /swapfile(파일시스템 지원 여부 확인)sysctl vm.swappiness
검증
free -h에서 swap 사용량/총량 추세를 확인한다.swapon --show --bytes로 위치·우선순위·크기를 확인한다./etc/fstab등록 시 부팅 후swapon -s를 재확인해 영구 적용 여부를 점검한다.
실수/위험
- 루트 디스크의 여유 공간이 부족한데 큰 swap 파일을 무리하게 생성하면
df경고를 악화시킨다. swapoff는 장시간 동작 프로세스에 영향을 줄 수 있으므로 유지보수 창에서 수행한다.- CoW 파일시스템 등에서는 swapfile 생성 방식과 지원 조건이 다를 수 있으므로 해당 파일시스템 문서를 확인한다.
배포판 차이
vm.swappiness, zswap과 cloud image의 기본 swap 구성은 배포판·이미지 정책에 따라 다르므로 현재 값을 먼저 확인한다.
6) automount(autofs)
핵심 개념
- autofs는 필요 시점에만 마운트를 수행하고, 사용 종료 후 자동 해제한다.
- 사용자 로그인 시점의 부팅 지연을 줄이거나 다수 NFS/NFSv4 마운트를 관리할 때 유리하다.
auto.master(맵 포인트) + 하위 맵(키/위치)이 핵심 구성이다.
핵심 명령
systemctl enable --now autofscat /etc/auto.master,cat /etc/auto.misc(예시)systemctl status autofs,systemctl restart autofssystemctl is-enabled autofs,automount,ls /net/sharedshowmount -e <nfs-server>(맵 대상 확인)
검증
systemctl is-active autofs와systemctl status autofs로 데몬 상태를 확인한다./etc/auto.master변경 후systemctl reload autofs로 반영한다.- trigger 경로 접근 전후를
findmnt로 비교하고, timeout 뒤 자동 해제되는지 확인한다.
실수/위험
browse용도로 민감 경로를 공통 맵에 넣으면 권한 노출 리스크가 증가한다.- 맵 파일 오타나 도달할 수 없는 원격 경로는 접근 지연을 만들 수 있다.
- 자동 해제 시간이 너무 짧으면 장기 session에서 불필요한 재마운트가 반복될 수 있다.
배포판 차이
- RHEL/Rocky는
autofs와 SELinux 연동 정책이 stricter한 편이라 context/서비스 허용을 함께 봐야 한다. - Debian 계열은 init 스크립트 체인보다 systemd 오버라이드가 빠르게 반영되는 경우가 있다.
7) storage 성능, 용량, inode, I/O 지표
핵심 개념
- 스토리지 이슈를 진단할 때는
용량(block)+inode+지연(latency)+활용률(util)을 함께 본다. iostat -xz의await,avgqu-sz,%util은 유효성이 높지만 하나만으로 결론내리면 안 된다.dmesg, journal, 프로세스별 I/O를 함께 보면 용량 부족인지, I/O 병목인지, 파일시스템 이상인지 구분된다.
핵심 명령
df -hT,df -i,du -xhd1 /varlsblk -o NAME,SIZE,ROTA,STATE,MODELiostat -xz 1 5,vmstat 1 5,pidstat -d 1 5lsof -a +L1 /var,findmnt -n /varsar -n DEV 1 5(네트워크/디바이스 동시 관측)
검증
df -hT와df -i를 함께 확인해 block 부족인지 inode 부족인지 먼저 구분한다.iostat -xz에서 대상 디바이스await상승과%util동시 상승 여부를 확인한다.pidstat -d로 높은 I/O를 쓰는 프로세스를 특정하고,findmnt범위를 한정해 디렉터리 집계를 한다.
실수/위험
- 높은
load average만 보고 디스크만 결론내리면 서비스 계층 병목을 놓친다. cache또는 서비스 재시작을 먼저 적용하면 원인 구분이 어렵다.- 임시 파일 생성으로 용량/inode를 즉시 채워
근거 없는 조치를 정당화할 수 있다.
배포판 차이
sysstat(iostat, pidstat, sar) 패키지 유무가 다르므로 기본 설치 여부를 먼저 본다.- XFS/ext의 공간/성능 특성이 같아 보여도 기본 마운트 옵션, 저널/알고리즘 정책이 배포판 정책에 따라 다를 수 있다.
정리 체크리스트
Storage 명령군의 시험형 점검 순서
lsblk/blkid/findmnt로 계층과 소스를 먼저 고정한다.- 대상이
마운트/스왑/원격인지 판단하고 변경 대상만 제한한다. - 읽기 전용 점검부터 수행하고, 변경 후
df,df -i,findmnt,journal로 증거를 남긴다. - 실수 위험이 큰 명령(
mkfs,pvcreate,lvremove,wipefs)은unmounted + 백업 확인 + 대상 확정후에만 수행한다.