Top.Mail.Ru
Настройка сервера МИС «САМСОН»: от установки до оптимизации — ADMINMED.ru

Настройка сервера МИС «САМСОН»: от установки до оптимизации

Коллеги, в предыдущих статьях мы разобрали документацию по МИС «САМСОН» — от системных требований до учета обращений. Теперь переходим к самой ответственной части: настройке сервера.

В этой инструкции я покажу, как развернуть сервер БД на операционной системе Альт 8 СП Сервер, оптимизировать его под нагрузку и подготовить к работе с «САМСОН».


📋 Что нам потребуется

КомпонентТребование
ОСАльт 8 СП Сервер (или CentOS 7 — но лучше Альт)
СУБДMariaDB (аналог MySQL, используется в «САМСОН»)
ОЗУот 32 ГБ (сервер БД)
ДискиRAID 1 или 10, от 250 ГБ
Пользовательroot или sudo

🚀 Шаг 1: Подготовка операционной системы

Перед установкой СУБД нужно привести систему в актуальное состояние.

1.1 Обновляем систему

apt-get update
apt-get dist-upgrade
update-kernel

1.2 Перезагружаем сервер

reboot

1.3 Отключаем firewall (временно)

На этапе настройки firewall лучше отключить, чтобы он не мешал:

systemctl stop iptables
systemctl disable iptables

⚠️ Важно: В боевой среде firewall обязательно нужно будет настроить заново, открыв только необходимые порты (для MariaDB — порт 3306).

1.4 Устанавливаем полезные утилиты

apt-get install -y mc wget

mc (Midnight Commander) — удобный файловый менеджер в консоли. wget — для скачивания файлов.


🗄️ Шаг 2: Установка MariaDB

В репозиториях Альт 8 СП Сервер есть готовый пакет MariaDB:

apt-get install mariadb-server

MariaDB — это форк MySQL, полностью совместимый с ним. Именно эта СУБД используется в МИС «САМСОН» по умолчанию.


⚙️ Шаг 3: Настройка конфигурации (самый важный этап)

Это ключевой момент, от которого зависит производительность всей системы. Редактировать будем файл /etc/my.cnf.d/server.cnf.

3.1 Открываем файл для редактирования

Через Midnight Commander:

mc

Найдите файл по пути /etc/my.cnf.d/server.cnf и откройте его (F4).

3.2 Прописываем параметры производительности

В секции [mysqld] добавьте следующие параметры:

[mysqld]
# Самый важный параметр — кэш InnoDB
# Рекомендация: 60-80% от оперативной памяти сервера
innodb_buffer_pool_size = 24G

# Размер логов — примерно 25% от buffer_pool_size
innodb_log_file_size = 6G

# Параметры сортировки (не переоценивайте!)
sort_buffer_size = 2M
read_buffer_size = 1M
join_buffer_size = 2M

# Максимальное количество подключений
max_connections = 300

3.3 Золотая формула баланса памяти

Опытные администраторы используют такое правило:

RAM — (Размер_БД * 1.25 + 0.1 * RAM) = temp_ram * N_подключений

Где:

  • temp_ram — сумма параметров sort_buffer_size + read_buffer_size + join_buffer_size
  • N_подключений — типичное количество одновременных подключений к БД

💡 Важно: Если выставить sort_buffer_size слишком большим, при множестве подключений сервер быстро исчерпает память. Если слишком маленьким — запросы будут тормозить.

3.4 Эмпирическое правило для buffer_pool

«innodb_buffer_pool_size должен быть примерно в 1.25 раза больше суммарного размера ваших баз»

Пример расчета:

  • Размер баз данных: 10 ГБ
  • Рекомендуемый buffer_pool: 12-13 ГБ
  • При RAM 32 ГБ это около 40% — нормально

🔐 Шаг 4: Запуск и безопасность

4.1 Запускаем службу

systemctl start mariadb
systemctl enable mariadb

4.2 Запускаем скрипт безопасности

mysql_secure_installation

Скрипт спросит:

  • Текущий пароль root — так как мы его ещё не задавали, просто нажмите Enter
  • Установить пароль root — ДА
  • Удалить анонимных пользователей — ДА
  • Запретить удаленный вход root — ДА (или НЕТ, если администрируете удаленно)
  • Удалить тестовую базу — ДА
  • Перезагрузить таблицы привилегий — ДА

💾 Шаг 5: Подготовка базы для МИС «САМСОН»

Для подключения «САМСОН» к БД потребуется создать базу данных и пользователей. Обычно разработчики дают готовый скрипт (например, set_mysql_for_samson).

5.1 Копируем скрипт на сервер

Скрипт обычно кладут в /root/. Удобно это сделать через mc:

mc

5.2 Делаем скрипт исполняемым и запускаем

chmod +x /root/set_mysql_for_samson
/root/set_mysql_for_samson

В процессе скрипт запросит пароли для пользователей:

  • root — администратор БД
  • servicedesk — для сервисной службы
  • dbuser — для подключения самой МИС

5.3 Проверяем создание БД

mysql -u root -p

В консоли MySQL:

SHOW DATABASES;
-- должна появиться база данных samson (или аналогичное название)
SELECT User, Host FROM mysql.user;
-- проверяем созданных пользователей
EXIT;

✅ Шаг 6: Финальная проверка и запуск

6.1 Проверяем статус службы

systemctl status mariadb

Должно быть active (running).

6.2 Проверяем, что порт слушается

netstat -tlnp | grep 3306

Должна появиться строка с 0.0.0.0:3306 или 127.0.0.1:3306.

6.3 Настраиваем firewall (если отключали)

iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables-save > /etc/sysconfig/iptables
systemctl start iptables

📊 Чек-лист администратора

Перед тем как запустить систему в эксплуатацию, проверьте:

  • [ ] Установлены последние обновления ОС
  • [ ] Настроен RAID (аппаратный или программный)
  • [ ] innodb_buffer_pool_size рассчитан под объем БД и RAM
  • [ ] Установлен пароль root для MariaDB
  • [ ] Созданы пользователи для МИС
  • [ ] Настроено резервное копирование (обязательно!)
  • [ ] Firewall открывает только порт 3306 (и SSH)
  • [ ] Записан куда-то пароли от БД (в безопасное место)

🐞 Типовые ошибки и их решение

ОшибкаВероятная причинаРешение
Can't connect to MySQL server on 'localhost'Служба не запущенаsystemctl start mariadb
Access denied for user 'samson'@'localhost'Неправильный парольСбросить пароль через root
Connection refusedFirewall блокирует портОткрыть порт 3306
Сервер тормозит при 50+ пользователяхbuffer_pool слишком малУвеличить innodb_buffer_pool_size
Too many connectionsПревышен лимитУвеличить max_connections

📌 Что дальше?

После настройки сервера нужно:

  1. Установить клиентские рабочие станции
  2. Настроить графики работы врачей (инструкция [ссылка])
  3. Настроить права пользователей
  4. Настроить резервное копирование (готовлю отдельную статью)

💬 Вопрос к сообществу:

На какой ОС вы разворачиваете сервер МИС «САМСОН»? CentOS 7 (несмотря на EOL), Альт Linux или что-то другое? Какие у вас значения innodb_buffer_pool_size при каком объеме RAM? Делитесь опытом!


P.S. Если нужна помощь с расчетом параметров под ваше железо — пишите в комментариях, поможем подобрать оптимальные настройки.

P.P.S. В следующей статье разберу настройку PACS-сервера для хранения медицинских изображений. Подписывайтесь на обновления!

Добавить комментарий

© 2026 ADMINMED.ru

Login





Loading...

Top.Mail.Ru
👁 0
  Яндекс.Метрика