Witam,
Mam problem z openvz i LAMP umieszczonym w kontenerze. Moim systemem na "matce" jest debian 5.0 lenny z jądrem Linux alfa 2.6.26-2-openvz-686 (jądro z paczki w.g opisu na wiki openvz). W kontenerze również debian 5.0 x86 wraz z zainstalowanym panelem "ehcp" dzięki któremu użytkownicy mogą zarządzać swoimi kontami WWW, FTP oraz MySQL.
W przypadku gdy ze strony korzystają 3-4 osoby (przeglądanie opublikowanej strony w html) wszystko jest okej. Problem zaczyna się w momencie gdy na stronę wejdzie 10-15 osób. Ładowanie strony zaczyna trwać coraz dłużej, aż w końcu nie można się do niej dostać. Po odczekaniu 3-5 minut wszystko wraca do normy.
Loadaverage w kontenerze bliski zeru, zużycie CPU ok 10%, ram 400mb/1024mb. W momencie "lagu" ping z "matki" do kontenera poniżej 1 ms.
Poniżej zamieszczam pliki konfiguracyjne:
firewall:
echo "Cleaning rules for standard chains..."
iptables -F
iptables -t nat -F
iptables -t mangle -F
echo "Deleting all nonstandard chains..."
iptables -X
iptables -t nat -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -A INPUT -p TCP -s 0/0 --destination-port 3000 -j ACCEPT
iptables -A INPUT -p TCP -s 0/0 --destination-port 80 -j ACCEPT
iptables -A INPUT -p TCP -s 0/0 --destination-port 22 -j ACCEPT
iptables -A INPUT -p TCP -s 0/0 --source-port 20 -j ACCEPT
iptables -A INPUT -p TCP -s 0/0 --destination-port 21 -j ACCEPT
iptables -A INPUT -p ALL -i lo -j ACCEPT
######################
# RUCH DLA WIRTUALEK #
######################
echo "Ruch dla wirtualek"
iptables -t nat -A POSTROUING -s 192.168.10.0/24 -o eth0 -j SNAT --to 78.28.46.114
iptables -t nat -A PREROUTING -p tcp --dport 80 -d 78.28.46.114 -i eth0 -j DNAT --to-destination 192.168.10.2:80
iptables -t nat -A PREROUTING -p tcp --dport 20 -d 78.28.46.114 -i eth0 -j DNAT --to-destination 192.168.10.2:20
iptables -t nat -A PREROUTING -p tcp --dport 21 -d 78.28.46.114 -i eth0 -j DNAT --to-destination 192.168.10.2:21
iptables -t nat -A PREROUTING -p tcp --dport 443 -d 78.28.46.114 -i eth0 -j DNAT --to-destination 192.168.10.2:443
####################
echo "Creating rules for chain OUTPUT..."
iptables -A OUTPUT -m state -p icmp --state INVALID -j DROP
iptables -A OUTPUT -p ALL -s 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -p ALL -o lo -j ACCEPT
iptables -A OUTPUT -p ALL -o eth0 -j ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
sysctl.conf:
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp=0
net.ipv4.ip_forward=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.all.rp_filter=1
kernel.sysrq=1
net.ipv4.conf.default.send_redirects=1
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.eth0.proxy_arp=1
vz.conf
## Global parameters
VIRTUOZZO=yes
LOCKDIR=/var/lib/vz/lock
DUMPDIR=/var/lib/vz/dump
VE0CPUUNITS=1000
## Logging parameters
LOGGING=yes
LOGFILE=/var/log/vzctl.log
LOG_LEVEL=0
VERBOSE=0
## Disk quota parameters
DISK_QUOTA=yes
VZFASTBOOT=no
# The name of the device whose ip address will be used as source ip for VE.
# By default automatically assigned.
VE_ROUTE_SRC_DEV="eth0"
# Controls which interfaces to send ARP requests and modify APR tables on.
NEIGHBOUR_DEVS=detect
## Template parameters
TEMPLATE=/var/lib/vz/template
## Defaults for VEs
VE_ROOT=/var/lib/vz/root/$VEID
VE_PRIVATE=/var/lib/vz/private/$VEID
CONFIGFILE="vps.basic"
#DEF_OSTEMPLATE="fedora-core-4"
DEF_OSTEMPLATE="debian"
## Load vzwdog module
VZWDOG="no"
## IPv4 iptables kernel modules
IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length"
## Enable IPv6
IPV6="no"
## IPv6 ip6tables kernel modules
IP6TABLES="ip6_tables ip6table_filter ip6table_mangle ip6t_REJECT"
101.conf - konfiguracja konteneru
ONBOOT="yes"
NAMESERVER="8.8.8.8"
CPUUNITS="8000"
PRIVVMPAGES="262144:262144"
DISKSPACE="10369024:10369024"
QUOTATIME="0"
KMEMSIZE="11055923:11377049"
LOCKEDPAGES="256:256"
SHMPAGES="21504:21504"
NUMPROC="240:240"
PHYSPAGES="0:2147483647"
VMGUARPAGES="33792:2147483647"
OOMGUARPAGES="26112:2147483647"
NUMTCPSOCK="360:360"
NUMFLOCK="188:206"
NUMPTY="16:16"
NUMSIGINFO="256:256"
TCPSNDBUF="1720320:2703360"
TCPRCVBUF="1720320:2703360"
OTHERSOCKBUF="1126080:2097152"
DGRAMRCVBUF="262144:262144"
NUMOTHERSOCK="360:360"
DCACHESIZE="3409920:3624960"
NUMFILE="9312:9312"
AVNUMPROC="180:180"
NUMIPTENT="128:128"
DISKINODES="200000:220000"
VE_ROOT="/var/lib/vz/root/$VEID"
VE_PRIVATE="/var/lib/vz/private/$VEID"
OSTEMPLATE="debian-5.0-x86"
ORIGIN_SAMPLE="vps.basic"
HOSTNAME="Konta"
SEARCHDOMAIN="serwery"
CPUS="4"
CPULIMIT="80"
IP_ADDRESS="192.168.10.2"
Dodam tylko że wykluczam możliwość zapchania łącza od mojego providera - wszyscy wchodzą z sieci lan.
Niestety openvz to jedyna opcja na (para)wirtualizację maszyn, procesory w tym serwerze nie posiadają VT.
Pozdrawiam !