Device Mapper(dm)는 리눅스 커널에서 다양한 기능을 제공하는 가상 디바이스 드라이버로, 주로 LVM(Logical Volume Manager)과 함께 사용된다. 이 글에서는 dm 장치의 구조와 주요 매핑 확인 방법을 단계적으로 설명한다. 특히 dm-0 장치의 매핑을 확인하는 과정을 예시로 들어 설명하겠다.
Device Mapper은 논리적인 블록 디바이스를 생성하고 관리할 수 있는 리눅스 커널의 구성 요소이다. LVM을 통해 논리 볼륨 그룹을 생성하고, DM을 이용해 디바이스 매핑을 수행할 수 있다. 이를 통해 디스크 공간을 동적으로 관리하고, 여러 디바이스를 하나의 논리적 디바이스로 묶어서 관리할 수 있도록 도와준다.
다음 명령어를 사용하여 dm-0 장치가 어떤 파일 시스템에 매핑되었는지 확인할 수 있다.
dm-0의 Major, Minor 번호 확인# cat /sys/block/dm-0/dev
253:0
253은 Major 번호, 0은 Minor 번호를 나타낸다. # dmsetup ls
rhel-swap (253:1)
rhel-root (253:0)
여기서 rhel-root가 dm-0에 매핑된 장치이다.
dmsetup info 명령어로 추가 정보 확인# dmsetup info
Name: rhel-root
State: ACTIVE
Read Ahead: 8192
Tables present: LIVE
Open count: 1
Major, minor: 253, 0
Number of targets: 2
UUID: LVM-PPMmfxYckWCeFSDlaZurFHKur7XoXz6ozFOFdXK0lKvXSKqrm8LS0ztEjO1y1ToD
이 명령어를 통해 장치 상태, Read Ahead 크기, UUID 등 다양한 정보를 확인할 수 있다.
cat /proc/partitions 명령어로도 확인 가능# cat /proc/partitions |grep dm-0
253 0 18866176 dm-0
여기서 dm-0 디바이스의 크기와 Major, Minor 번호를 다시 한 번 확인할 수 있다.
/sys/block/dm-0/slaves/ 경로에서 확인# ll /sys/block/dm-0/slaves/
합계 0
lrwxrwxrwx 1 root root 0 6월 2 17:47 vda2 -> ../../../../pci0000:00/0000:00:07.0/virtio2/block/vda/vda2
lrwxrwxrwx 1 root root 0 6월 2 17:47 vdb -> ../../../../pci0000:00/0000:00:0c.0/virtio7/block/vdb
dm-0은 vda2와 vdb 디바이스에 매핑되어 있는 것을 확인할 수 있다.
pvs 명령어를 사용해 물리 볼륨(PV) 정보 확인# pvs
PV VG Fmt Attr PSize PFree
/dev/vda2 rhel lvm2 a-- <9.00g 0
/dev/vdb rhel lvm2 a-- <10.00g 0
vda2와 vdb는 LVM으로 설정된 물리 볼륨이며, 모두 rhel이라는 볼륨 그룹(VG)에 속해 있다.Device Mapper(dm)를 사용하면 여러 논리 블록 디바이스를 유연하게 관리할 수 있다. 이번 글에서는 dm-0 장치가 어떤 파일 시스템과 디바이스에 매핑되어 있는지 확인하는 방법을 단계적으로 설명하였다. 이러한 매핑 정보를 이해하고 활용함으로써 LVM 기반 스토리지의 구조를 더 깊이 파악할 수 있다.