Previous page

Next page

Locate page in Contents

Print this page

Kernel Parameters

There is a number of kernel limits that should be set for the Parallels Server Bare Metal software to work correctly. Parallels Server Bare Metal is shipped with a tuned /etc/sysctl.conf file. Understanding what parameters were changed is essential for running the required number of Containers. Below is the contents of the /etc/sysctl.conf file as shipped with Parallels Server Bare Metal:

# On the server we generally need
# packet forwarding enabled and proxy arp disabled
net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
# Enables source route verification
net.ipv4.conf.all.rp_filter = 1
# Enables the magic-sysrq key
kernel.sysrq = 1
# TCP Explict Congestion Notification
#net.ipv4.tcp_ecn = 0
# ARP thresholds. First one is num_ve x 3 + 512
# second one is 2 times first one
net.ipv4.neigh.default.gc_thresh2 = 2048
net.ipv4.neigh.default.gc_thresh3 = 4096
# we do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

Notice that some parameters of the kernel configuration depends on the maximum number of Containers you plan to run. In the default configuration file, these numbers were calculated under the assumption the maximum Container number is 512. If you plan to run another number of Containers, it is recommended to recalculate net.ipv4.neigh.default.gc_thresh2 and net.ipv4.neigh.default.gc_thresh3 parameters as three per Container plus 128…512. Keep the second parameter twice as great as the first one.

To apply the changes issue the following command:

# sysctl -p

Besides, it makes sense to set net.ipv4.tcp_use_sg to 0, since corresponding “Scatter/gather IO” feature is not supported by the venet device, used in Parallels Server Bare Metal networking.

It is also worth mentioning that normally you should have forwarding turned on since the server forwards packets destined to or originated from Containers.