Community discussions

MikroTik App
 
Think7
newbie
Topic Author
Posts: 30
Joined: Sun Aug 21, 2011 5:31 am

HyperV + 2 CPU = No Ethernet

Tue Nov 29, 2016 12:15 pm

Hello,

I have a dedicated server that runs Hyper V, a bunch of VM's and a CHR (with legacy NICs) to manage the network's traffic.

The VM's behind the CHR can only attain about 16Mbps throughput and the CHR's CPU useage is pinned at 100% as shown here:
Image

When i try to add a second vCPU to the CHR, it will boot as normal but not have an ethernet connection.

- Once i remove the second vCPU, it's back to normal.
- No other changes were made between adding and removing the vCPU.
- "Multi-CPU" is shown to be ENABLED in Winbox > System > Resources > Hardware

Here is my config:
# nov/29/2016 09:56:14 by RouterOS 6.38rc24
# software id = 
#
/interface ethernet
set [ find default-name=ether1 ] name=ether1-WAN
set [ find default-name=ether2 ] name=ether2-Jinternet
set [ find default-name=ether3 ] name=ether3-Production
/ip pool
add name=pool2_jinternet ranges=192.168.169.100-192.168.169.199
add name=pool1_production ranges=10.0.0.100-10.0.0.199
/ip dhcp-server
add address-pool=pool2_jinternet disabled=no interface=ether2-Jinternet name=\
    dhcp1_jinternet
add address-pool=pool1_production disabled=no interface=ether3-Production \
    name=dhcp1_production
/ip settings
set secure-redirects=no send-redirects=no
/ip address
add address=7.7.7.7 comment=Main interface=ether1-WAN network=\
    1.1.1.1
add address=10.0.0.1/24 interface=ether3-Production network=10.0.0.0
add address=192.168.169.1/24 interface=ether2-Jinternet network=192.168.169.0
add address=6.6.6.6 comment=NET1_1 interface=ether1-WAN network=\
    1.1.1.1
/ip dhcp-client
add disabled=no interface=ether1-WAN
/ip dhcp-server lease
add address=10.0.0.10 mac-address=00:50:56:05:CF:F7 server=dhcp1_production
add address=192.168.169.10 client-id=1:0:50:56:5:cf:f3 mac-address=\
    00:50:56:05:CF:F3 server=dhcp1_jinternet
add address=10.0.0.20 mac-address=00:50:56:05:CF:F9 server=dhcp1_production
add address=192.168.169.50 mac-address=00:50:56:05:CF:FA server=\
    dhcp1_jinternet
/ip dhcp-server network
add address=10.0.0.0/24 dns-server=10.0.0.1 gateway=10.0.0.1
add address=192.168.169.0/24 dns-server=192.168.169.1 gateway=192.168.169.1 \
    netmask=24
/ip dns
set allow-remote-requests=yes servers=4.2.2.4,4.2.2.3,4.2.2.2,4.2.2.1
/ip firewall filter
add action=fasttrack-connection chain=input connection-state=\
    established,related
add action=accept chain=input comment="Accept Established and Related" \
    connection-state=established,related
add action=drop chain=forward comment="Drop Invalid Forward" \
    connection-state=invalid
add action=drop chain=input comment="Drop Invalid  Input" connection-state=\
    invalid
add action=drop chain=output comment="Drop Invalid Output" connection-state=\
    invalid
add action=drop chain=input comment="Drop Everything Input from WAN" \
    in-interface=ether1-WAN
/ip firewall nat
add action=netmap chain=srcnat comment="netmap - kms outbound to NET1_IP_1" \
    src-address=10.0.0.10 to-addresses=6.6.6.6
add action=netmap chain=srcnat comment="netmap - unifi outbound to NET1_IP_1" \
    src-address=10.0.0.20 to-addresses=6.6.6.6
add action=dst-nat chain=dstnat comment="forward - kms" dst-address=\
    6.6.6.6 dst-port=7411 protocol=tcp to-addresses=10.0.0.10
add action=dst-nat chain=dstnat comment="forward - unifi" dst-address=\
    6.6.6.6 dst-port=8080,9080 protocol=tcp to-addresses=10.0.0.20
add action=dst-nat chain=dstnat comment=\
    "forward - unifi web access from hv host" disabled=yes dst-address=\
    6.6.6.6 dst-port=8443,9443 protocol=tcp src-address=5.103.53.162 \
    to-addresses=10.0.0.20
add action=masquerade chain=srcnat comment="Masq everything out main IP" \
    out-interface=ether1-WAN
/ip firewall service-port
set ftp disabled=yes
set tftp disabled=yes
set irc disabled=yes
set h323 disabled=yes
set sip disabled=yes
set pptp disabled=yes
set udplite disabled=yes
set dccp disabled=yes
set sctp disabled=yes
/ip route
add distance=1 gateway=1.1.1.1
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/system ntp client
set enabled=yes server-dns-names=pool.ntp.org,time.nist.gov
Any help with either the high CPU useage or disappearing NICs would be greatly appreciated.
Thanks for your time!
 
Kindis
Member
Member
Posts: 434
Joined: Tue Nov 01, 2011 6:54 pm
Location: Sweden

Re: HyperV + 2 CPU = No Ethernet

Tue Nov 29, 2016 4:17 pm

I would strongly recommend to switch to Network adapters instead of legacy network adapters.
I can see you are running rc build so upgrade to latest RC build and replace legacy card with a network adapter. Just upgrade rc build first :)
This should give you more performance on one core only.
It would be nice to view what takes cpu as well. Use profile to track the cpu.
 
digioffice
just joined
Posts: 6
Joined: Tue Jun 25, 2013 11:55 am

Re: HyperV + 2 CPU = No Ethernet

Sun Dec 11, 2016 2:03 am

Hi guys, same problem here.

CHR on Hyper-V, single CPU has poor performance (100% CPU usage, DL/UL limited about to 15Mbps). When I add another CPU core, it doesn't works...
Everyone says I have to use legacy network adapter, or it's not stable.
We're on 6.37.3


Regards,
Jarda
 
Kindis
Member
Member
Posts: 434
Joined: Tue Nov 01, 2011 6:54 pm
Location: Sweden

Re: HyperV + 2 CPU = No Ethernet

Sun Dec 11, 2016 8:30 pm

Hi guys, same problem here.

CHR on Hyper-V, single CPU has poor performance (100% CPU usage, DL/UL limited about to 15Mbps). When I add another CPU core, it doesn't works...
Everyone says I have to use legacy network adapter, or it's not stable.
We're on 6.37.3


Regards,
Jarda
I'm running Network Adapters, not legacy adapters and I have no stability issue on 6.37.3.
Don't use legacy cards at the performance on those cards are crap and more hits the cpu.
I would strongly recommend you use network adapters instead. The performance should be a lot better even with only one vCPU.
 
Sanity
Member Candidate
Member Candidate
Posts: 198
Joined: Sun Mar 06, 2011 8:51 am

Re: HyperV + 2 CPU = No Ethernet

Wed Jan 04, 2017 10:25 am

To be super concrete - the lagacy adapter is simulating ancient hardware, from a time 10mbit where seen as fast. I think it triggers one interrupt per byte received or something awful like this. You just blow up whatever CPU you have. Makes no sense.

The reason they do it is because it is a last line easy to simulate thing. Smallest possible compatibility issue, super simple drivers. Anyone needing performance please uses the integrated adapters.
 
wauzestyle
just joined
Posts: 3
Joined: Tue Aug 11, 2015 6:38 pm

Re: HyperV + 2 CPU = No Ethernet

Sat Jan 14, 2017 5:32 pm

Hello all,

we face same issues for a couple f months now. We have try to install CHR and x86 on the hyper-v nut also poor bandwidth on the legacy adapter. Normal network adapter is not working. these interfaces does not shop up in the interface list of mikrotik router.

We use windows server 2016 hyper-v

hope mikrotik is resolving this soon otherwise we must going to use other solutions.

anyone success with mikrotik and server 2016 hyper-V or server 2012R2 Hyper-V?

***EDIT***
We have make some new test and CHR is working with full bandwidth now on the normal Ethernet adapter. we get 308mb without any firewall rules added only standard simple settings to get internet working. CPU load is on this 24%. Still multiple cpu is not working.
 
Kindis
Member
Member
Posts: 434
Joined: Tue Nov 01, 2011 6:54 pm
Location: Sweden

Re: HyperV + 2 CPU = No Ethernet

Sun Jan 15, 2017 9:59 am

Hello all,

we face same issues for a couple f months now. We have try to install CHR and x86 on the hyper-v nut also poor bandwidth on the legacy adapter. Normal network adapter is not working. these interfaces does not shop up in the interface list of mikrotik router.

We use windows server 2016 hyper-v

hope mikrotik is resolving this soon otherwise we must going to use other solutions.

anyone success with mikrotik and server 2016 hyper-V or server 2012R2 Hyper-V?

***EDIT***
We have make some new test and CHR is working with full bandwidth now on the normal Ethernet adapter. we get 308mb without any firewall rules added only standard simple settings to get internet working. CPU load is on this 24%. Still multiple cpu is not working.
I have no issues running 2 core on Hyper-V running on Windows 2012 R2. What build are you using for ROS? I'm using 6.38 and don't have any issues with rather basic setup.
I'm however planing to upgrade to Server 2016 and interested in what solved adapters for you?

One tip I have not tested myself is to download a ny CHR image and start it with 2 cores, or the number you which to use. May be you have to start with multicore to get it working. This is however a pure guess of mine. :)
 
infused
Member
Member
Posts: 313
Joined: Fri Dec 28, 2012 2:33 pm

Re: HyperV + 2 CPU = No Ethernet

Wed Jan 18, 2017 8:56 am

legacy nic is not going to do you any favors.

Who is online

Users browsing this forum: No registered users and 51 guests