메뉴 닫기

가상화 디스크 복사 운영시 uuid 중복 문제 해결

가상화 서비스를 이용중 추가 디스크 사용하고 있고 백업후 같은 서버에 연결한다면
disk의 고유 uuid가 같게 나오는걸 확인할수 있습니다.

그로 인해 발생할수 있는 문제점은 리얼서버도 마찬가지겠지만 추가 디스크 서비스 제거시
리부팅후 mount point를 제대로 찾지 못하거나 uuid로 mount를 하지 못하는 문제점이 있습니다.

그럴 경우에 uuid를 변경하거나 장치명으로 mount를 걸어야 하며 하단에 해결 방법을
기술 하겠습니다.

  • disk 상태 확인

root@Ubuntu:~# blkid 
/dev/vda1: UUID="60da085a-3523-43a9-bbe9-b02ab28392b0" TYPE="ext4" PARTUUID="18761a7a-01"
/dev/vdb: UUID="0900cd46-3865-42ab-b57b-8356a009fea4" TYPE="ext4"
/dev/vdc: UUID="0900cd46-3865-42ab-b57b-8356a009fea4" TYPE="ext4"
# 디스크 vdb를 복사한 볼륨을 붙였더니 uuid가 같게 나온다.

root@Ubuntu:~# ll /dev/disk/by-uuid/
합계 0
drwxr-xr-x 2 root root  80 11월 28 09:15 ./
drwxr-xr-x 5 root root 100 11월 28 09:15 ../
lrwxrwxrwx 1 root root   9 11월 28 09:15 0900cd46-3865-42ab-b57b-8356a009fea4 -> ../../vdc
lrwxrwxrwx 1 root root  10 11월 28 09:15 60da085a-3523-43a9-bbe9-b02ab28392b0 -> ../../vda1
# 디스크 vdb가 보이지 않는다.

root@Ubuntu:~# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  981M     0  981M   0% /dev
tmpfs          tmpfs     201M  3.3M  197M   2% /run
/dev/vda1      ext4      4.8G  2.8G  1.8G  61% /
tmpfs          tmpfs    1001M     0 1001M   0% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs    1001M     0 1001M   0% /sys/fs/cgroup
tmpfs          tmpfs     201M     0  201M   0% /run/user/0
tmpfs          tmpfs     201M     0  201M   0% /run/user/1000
/dev/vdb       ext4      2.0G  3.0M  1.8G   1% /mnt

root@Ubuntu:~# fdisk -l
...
...
...
Disk /dev/vdb: 2 GiB, 2147483648 bytes, 4194304 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


Disk /dev/vdc: 4 GiB, 4294967296 bytes, 8388608 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
# fdisk로 보았을때 vdb를 복사하여 확장한 vdc가 보인다.

  • 해결 방법 1

root@Ubuntu:~# vi /etc/fstab 
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#                
# / was on /dev/vda1 during installation
UUID=60da085a-3523-43a9-bbe9-b02ab28392b0 /               ext4    errors=remount-ro 0       1
/dev/vdb        /mnt    ext4    defaults        1 1
/dev/vdc        /mnt1   ext4    defaults        1 1
# fstab 옵션을 uuid가 아닌 장치명으로 한다.
  하지만 디스크 제거후 리부팅시 mount point 및 디스크를 찾지 못하니 fstab에서 해당라인을
  지워주거나 주석 처리 해야한다.

  • 해결 방법 2

root@Ubuntu:~# tune2fs /dev/vdc -U 0900cd46-3865-42ab-b57b-8356a009fea5
tune2fs 1.42.13 (17-May-2015)

root@Ubuntu:~# ll /dev/disk/by-uuid/
합계 0
drwxr-xr-x 2 root root 100 11월 28 09:28 ./
drwxr-xr-x 5 root root 100 11월 28 09:15 ../
lrwxrwxrwx 1 root root   9 11월 28 09:28 0900cd46-3865-42ab-b57b-8356a009fea4 -> ../../vdb
lrwxrwxrwx 1 root root   9 11월 28 09:28 0900cd46-3865-42ab-b57b-8356a009fea5 -> ../../vdc
lrwxrwxrwx 1 root root  10 11월 28 09:15 60da085a-3523-43a9-bbe9-b02ab28392b0 -> ../../vda1
# tune2fs명령어로 uuid를 변경후 사용하며 fstab도 마찬가지로 uuid로 변경하면 된다.

  • disk 마운트된 상태에서 변경된 사이즈 적용

root@Ubuntu:~# resize2fs /dev/vdc
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/vdc is mounted on /mnt; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vdc is now 1048576 (4k) blocks long.
# resize2fs 명령어로 디스크 확장 된다.

root@Ubuntu:~# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
...
...
...
/dev/vdc       ext4      3.9G  4.0M  3.7G   1% /mnt

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x