Сервер "толстых" терминальных клиентов на ПСПО

Сервер "толстых" терминальных клиентов не требует мощного оборудования. Такое решение хорошо масштабируется, так как использует вычислительные мощности рабочих станций. При этом не требуется установки ПСПО на рабочие станции, а администрирование ограничивается специальной областью на сервере.

Структура класса

Развёртывание класса

Действия на сервере

отдельный /srv > 8G

apt-get install tftp-server dhcp-server nfs-server isolinux
[root@server ~]# cat /etc/exports 
/srv/boot               *(ro,no_root_squash)
[root@server ~]# chkconfig tftp on
[root@server ~]# cat /etc/net/ifaces/eth1/options 
TYPE=eth
DISABLED=no
BOOTPROTO=static
[root@server ~]# cat /etc/net/ifaces/eth1/ipv4address 
10.1.1.1/24
[root@server ~]# chkconfig dhcpd on
[root@server ~]# cat /etc/dhcp/dhcpd.conf
# See dhcpd.conf(5) for further configuration

ddns-update-style none;

subnet 10.1.1.0 netmask 255.255.255.0 {
        option routers                  10.1.1.0;
        option subnet-mask              255.255.255.0;

        option nis-domain               "domain.org";
        option domain-name              "domain.org";
        option domain-name-servers      10.1.1.0;

        filename "pxelinux.0";
        next-server 10.1.1.1;

        range dynamic-bootp 10.1.1.10 10.1.1.63;
        default-lease-time 21600;
        max-lease-time 43200;
}

[root@server tftpboot]# cat /var/lib/tftpboot/pxelinux.cfg/default 
default live
prompt 1
timeout 30

label live
  kernel alt0/vmlinuz
  append initrd=alt0/full.cz fastboot live lang=ru_RU showopts automatic=method:nfs,network:dhcp stagename=livefs

label rescue
  kernel alt0/vmlinuz
  append initrd=alt0/full.cz live fastboot automatic=method:nfs,network:dhcp stagename=rescue


[root@server tftpboot]# sed -i 's/only_from/#only_from/' /etc/xinetd.conf 

[root@server tftpboot]# cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@server tftpboot]# mkdir /var/lib//tftpboot/pxelinux.cfg
[root@server tftpboot]# cp -a /media/cdrom/syslinux/alt0 /var/lib//tftpboot/

mount -t squashfs -o loop /srv/boot/live /mnt/cdrom/
cp  -a /mnt/cdrom/ /srv/boot/livefs

# THIS DOESN'T DO[ root@server tftpboot]# sed -i 's/ --retry-failed/ --subsystem-nomatch=net --retry-failed/' /srv/boot/livefs/etc/init.d/udevd-final 
[root@server tftpboot]# chroot /srv/boot/livefs/ /sbin/chkconfig udevd-final off

[root@server tftpboot]# sed -i 's/=ro/=nfsro/' /srv/boot/livefs/etc/init.d/remount_rw
[root@server tftpboot]# cat /srv/boot/livefs/etc/rc.d/rc.local
#!/bin/sh
dhcpcd -p -H eth0

[root@server tftpboot]# chmod +x /srv/boot/livefs/etc/rc.d/rc.local


reboot

Действия на клиенте

Дальнейшая модификация класса