![QEMU 네트워크 통신이 손상되었습니다](https://linux55.com/image/164423/QEMU%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%20%ED%86%B5%EC%8B%A0%EC%9D%B4%20%EC%86%90%EC%83%81%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
pacman
가상 머신( ) 내에서 패키지 관리자를 사용하면 무작위로 다음과 같은 손상된 패키지가 제공됩니다.
error: <package>: signature from "<whomever>" is invalid
:: File /mnt/var/cache/pacman/pkg/<package>.pkg.tar.xz is corrupted (invalid or corrupted packgage (PGP signature))
나는 다음과 같은 설정을 가지고 있습니다 :
- Arch Linux 호스트(커널
5.3.11.1
) - 그런 다음 UFW 방화벽을 사용하십시오 (
0.36
) tun0
그런 다음 OpenVPN( )에서 생성된 네트워크 인터페이스를 통해서만 연결을 허용하도록 구성합니다2.4.8
.
네트워크 연결은 최소 5년 동안 콘솔의 모든 측면에서 잘 작동했습니다. 4.1.0
다음 옵션을 사용하여 QEMU(QEMU)를 사용하는 Arch Linux 인 게스트 설정을 시도했습니다 .
qemu-system-x86_64 \
-name 'Arch Linux' \
-display vnc=:0 \
-m size=8G \
-enable-kvm \
-cpu host \
-smp cores=2,threads=2 \
-k en-us \
-boot order=d \
-cdrom "<iso>" \
-drive "if=pflash,format=raw,readonly,file=<file>" \
-drive "if=pflash,format=raw,file=<file>" \
-drive "if=virtio,format=qcow2,file=<file>"
-nic user
내가 이해한 바에 따르면 추가 항목을 지정하지 않고 게스트가 인터넷에 연결되어 있으면 기본값으로 설정됩니다.
가상 하드 드라이브가 문제의 원인이길 바라며 전체 시스템을 다양한 물리적 위치(SSD, HDD)에 백만 번 재설치해 보았으나 아무것도 해결되지 않았습니다. 완전성을 위해 가상 드라이브는 다음과 같이 생성됩니다.
qemu-img create -f qcow2 "<file>" 16G
때로는 충분히 시도하고 운이 좋아서 컨테이너를 다운로드할 때 손상된 데이터에 대해 동일한 무작위 오류를 제공하는 docker
게스트 내부 설치 작업으로 끝나게 됩니다. 이로 인해 네트워크 구성 관련 오류라고 믿게 됩니다. 나는 단지 구성이 잘못되었기를 바라면서 QEMU ( 및 ) docker
위에 그것을 사용해 보았 으나 다시 같은 문제에 부딪혔습니다.libvirt
virsh
virt-manager
어느 시점에서 내 설정은 다음과 같은 네트워크 구성을 사용했습니다.
# ...
-net "user,hostfwd=tcp::2222-:22,hostfwd=tcp::8000-:8000,hostfwd=tcp::4200-:4200,hostfwd=tcp::9222-:9222,smb=<path>" \
-net nic,model=virtio \
# ...
하지만 그것도 더 이상 작동하지 않습니다. 이쯤 되면 내가 뭘 잘못하고 있는 건지 너무 혼란스럽네요...
답변1
이 문제의 원인이 정확히 무엇인지 말씀드릴 수는 없지만 몇 가지 문제 해결 방법을 알려드릴 수는 있습니다.
네트워크에 문제가 있다고 의심되는지 확인할 수 있습니다 /proc/net/snmp
. 원본이 좀 헷갈려서 추천합니다 </proc/net/snmp column -t | less -S
. 이름에 해당 항목이 포함된 열을 봅니다 CsumErrors
.
손상이 디스크 수준에서 발생한 것으로 의심되는 경우(제가 의심한 것) 거기에서 Btrfs를 사용하면 확실히 찾을 수 있습니다. 이는 체크섬 FS를 많이 사용하는 Linux의 유일한 경량 범용 목적이기 때문입니다.
— 게스트 VM, 특히 Btrfs를 사용할 때 Qcow2에서 몇 가지 문제를 발견했습니다 fstrim
. ;-)
답변2
KVM 가상 머신 관리자를 사용하여 VM을 시작하고 있습니까? 그렇다면 GUI의 장치 구성 파일로 이동하여 nic를 virtio로 확인하고 변경할 수 있습니다. 다른 nic 항목이 있으면 제거하십시오.