LFCS 스토리지 실습

공식 Storage 7개 competency를 기준으로 한 독립 연습 시나리오


이 과제는 실제 시험문항이 아니다. LFCS 공식 범위를 기준으로 독자적으로 만든 연습 시나리오이다. 모든 실습은 테스트/폐기 가능한 디스크 전제에서 수행한다. 운영 OS 디스크(/, /home, 데이터 볼륨 등)는 명시적으로 unmounted/백업 확인 없이 건드리지 않는다.

작성·검증 상태: AI가 문제·풀이 구조화를 보조했다. NFS·iSCSI는 연결된 fixture가 필요하고, 전체 storage 시나리오를 동일 VM에서 연속 검증한 상태는 아니다.

NFS와 iSCSI를 실제로 연결하려면 먼저 2노드 실습 서비스를 준비한다. 아래 주소·IQN은 그 fixture와 일치하며, 다른 lab을 사용하면 제공된 값으로 치환한다.

1) LVM: PV/VG/LV 계층 구성과 검증

문제

비운영용 디스크 1개를 대상으로 PV를 만들고 VG/LV를 구성한 뒤 파일시스템을 마운트하고 해제한다.

완료 조건

  • pvs, vgs, lvs에서 각 객체가 정상 인식된다.
  • lsblk에서 LVM 장치가 단일 LV로 연결되어 보인다.
  • mount 후 findmnt에서 기대 마운트 지점이 확인된다.

안전 주의

  • lsblk -f로 대상이 실운영 파티션이 아닌지 확인한다.
  • pvcreate, vgcreate, lvcreate 전에 장치명·크기·기존 파일시스템을 다시 확인하고, 삭제 명령(lvremove, vgremove, pvremove)은 실습 완료 후 별도 정리 단계에서만 수행한다.
풀이 예시
lsblk -f
pvcreate /dev/sdb
vgcreate vg_lab /dev/sdb
lvcreate -L 2G -n lv_data vg_lab
mkfs.xfs /dev/vg_lab/lv_data
mkdir -p /mnt/lvm-lab
mount /dev/vg_lab/lv_data /mnt/lvm-lab
mount | grep "/mnt/lvm-lab"
findmnt -n /mnt/lvm-lab
pvs
vgs
lvs -a -o +devices
umount /mnt/lvm-lab
완료 판단:
- pvcreate/vgcreate/lvcreate 출력에 오류 없음
- /dev/vg_lab/lv_data가 /mnt/lvm-lab에 마운트
- pvs/vgs/lvs가 동일 객체 계층 보여줌

2) VFS와 마운트/UUID/fstab

문제

UUID 기반으로 마운트 항목을 준비하고 mount -a로 부팅성 전환 검증 과정을 실습한다.

완료 조건

  • 장치 UUID를 기준으로 /etc/fstab에 항목을 추가한다.
  • mount -a 실행 시 에러 없이 동작한다.
  • findmnt에서 대상 경로가 의도대로 UUID 기준으로 마운트된다.

안전 주의

  • fstab 수정 전 반드시 현재 마운트 상태를 기록한다.
  • 부팅 중 장애를 막기 위해 nofail, x-systemd.automount 등 필요 시 보수적으로 사용한다.
풀이 예시
lsblk -o NAME,UUID,FSTYPE,SIZE,MOUNTPOINT
blkid /dev/vg_lab/lv_data
mkdir -p /srv/storage-lab

# /etc/fstab 보강 (실습 전/후 백업 필수)
cp /etc/fstab /etc/fstab.bak.$(date +%s)
cp /etc/fstab /etc/fstab.new
echo "UUID=$(blkid -s UUID -o value /dev/vg_lab/lv_data) /srv/storage-lab xfs defaults 0 0" >> /etc/fstab.new
mv /etc/fstab.new /etc/fstab

umount /mnt/lvm-lab 2>/dev/null || true
mount -a
findmnt -n /srv/storage-lab
완료 판단:
- blkid UUID와 fstab UUID가 일치
- mount -a에서 오류 없음
- findmnt에서 의도 마운트 경로 확인

3) 파일시스템: ext4/XFS 실무 차이 검증

문제

VG의 남은 공간에 ext4와 XFS용 512MiB LV를 각각 만든 뒤, 읽기 전용 점검·크기 확인·기본 메타데이터 확인 과정을 구분해 수행한다.

완료 조건

  • ext4와 XFS 각각의 장치/타입이 구분되어 확인된다.
  • tune2fs와 xfs_info 결과를 통해 현재 타입/옵션 차이를 기술할 수 있다.
  • 실습 볼륨에서 fsck 계열 점검을 읽기 전용으로 안전하게 수행한다.

안전 주의

  • mounted 상태에서 강제 복구를 수행하지 않는다.
  • XFS와 ext4를 섞어 적용하는 명령을 실수로 실행하지 않는다.
풀이 예시
lvcreate -L 512M -n lv_ext4 vg_lab
lvcreate -L 512M -n lv_xfs vg_lab
mkfs.ext4 /dev/vg_lab/lv_ext4
mkfs.xfs /dev/vg_lab/lv_xfs

blkid /dev/vg_lab/lv_ext4 /dev/vg_lab/lv_xfs
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT \
  /dev/vg_lab/lv_ext4 /dev/vg_lab/lv_xfs
tune2fs -l /dev/vg_lab/lv_ext4 | head -n 20
xfs_info /dev/vg_lab/lv_xfs

fsck.ext4 -n /dev/vg_lab/lv_ext4
xfs_repair -n /dev/vg_lab/lv_xfs
완료 판단:
- 타입별 메타데이터 항목 차이 점검
- 읽기 전용 검사 성공
- 장치 선택 규칙을 명시적으로 설명 가능

4) 원격 파일시스템 / 네트워크 블록(NFS+iSCSI) 실습

문제

NFS 공유 마운트 절차와 iSCSI 대상 확인 절차를 분리해 연습한다. iSCSI target은 iqn.2026-08.example.lab:storage.lun0, portal은 192.168.56.12:3260으로 준비되어 있다고 가정한다.

완료 조건

  • NFS의 대상 서버 export 목록을 조회하고, 마운트 상태를 확인한다.
  • iSCSI 디스커버리/로그인/세션 목록 확인 절차를 문서화한다.
  • 각 절차에서 실패 시점의 증거를 로그로 남긴다.

안전 주의

  • 실습 서버 정보는 테스트 네트워크에서만 사용한다.
  • 라벨/방화벽/네트워크 경로를 사전 점검하지 않은 채 마운트 강제 요청을 하지 않는다.
풀이 예시
showmount -e 192.168.56.12
mkdir -p /mnt/nfs-lab
mount -t nfs -o vers=4 192.168.56.12:/srv/nfs/projects /mnt/nfs-lab
mount | grep '/mnt/nfs-lab'
umount /mnt/nfs-lab

systemctl status iscsid
iscsiadm -m discovery -t sendtargets -p 192.168.56.12:3260
iscsiadm -m node -T iqn.2026-08.example.lab:storage.lun0 -p 192.168.56.12:3260 --login
iscsiadm -m session
lsblk
완료 판단:
- NFS showmount/수동 마운트/해제 흐름 정합성 확보
- iSCSI discovery/session이 정상 조회
- 마운트 실패 시 점검 포인트 로그 확보

5) swap 구성 및 운영

문제

swap 파티션(LV)/swapfile 중 한 가지로 swap를 등록하고, 부팅 후 영구 적용 여부를 확인한다.

완료 조건

  • swapon --show에서 등록 항목이 보인다.
  • free -h에서 swap 총량이 반영된다.
  • /etc/fstab 기반 자동 활성화가 동작한다.

안전 주의

  • 스왑 설정 후 swapon -s/free -h를 통해 오남용 여부를 먼저 확인한다.
  • 루트 파티션 공간이 임계치일 때는 swapfile을 과도하게 늘리지 않는다.
풀이 예시
lvcreate -L 1G -n lv_swap vg_lab
mkswap /dev/vg_lab/lv_swap
swapon /dev/vg_lab/lv_swap
swapon --show --bytes
free -h

cp /etc/fstab /etc/fstab.bak.$(date +%s)
echo "UUID=$(blkid -s UUID -o value /dev/vg_lab/lv_swap) none swap defaults 0 0" >> /etc/fstab
swapoff /dev/vg_lab/lv_swap
swapon -a
swapon --show
완료 판단:
- swapon --show에 lv_swap 등록
- reboot 없이도 free -h 변화 확인
- fstab 반영 후 `swapoff`·`swapon -a` 재적용에도 활성화

6) automount 자동 마운트 구성

문제

autofs를 사용해 공유 경로를 필요 시 자동 마운트하도록 설정한다.

완료 조건

  • autofs 서비스가 활성화/실행된다.
  • /etc/auto.master 또는 대체 맵 변경 후 systemctl reload autofs가 반영된다.
  • 접근 시점에 경로가 마운트되고 비활성 시점에서 분리되는 동작을 확인한다.

안전 주의

  • 민감 경로를 공용 맵에 넣지 않는다.
  • 맵 파일에서 와일드카드 패턴/문자열 인코딩을 엄격히 확인한다.
풀이 예시
systemctl enable --now autofs
systemctl status autofs
grep -n 'auto.master.d' /etc/auto.master
install -d -m 755 /etc/auto.master.d
cat > /etc/auto.master.d/lfcs.autofs <<'EOF'
/net /etc/auto.lfcs --timeout=60
EOF
cat > /etc/auto.lfcs <<'EOF'
lab -fstype=nfs4,ro 192.168.56.12:/srv/nfs/projects
EOF
systemctl reload autofs
findmnt /net/lab || true
ls /net/lab
findmnt /net/lab
# 60초 이상 사용하지 않은 뒤 findmnt /net/lab로 자동 해제 확인

/etc/auto.master에 auto.master.d include가 없다면 원본을 백업하고 /net /etc/auto.lfcs --timeout=60 항목을 기존 master에 추가한다. 파일 전체를 덮어쓰지 않는다.

완료 판단:
- autofs 서비스 active
- auto.master.d include와 전용 맵 파일 구문 반영
- 접근 시점에 경로가 자동 마운트/해제되는 동작 관측

7) storage 성능·용량·inode/I/O 분석

문제

디스크 병목의 원인을 용량/ inode / I/O 지표 / 프로세스 사용량으로 분리해 판별한다.

완료 조건

  • df -hT와 df -i로 block/inode 상태를 분리 기록한다.
  • iostat -xz로 대상 디바이스 지연/활용률/처리량을 확인한다.
  • pidstat -d 또는 lsof +L1로 고부하 프로세스 또는 삭제된 열린 파일 후보를 확인한다.

안전 주의

  • 분석 직후 강제 캐시 삭제나 대량 파일 삭제를 하지 않는다.
  • df/du 출력이 불일치해도 즉시 조치하지 말고 마운트 경계부터 확인한다.
풀이 예시
date
hostname
df -hT / /var /srv/storage-lab
df -i / /var /srv/storage-lab
findmnt -o TARGET,SOURCE,FSTYPE /srv/storage-lab
du -xhd1 /srv/storage-lab | sort -h | tail -n 10

iostat -xz 1 5
vmstat 1 5
pidstat -d 1 5
lsof +L1
완료 판단:
- 블록 부족/ inode 부족 구분
- await/util 조합으로 I/O 병목 근거 제시
- 프로세스별 사용량과 삭제 파일 잔존 여부를 함께 제시

공통 안전 규칙

  • 실습은 모두 임시 디스크/볼륨에서만 수행하고, OS 디스크는 백업·마운트 확인 후 건드린다.
  • 각 과제는 시작 전에 date, hostname, lsblk, 대상 명령 출력 1회 이상 캡처한다.
  • 실패한 명령은 즉시 재실행하지 말고 에러 텍스트를 분석한 뒤 다음 단계로 넘어간다.

참고 자료