우분투 스토리지 정리 끝판왕! blkdeactivate 실전 활용 가이드

개요

복잡하게 얽힌 LVM, 디바이스 매퍼, 마운트된 블록 장치를 안전하고 깔끔하게 해제하는 blkdeactivate 명령어의 핵심을 다룹니다. man 페이지 대신 실제 루프 디바이스와 LVM 환경을 직접 구축하고 비활성화해보며 실무 감각을 익힙니다.

1. 실습 환경 준비 및 blkdeactivate 기본 동작 확인

blkdeactivate 유틸리티와 스토리지 관리 도구를 사용하기 위해 lvm2 및 util-linux 패키지를 설치합니다.

sudo apt-get update -qq && sudo apt-get install -y lvm2 util-linux

blkdeactivate 명령어는 LVM, DM, 마운트 지점 등이 복잡하게 얽힌 블록 디바이스 트리를 한 번에 비활성화하고 정리하는 도구입니다.
도움말 옵션을 실행하여 지원하는 기능과 사용법을 확인합니다.
⚙️ [주요 옵션]

-e (--errors) : 내부 도구 실행 중 발생한 오류 메시지를 화면에 출력합니다.
-u (--umount) : 블록 디바이스가 마운트되어 있는 경우 마운트 해제(umount)를 함께 진행합니다.
-d (--dmoptions) : Device Mapper 관련 동작 제어 옵션을 지정합니다.
-l (--lvmoptions) : LVM 볼륨 비활성화 동작에 적용할 옵션을 쉼표로 구분하여 지정합니다.
-m (--mpathoptions) : 다중 경로 입출력(Multipath) 장치와 관련된 제어 옵션을 설정합니다.
-r (--mdraidoptions) : 소프트웨어 RAID(MD RAID) 장치에 적용할 비활성화 옵션을 지정합니다.
-h (--help) : 명령어 도움말과 사용 가능한 옵션 목록을 출력합니다.

blkdeactivate –help | head -n 20

lsblk 명령어를 실행하여 현재 시스템에 연결된 블록 디바이스의 계층 구조와 마운트 상태를 확인합니다.
본격적인 실습 진행에 앞서 기본 디스크 파티션 구성을 점검합니다.

lsblk

2. 가상 스토리지(Loop & LVM) 및 마운트 환경 구축

실습용 마운트 디렉터리를 생성하고 가상 디스크로 사용할 100MB 크기의 이미지 파일을 만듭니다.

sudo mkdir -p /mnt/blk_test && dd if=/dev/zero of=/tmp/testdisk.img bs=1M count=100 status=none

생성한 이미지 파일을 빈 루프 디바이스에 연결한 뒤 LVM 물리 볼륨(PV), 볼륨 그룹(VG), 논리 볼륨(LV)을 순차적으로 생성합니다.

LOOP_DEV=$(sudo losetup -f –show /tmp/testdisk.img) && sudo pvcreate -y $LOOP_DEV && sudo vgcreate test_vg $LOOP_DEV && sudo lvcreate -y -l 100%FREE -n test_lv test_vg

생성한 LVM 논리 볼륨에 ext4 파일시스템을 생성하고 지정한 마운트 디렉터리(/mnt/blk_test)에 연결합니다.

sudo mkfs.ext4 -F /dev/test_vg/test_lv > /dev/null 2>&1 && sudo mount /dev/test_vg/test_lv /mnt/blk_test

df 및 lsblk 명령어를 실행하여 논리 볼륨이 정상적으로 포맷되어 마운트되었는지 상태를 점검합니다.

df -h /mnt/blk_test && lsblk /dev/test_vg/test_lv

3. 시뮬레이션 모드(테스트 실행)로 영향도 사전 점검

-u 및 -d 옵션을 지정하여 대상 논리 볼륨(/dev/test_vg/test_lv)에 대해 비활성화 작업을 시뮬레이션합니다.
지원되지 않는 옵션이 전달되거나 장치 경로가 올바르지 않은 경우 안내 메시지가 출력되며 실제 작업은 진행되지 않습니다.

sudo blkdeactivate -u -d test /dev/test_vg/test_lv

df 명령어를 실행하여 앞선 시뮬레이션 동작 후에도 실습용 마운트 지점(/mnt/blk_test)의 마운트 상태에 영향이 없는지 확인합니다.

df -h | grep blk_test

4. 실전 일괄 언마운트 및 블록 디바이스 안전 비활성화

-u 및 -v 옵션을 지정하여 대상 논리 볼륨(/dev/test_vg/test_lv)에 마운트된 파일시스템을 언마운트하고 블록 디바이스 비활성화를 시도합니다.
장치 경로가 이미 비활성화되었거나 해제된 상태인 경우 해당 장치를 찾을 수 없다는 메시지가 출력됩니다.

sudo blkdeactivate -u -v /dev/test_vg/test_lv

mountpoint 명령어를 실행하여 실습용 디렉터리(/mnt/blk_test)의 마운트가 정상적으로 해제되었는지 검증합니다.

mountpoint /mnt/blk_test || echo ‘정상적으로 언마운트되었습니다.’

lvdisplay 명령어로 논리 볼륨의 현재 활성화 상태(LV Status)를 확인합니다.
디바이스가 완전히 비활성화되어 조회 결과가 출력되지 않는 것을 확인할 수 있습니다.

sudo lvdisplay test_vg/test_lv | grep ‘LV Status’

실습을 위해 생성했던 볼륨 그룹, 루프 디바이스, 가상 디스크 이미지 및 마운트 디렉터리를 순차적으로 삭제하여 테스트 환경을 정리합니다.

sudo vgremove -y test_vg && sudo losetup -d $(losetup -j /tmp/testdisk.img | cut -d: -f1) && rm -f /tmp/testdisk.img && sudo rmdir /mnt/blk_test

지금까지 우분투에서 복잡하게 얽힌 스토리지 장치를 안전하고 깔끔하게 해제하는 blkdeactivate 명령어의 실전 활용법을 살펴보았습니다.
안전한 언마운트와 비활성화 과정을 자동화하여 시스템 스토리지 관리의 안정성을 한층 높여보세요.