Ceph image 파일 내용 보기 (마운트)

리눅스/Ceph|2016. 9. 1. 08:24
반응형

1. 이미지 파일 속성 확인하기


본 매뉴얼에서의 테스트 파일은 test.img 이며, raw 포맷 파일입니다.

파일 속성 확인 하는 방법 은 아래와 같습니다.


# qemu-img info test.img

image: test.img

file format: raw

virtual size: 200M (209715200 bytes)

disk size: 200M    // 용량이 제대로 표시되지 않음


* 용량이 제대로 표시되지 않는 경우
이미지를 생성하면 용량이 정상적으로 출력되지만, 이미지 파일을 복사 (예: ftp 전송) 하였을 경우
용량 정보가 삭제 되는것으로 예상됩니다.

이럴 경우 아래와 같이 용량이 올바른 값으로 출력되게 할 수 있습니다. (그러나 별 의미 없음)


# qemu-img convert test.img -O raw tmp.img


# qemu-img info tmp.img

image: tmp.img

file format: raw

virtual size: 200M (209715200 bytes)

disk size: 2.6M    // 용량이 제대로 표시 되었음



2. XFS 파티션 이미지 마운트하기


# mkdir /sysdocu_test


# mount -o loop test.img /sysdocu_test


# df -h

Filesystem     Type      Size  Used Avail Use% Mounted on

devtmpfs       devtmpfs  3.9G     0  3.9G   0% /dev

tmpfs          tmpfs     3.9G   36M  3.9G   1% /dev/shm

tmpfs          tmpfs     3.9G  1.5M  3.9G   1% /run

tmpfs          tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup

/dev/sda2      ext4      110G   62G   43G  60% /

tmpfs          tmpfs     3.9G   64K  3.9G   1% /tmp

/dev/sdb1      ext4       74G  3.4G   67G   5% /2ND-DISK

tmpfs          tmpfs     799M   12K  799M   1% /run/user/42

tmpfs          tmpfs     799M   32K  799M   1% /run/user/1000

/dev/loop0     xfs       190M   88M  102M  47% /sysdocu_test


# ll /sysdocu_test

합계 70000

-rw-r--r-- 1 root root 10240000  8월 31 16:08 testfile

-rw-r--r-- 1 root root 10240000  8월 31 16:09 testfile2

-rw-r--r-- 1 root root 10240000  8월 31 16:17 testfile3

-rw-r--r-- 1 root root 10240000  8월 31 16:30 testfile4

-rw-r--r-- 1 root root 10240000  8월 31 16:41 testfile5

-rw-r--r-- 1 root root 10240000  8월 31 17:05 testfile6

-rw-r--r-- 1 root root 10240000  8월 31 17:06 testfile7



3. EXT4 파티션 이미지 마운트하기


(ext4 테스트 파일명 : 215_43_snap.img / raw 포맷)


# mkdir /sysdocu_test2

# mount -o loop 215_43_snap.img /sysdocu_test2    // -t ext4 옵션을 추가해 주어도 마찬가지
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

# fdisk -u -l 215_43_snap.img
Disk 215_43_snap.img: 200 MiB, 209715200 bytes, 409600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xcc803d7c

Device           Boot Start    End Sectors   Size Id Type
215_43_snap.img1         63 401624  401562 196.1M 83 Linux

위에서 출력되는 sector 값과 Start 값을 곱합니다.

512 * 63 = 32256    // 결과값 32256 확인 (offset 옵션으로 사용)

* 참고
이미지안에 파티션이 1개일경우 대부분 offset 값이 32256 이나,
파티션이 여러개일 경우, 반드시 확인하고 계산해야 마운트가 가능합니다.

# mount -o loop,offset=32256 215_43_snap.img /sysdocu_test2

# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  3.9G     0  3.9G   0% /dev
tmpfs          tmpfs     3.9G   93M  3.9G   3% /dev/shm
tmpfs          tmpfs     3.9G  1.5M  3.9G   1% /run
tmpfs          tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda2      ext4      110G   60G   45G  58% /
tmpfs          tmpfs     3.9G   76K  3.9G   1% /tmp
/dev/sdb1      ext4       74G  3.4G   67G   5% /2ND-DISK
tmpfs          tmpfs     799M   12K  799M   1% /run/user/42
tmpfs          tmpfs     799M   24K  799M   1% /run/user/1000
/dev/loop0     xfs       190M   98M   92M  52% /sysdocu_test
/dev/loop1     ext4      186M  146M   27M  85% /sysdocu_test2


※ loop device 를 내 마음대로 지정하고 싶은 경우

# mount -o loop=/dev/loop7,offset=32256 215_43_snap.img /sysdocu_test2

혹시 시스템에 /dev/loop7 이름의 loop device 가 없을 경우 아래와 같이 생성해주면 됩니다.

# mknod -m 660 /dev/loop7 b 7 7
(설명)
-m 660 : 권한 (permission) 설정
/dev/loop8 : 생성할 특수 파일명
b : block device                            // 고정
7 : device type(7 is loop device)    // 고정
7 : id                                            // 장치명(파일명)과 id 만 신경써서 바꿔주면 됩니다.
                                                       (장치명 loop 숫자와 동일하게 하면 깔끔)
                                                       # mknod -m 660 /dev/loop8 b 7 8
                                                       # mknod -m 660 /dev/loop9 b 7 9

# ll /dev/loop*
crw-rw---- 1 root disk 10, 237  9월  1 09:28 /dev/loop-control
brw-rw---- 1 root disk  7,   0  9월  1 09:39 /dev/loop0
brw-rw---- 1 root disk  7,   1  9월  1 11:21 /dev/loop1
brw-rw---- 1 root root  7,   7  9월  1 11:31 /dev/loop7

# mount -o loop=/dev/loop7,offset=32256 215_43_snap.img /sysdocu_test2

# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G   38M  3.9G   1% /dev/shm
tmpfs           3.9G  1.5M  3.9G   1% /run
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda2       110G   60G   45G  58% /
tmpfs           3.9G   76K  3.9G   1% /tmp
/dev/sdb1        74G  3.4G   67G   5% /2ND-DISK
tmpfs           799M   12K  799M   1% /run/user/42
tmpfs           799M   24K  799M   1% /run/user/1000
/dev/loop0      190M   98M   92M  52% /sysdocu_test
/dev/loop7      186M  146M   27M  85% /sysdocu_test2


반응형

댓글()