DD 명령을 이용하거나 cat 을 이용하여 disk 클론을 뜰 경우 혹은 클라우스 서버에서 스냅샷을 이용하여 볼륨으로 환원한 뒤에 마운트를 한 경우
한 서버에 두개 UUID가 존재하게 되어 가끔 곤란한 상황이 올 수 있다.
기술적인 측면에서 한 서버에서 UUID는 겹치게 발급되어 있으면 안된다.
디스크의 UUID 는 서버내에서 blkid 명령어로 확인할 수 있다.
1 2 3 |
~]# blkid /dev/sda1: UUID="4153a527-0921-4243-9966-5754836231d3" TYPE="ext4" /dev/sdb1: UUID="4153a527-0921-4243-9966-5754836231d3" TYPE="ext4" |
위와 같이 완벽히 같다면 부팅 단계에서 부터 꼬여서 문제가 발생 할 수 있다 ‘ㅅ’a
때문에 부득이 하게 Clone 을 사용한 경우 각 파티션의 UUID를 변경 해줘야 한다.
UUID 는 uuidgen 이란 명령어로 쉽게 만들 수 있다.
1 2 |
~]# uuidgen 08dfe0ac-4b11-4f53-9643-e97e0fac0810 |
각 파티션에 적용은 tune2fs 명령어의 -U 옵션으로 교체가 가능하다.
1 |
~]# tune2fs /dev/sdb1 -U `uuidgen` |
역 따옴표 안의 명령어거 먼저 실행되기 때문에 위명령어로 즉시 바꿀수 있다.
변경후 blkid 명령어로 변경이 정상적으로 되었는지 재 확인 한다 ‘ㅅ’a
swap 파티션의 경우 tune2fs 가 아닌 mkswap 명령어로 변경한다.
1 2 3 4 |
~]# mkswap /dev/sdb8 -U `uuidgen` ~]# swapoff ~]# swapon /dev/sdb8 |
swap 파티션이 이미 마운트 된 상황에서는 UUID변경이 되지 않기 때문에 swapom, swapoff 명령어로 마운트를 해제하고 진행한 뒤에 재 마운트를 한다.
PS. tune2fs 명령어는 ext2~4 의 uuid 를 변경 할 수 있다.
xfs 파일 시스템은 아래의 명령어로 uuid 변경을 진행한다.
1 2 3 4 |
~]# xfs_admin -U `uuidgen` /dev/sdd1 Clearing log and setting UUID writing all SBs new UUID = e1c599ea-43b7-4423-a4ef-2747ebbd8993 |
좋은 포스팅 공개 감사드립니다.
혹시 xfs 파티션은 UUID 변경이 불가능한지요?
이런 에러메시지가 발생을 하네요. ㅠ
tune2fs 1.42.9 (28-Dec-2013)
tune2fs: Bad magic number in super-block while trying to open /dev/sda3
Couldn’t find valid filesystem superblock
tune2fs 는 ext2 ~ ext4 의 uuid 를 변경하는 명령어 입니다. xfs 부분은 글 내용에 추가하도록 할께요 🙂