작업의 흐름은 위 포스팅을 참고하기 바란다.
지금 포스팅은 xfs grug2 를 사용하는 사용자를 위한 포스팅이다.
amazon linux2 에 소스(xvdg)와 대상(xvdf)볼륨을 연결한다.
디렉토리를 생성하고
# mkdir /mnt/new
# mkdir /mnt/org
파티션을 생성하고
# fdisk /dev/nvme1n1
파일시스템을 생성하고
# mkfs.xfs -f /dev/nvme1n1p1
마운트한다
# mount -t xfs /dev/xvdf1 /mnt/new
# mount -t xfs /dev/xvdg1 /mnt/org
rsync 로 데이터를 복사해주고
# rsync -av /mnt/org/* /mnt/new
싱크가 끝나면 마운트한 경로로 이동한다.
# cd /mnt/new
그리고 blkid 를 이용하여 UUID 를 확인한다.
/dev/nvme1n1: PTUUID="9986d28e" PTTYPE="dos"
/dev/nvme1n1p1: LABEL="/" UUID="030df8fc-fb40-4ba6-af3e-662df2f52270" TYPE="xfs" PARTUUID="9986d28e-01"
/dev/nvme0n1: PTUUID="83181c97-6d5e-43c9-9ede-e2f50ead5338" PTTYPE="gpt"
/dev/nvme0n1p1: LABEL="/" UUID="55da5202-8008-43e8-8ade-2572319d9185" TYPE="xfs" PARTLABEL="Linux" PARTUUID="591e81f0-99a2-498d-93ec-c9ec776ecf42"
/dev/nvme0n1p128: PARTLABEL="BIOS Boot Partition" PARTUUID="4908ae49-9d5b-423e-a23c-a507a47bacf5"
일반적으론 UUID가 있을거지만.. 그경우엔 UUID 를 넣어주자.
# xfs_admin -U 'uuidgen' /dev/xvdf1
명령어로 UUID 생성해서 넣어줄수 있다. UUID 가 보인다면 new / org 변수에 UUID 를 export 해주자 UUID 는 사람마다 다들테니 각각 잘확인해서 복붙하자.
# export new=’3a26abfe-67eb-49e4-922a-73f6cd132402’
# export org=’781f875d-4262-4f01-ba72-d6bd123785f5’
# sed -i -e "s/$org/$new/g" etc/fstab
# sed -i -e "s/$org/$new/g" boot/grub2/grub.cfg
# mount -B /dev dev
# mount -B /proc /proc
# mount -B /sys sys
# chroot .
위 명령어를 치면 /mnt/new 경로에서 지정한 UUID 로 fstab 안의 UUID를 변경하고 grub.cfg 안의 UUID 또한 자동으로 치환해줄거다. 그런다음 3개의 경로를 bind mount 하고 현재위치에서 chroot . 를 치면 chroot 가 현재위치로 변경된다.
# grub2-install /dev/xvdf
chroot 가 정상적으로 먹는다면 볼륨을 변경하면 정상적으로 잘부팅된다.
테스트 해보고 꼭 작업하길 바란다.
수고하시라!
잘 읽고 갑니다
좋은 소식이 있습니다.
joh-eun sosig-i issseubnida.
이게-_- 뭐에요 낚였네.. 이미지 만들기로 축소가 가능하다는 이야긴줄알았는데 전혀아님...
안녕하세요 정말 필요한 글이었는데 잘 봤습니다!
그런데 마지막 grub2-install /dev/new볼륨 을 입력했을 때
어떻게 나와야 정상인건가요?... 구글링으로는
Installation finished. No error reported. 이거 한줄만 나오면 되는거 같던데...
/proc/devices: fopen failed: No such file or directory
이런 오류를 겪으면 무언가 잘못 된거죠? ㅠ
이 상태에서 reboot을 하려고하면 Failed to talk to init daemon. 이라고 나오거든요..ㅠㅠ