Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal
К настройке сервера Х-терминалов я приступил сразу после того, как он попал ко мне на стол. Устанавливал я на него операционную систему ASPLinux 9.0 Express, с которой был неплохо знаком. После проверки параметров BIOS, я начал инсталляцию системы. Первым разочарованием, которое меня постигло при этом, была невозможность продолжать установку на диск с интерфейсом Serial ATA: ядро ASPLinux 9.0 попросту не видело его. Переключение в совместимый режим использования SATA лишало возможности работать с одним из IDE-контроллеров, но похоже, что это был единственный выход. Я делал даже попытку установки ядра версии 2.6, но после таких экспериментов пришел к выводу, что не смогу добиться стабильной работы системы, которая так важна для операционной системы сервера Х-терминалов. Поэтому я решил остановиться на стабильной сборке от ASPLinux.
Установка пакетов, выбранных для Х-терминал сервера, прошла без особых проблем. Система с первого раза успешно загрузилась и на экране я увидел графическое приглашение ввода имени пользователя и пароля. Из оборудования определилось практически все, кроме интегрированной сетевой карты от 3COM, но это и не удивительно, так как это относительно новое устройство, а исходный код его драйвера всегда можно взять с официального сайта производителя. Визуально оценив производительность системы, я обнаружил очень медленное выполнение дисковых операций. Утилита hdparm показывала что-то в районе 3,5 Мбайт/с. Я сначала подумал, что это из-за работы SATA-винчестера в совместимом режиме, но после обновления ядра до текущей версии, доступной с сайта ASPLinux (ftp://ftp.asplinux.ru/pub/), эти проблемы исчезли. Еще при установке операционной системы, 120 Гбайтный жесткий диск был разбит на 13 разделов, все из которых были отформатированы в формате ext3. Ниже представлен их список:
# /sbin/fdisk -l /dev/hda
Disk /dev/hda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 638 5124703+ 83 Linux
/dev/hda2 639 14593 112093537+ 5 Extended
/dev/hda5 639 893 2048256 82 Linux swap
/dev/hda6 894 3443 20482843+ 83 Linux
/dev/hda7 3444 3826 3076416 83 Linux
/dev/hda8 3827 4464 5124703+ 83 Linux
/dev/hda9 4465 5102 5124703+ 83 Linux
/dev/hda10 5103 6377 10241406 83 Linux
/dev/hda11 6378 9565 25607578+ 83 Linux
/dev/hda12 9566 10075 4096543+ 83 Linux
/dev/hda13 10076 10585 4096543+ 83 Linux
/dev/hda14 10586 10713 1028128+ 83 Linux
/dev/hda15 10714 11988 10241406 83 Linux
/dev/hda16 11989 14593 20924631 83 Linux
Что-бы лучше понять их предназначение, приведу фрагмент файла /etc/fstab:
# /etc/fstab: static file system information.
#
#
/dev/hda5 none swap sw 0 0
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1
/dev/hda7 /tmp ext3 defaults 0 1
/dev/hda8 /var ext3 defaults 0 1
/dev/hda9 /usr ext3 defaults 0 1
/dev/hda6 /home ext3 defaults 0 1
proc /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
none /dev/pts/ devpts gid=5,mode=620 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro,iocharset=cp1251 0 0
/dev/fd0 /mnt/floppy auto noauto,user,owner,kudzu,iocharset=cp1251,codepage=866 0 0
/dev/sda1 /mnt/usb_manli auto noauto,user,iocharset=cp1251,codepage=866 0 0
/dev/sdb1 /mnt/usb_flash auto noauto,user,iocharset=cp1251,codepage=866 0 0
# Alker common for DOCs
/dev/hda12 /mnt/alker_common ext3 rw,nosuid,dev,noexec,auto,nouser,async 0 1
# Common for all win PC
/dev/hda13 /mnt/win_access ext3 rw,nosuid,dev,noexec,auto,nouser,sync 0 1
# Backup partitions
/dev/hda11 /mnt/backup ext3 defaults 0 1
Теперь лучше видно для каких целей используются разделы жесткого диска (см. Таблицу 2):
Таблица 2. Распределение разделов жесткого диска Х-терминал сервера
Имя раздела | Точка монтирования | Размер, Гб | Предназначение |
/dev/hda1 | / | 5 | Корневая файловая система |
/dev/hda5 | 2 | Файл подкачки (swap) виртуальнойпамяти | |
/dev/hda6 | /home | 20 | Домашний каталог пользователей |
/dev/hda7 | /tmp | 3 | Каталог для хранения временныхфайлов |
/dev/hda8 | /var | 5 | Каталог для хранения изменяемыхфайлов, таких как журналы, почтовые базы и т.п. |
/dev/hda9 | /usr | 5 | Каталог для программногообеспечения |
/dev/hda10 | не примонтирован | 10 | Резерв |
/dev/hda11 | /mnt/backup | 25 | Для резервного копирования |
/dev/hda12 | /mnt/alker_common | 4 | Общий доступ для пользователейХ-терминалов |
/dev/hda13 | /mnt/win_access | 4 | Общий доступ для Windowsкомпьютеров |
/dev/hda14 | не примонтирован | 1 | Резерв |
/dev/hda15 | не примонтирован | 10 | Резерв |
/dev/hda16 | не примонтирован | 20 | Резерв |
Более 40 Гбайт на диске было оставлено для будущего использования, а схема расположения различных областей жесткого диска на разных разделах позволяет лучше контролировать использование дискового пространства. После года эксплуатации сервера Х-терминалов его жесткий диск заполнен менее чем наполовину:
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda1 5044156 203544 4584380 5% /
/dev/hda7 3028080 68608 2805652 3% /tmp
/dev/hda8 5044156 1037540 3750384 22% /var
/dev/hda9 5044156 2198856 2589068 46% /usr
/dev/hda6 20161172 8995744 10141288 48% /home
none 515052 0 515052 0% /dev/shm
/dev/hda12 4030684 44400 3784752 2% /mnt/alker_common
/dev/hda13 4030684 1473964 2355188 39% /mnt/win_access
/dev/hda11 25204468 32820 23911428 1% /mnt/backup