첫 시도

첫 시도

내 Debian 10(buster) XEN 호스트에서 Debian jessie를 사용하여 LVM 스냅샷의 Xen-VM을 새 xen 게스트에 복사하고 부팅을 시도했습니다. 이것이 내가 한 일입니다:

xen VM을 복사하여 메일 서버의 dist 업그레이드 테스트

첫 시도

새 컴퓨터를 만들고 xen-create-imagersync를 통해 모든 파일을 덮어썼습니다.

이제 다음 오류가 표시됩니다.

libxl: error: libxl_bootloader.c:649:bootloader_finished: Domain 35:bootloader failed - consult logfile /var/log/xen/bootloader.35.log

$ cat /var/log/xen/bootloader.35.log
Traceback (most recent call last):
  File "/usr/lib/xen-4.11/bin/pygrub", line 882, in <module>
    raise RuntimeError, "Unable to find partition containing kernel"
RuntimeError: Unable to find partition containing kernel

올바른 부트로더를 다시 만들어야 합니까?

아니면 스냅샷을 새 이미지로 재동기화할 때 특정 파일을 제외해야 합니까?


고쳐 쓰다:

나는 또한 이것을 시도했습니다 :

새로 설치된 시스템에 chroot를 실행합니다.

mount /dev/vg0/vm01.mail-test-disk /media/vm01.mail-test-disk/
mount -t proc none /media/vm01.mail-test-disk/proc
mount --rbind /dev /media/vm01.mail-test-disk/dev
mount -t sysfs sysfs /media/vm01.mail-test-disk/sys
chroot /media/vm01.mail-test-disk/ /bin/bash

chroot 쉘에서:

apt install grub-pc

--> 요청 시 /dev/dm-33(622770MB; vg0-vm01.mail--test--disk)을 선택하고 계속 진행합니다. 그러나 실패하는 것 같습니다.

update-grub

새로운 오류:

$ umount -l /media/vm01.mail-test-disk
$ xen create /etc/xen/vm01.mail-test.cfg

Parsing config from /etc/xen/vm01.mail-test.cfg
libxl: error: libxl_aoutils.c:478:libxl__openptys: openpty failed: No such file or directory
libxl: error: libxl_utils.c:1128:libxl__recvmsg_fds: recvmsg got EOF (ptys)
libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: openpty child [20919] exited with error status 255
libxl: error: libxl_create.c:1267:domcreate_rebuild_done: Domain 37:cannot (re-)build domain: -3
libxl: error: libxl_domain.c:1034:libxl__destroy_domid: Domain 37:Non-existant domain
libxl: error: libxl_domain.c:993:domain_destroy_callback: Domain 37:Unable to destroy guest
libxl: error: libxl_domain.c:920:domain_destroy_cb: Domain 37:Destruction of domain failed

grub-xen대신 시도해 보았지만 grub-pc동일한 오류가 발생했습니다.

Parsing config...다른 이미지를 만들 때도 항상 같은 오류가 발생합니다.

 xen create /etc/xen/...cfg

처음부터 다시 시작했는데 이번에는 중요한 폴더를 제외하고

rsync -aAX --del --info=progress2 /media/vm01.mail-disk-snapshot/ /media/vm01.mail-test-disk/ --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/boot/*,/var/tmp/*,/var/cache/*,/usr/tmp/*}

오류 메시지는 표시되지 않지만 VM에 액세스할 수 없습니다.

$xen create /etc/xen/vm01.mail-test.cfg

Parsing config from /etc/xen/vm01.mail-test.cfg

$xl console vm01.mail-test

xenconsole: Could not read tty from store: Success

xentop새로 생성된 VM의 CPU 사용량을 99%로 표시합니다.

솔루션의 이 부분은 다음과 같습니다.

/dev 폴더를 마운트하여 실행 중인 Dom0 Xen 호스트 시스템을 중단한 것을 발견했습니다.

mount --rbind /dev /media/vm01.mail-test-disk/dev

chroot새 가상 머신 편집 용 (이봐). 수정된 /dev를 재부팅하고 --bind이를 사용하여 오류가 반복되는 것을 방지합니다.


업데이트 2:

나는 다시 시도했다포맷된rsync를 시작하기 전의 볼륨이므로 제외된 폴더는 비어 있고 Debian 시스템을 부팅하기 위한 콘텐츠가 포함되어 있지 않습니다.

mkfs.ext4 /dev/vg0/vm01.mail-test-disk
rsync -aAX --del --info=progress2 /media/vm01.mail-disk-snapshot/ /media/vm01.mail-test-disk/ --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/boot/*,/var/tmp/*,/var/cache/*,/usr/tmp/*}

이제 가상 머신이 부팅을 시작하고 를 입력할 수 있지만 xen-console이제 다음 오류가 발생합니다.


[....] Activating swap...[    6.228541] Adding 8388604k swap on /dev/xvda1.  Priority:-2 extents:1 across:8388604k SSFS
done.                                                     
[    6.282959] EXT4-fs (xvda2): re-mounted. Opts: (null)
[....] Checking root file system...fsck from util-linux 2.25.2
/dev/xvda2 has unsupported feature(s): metadata_csum           
e2fsck: Get a newer version of e2fsck!                               
fsck exited with status code 8                      
failed (code 8).                                    
[....] An automatic file system check (fsck) of the root filesystem failed. A manual fsck must be performed, then the system restarted. The fsck should be performed in maintenance mode with the root filesystem mounted in read-on
[FAILde. ... failed!                                                                                                
[warn] The root filesystem is currently mounted in read-only mode. A maintenance shell will now be started. After performing system maintenance, press CONTROL-D to terminate the maintenance shell and restart the system. ... (war
ning).                                                 

답변1

해결책을 찾았습니다여기

jessie 호스트에 생성된 ext4 파일 시스템에는 스트레치 서버가 수행하는 기능이 없습니다.

  • 메타데이터_csum
  • 64비트

그래서 이것은 내 마지막 문제를 해결합니다.

e2fsck -f /dev/vg0/vm01.mail-test-disk
tune2fs -O ^metadata_csum /dev/vg0/vm01.mail-test-disk
# yes
tune2fs -O ^64bit /dev/vg0/vm01.mail-test-disk
resize2fs -s /dev/vg0/vm01.mail-test-disk

관련 정보