Skolelinux负载均衡

Skolelinux负载均衡第一部分它能为了负载均衡而设置客户机连接到若干服务器中的一个

这以供/opt/ltsp/i386/usr/share/ltsp/get_hosts 这一脚本为 LDM 连接在一个或更多服务器做记号

在这添加每一ltsp chroot 所需包含的对于每一个服务器的 ssh 主键

首先,你需要选择一个 LTSP 服务器为负载均衡服务器

所有客户机将以 PXE 从这个服务器引导和加载 Skolelinux 镜像

镜像加载之后, LDM 使用 "get_hosts" 脚本选择哪一个服务器来连接

这是你之后如何做的

现在你要移动你的客户机从 192.168.1.0 网络到 10.0.0.0网络

这是因为那时你使用负载均衡,客户机将要直接访问 LDM 选择的服务器

如果你让你的客户机在 192.168.1.0网络,所有客户机在与选择 LDM 服务器取得联系之前的流量将通过那个服务器

设置客户机工作在 10.0.0.0 网络上,你要在主服务器(tjener)上的 /etc/dhcp3/dhcpd.conf

在那表明:FIXME: 这需要在 LDAP 改变 DHCP 设置

subnet 10.0.0.0 netmask 255.0.0.0 {range 10.0.2.100 10.0.3.242;}你要在 "range" 之下增加这些:filename "/var/lib/tftpboot/ltsp/i386/pxelinux.0";next-server xxx;option root-path "/opt/ltsp/i386";option log-servers ltspserver01;use-host-decl-names on;Next-server 需要你所选择的负载均衡服务器的 IP 地址或主机名

如果你使用主机名,你要有 DNS 的工作

记着重启 dhcp 服务

第二部分现在你来做一个 "get_hosts" 脚本为 LDM 联接标记一个服务器

LDM_SERVER参数比这个脚本重要

因而,这个参数应该不定义,如果已经使用 get_hosts

get_hosts 脚本按随意顺序在标准输出上填写每个服务器的IP 地址或主机名

"/opt/ltsp/i386/etc/lts.conf" 添加诸如这样的内容:MY_SERVER_LIST = "xxxx xxxx xxxx"以主服务器的 IP 或主机名两者之一取代 xxxx,清单以空格分隔

那时,置下面的脚本于你所选择的负载均衡服务器的 /opt/ltsp/i386/usr/lib/ltsp/get_hosts 目录中

# Randomize the server list contained in MY_SERVER_LIST parameterTMP_LIST=""SHUFFLED_LIST=""for i in $MY_SERVER_LIST; dorank=$RANDOMlet "rank %= 100"TMP_LIST="$TMP_LIST ${rank}_$i"doneTMP_LIST=$(echo -e $TMP_LIST | sort)for i in $TMP_LIST; doSHUFFLED_LIST="$SHUFFLED_LIST $(echo $i | cut -d_ -f2)"doneecho $SHUFFLED_LIST第三部分那里现在有你制作的 "get_hosts" 脚本,他择时对 ltsp chroot 做 ssh主键

这可以制作一个文件包含自所有那些将是负载均衡服务器的 /opt/ltsp/i386/etc/ssh/ssh_known_hosts的内容

在所有负载均衡服务器上保存这个文件为/etc/ltsp/ssh_known_hosts.extra

最后的步骤非常重要,因为每次服务器引导运行ltsp-update-sshkeys 并且如果它存在,就包含于 /etc/ltsp/ssh_known_hosts.extra

如果你保存你的新主机文件作为 /opt/ltsp/i386/etc/ssh/ssh_known_hosts,它将在你重启动服务器时清除

对于这个设置有一些明显的缺点

所有客户机从一个服务器获取它们的镜像,这样如果大量客户机在同一时间引导会导致服务器的高负载

客户机也有赖于那个服务器总是可用的,没有它客户机不能引导或获得 LDM 服务器

因此这一设置极其依赖此服务器,这不是很好

你的客户机现在应该负载均衡!

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关