为了应付某个有点啰嗦的客户,只好临时在桌机上用Virtualbox架Win2016(当iSCSI target)和RHEL8(当iSCSI initiator)的LAB,本来是很单纯的事,没想到鹅照习惯把NIC设成Virtio-Net就开始出现一堆灵异事件了....
靠,连上iSCSI target到OS mount起来要超过三分钟,这啥跟啥....
后来被迫把RHEL8的vNIC改成E1000就正常了....
本来以为是Virtualbox的Virtio-Net实作有问题,抱着打破砂锅问到底的精神在Win2016上跑wireshark看到底发生啥事,才发现是Virtualbox模拟E1000模拟的不够透彻,在没有设Jumbo frame的状况下,把超过1500bytes的封包未经fragment就送到Ethernet层,导致被接收端的Virtio-Net丢掉了,而两边都设成E1000的话因为有相同的bug反倒没事,该说是负负得正吗....
不知还有没有邦友在这类Hypervisor上遇过这类灵异事件啊....