Вопрос или проблема
У меня возникает эта повторяющаяся проблема на одном из моих серверов MySQL Cluster, на самом деле это всегда происходит на любом случайном сервере MySQL этого кластера, в различных странах, где у нас есть такая же конфигурация.
У меня есть “dbX Node”, который я могу пинговать:
$ ping 192.0.2.4
PING 192.0.2.4 (192.0.2.4) 56(84) байт данных.
64 байта от 192.0.2.4: icmp_seq=1 ttl=61 время=1.92 мс
64 байта от 192.0.2.4: icmp_seq=2 ttl=61 время=2.46 мс
Я могу выполнить Telnet на TCP порт 22:
telnet 192.0.2.4 22
Пытаюсь 192.0.2.4 ...
Установлено соединение с 192.0.2.4.
Символ для выхода - '^]'.
И сразу закрывается:
Соединение закрыто удаленным хостом.
И, очевидно, сам SSH не работает:
debug1: Соединение установлено.
debug1: файл идентификации /home/user/.ssh/identity тип -1
debug3: Не RSA1 ключ файл /home/user/.ssh/id_rsa.
debug2: key_type_from_name: неизвестный тип ключа '-----BEGIN'
debug3: key_read: отсутствует тип ключа
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug3: key_read: отсутствует пробел
debug2: key_type_from_name: неизвестный тип ключа '-----END'
debug3: key_read: отсутствует тип ключа
debug1: файл идентификации /home/user/.ssh/id_rsa тип 1
debug1: файл идентификации /home/user/.ssh/id_dsa тип -1
ssh_exchange_identification: Соединение закрыто удаленным хостом
Я также могу выполнить telnet на MySQL порт:
# telnet db5 3306
Пытаюсь 192.0.2.4...
Установлено соединение с db5 (192.0.2.4).
Символ для выхода - '^]'.
Но не могу к нему подключиться:
# mysql -h db5 -uroot
Этот сервер – ProLiant DL360p Gen8, работающий на RHEL 5.5.
Когда я использую iLO для подключения и перезапуска модуля SSH, у меня нет никакой подсказки консоли, только маленький серый квадрат в углу…
Мне постоянно нужно перезагружать сервер, который сталкивается с этой проблемой.
Мне нужна помощь, чтобы решить эту проблему. Я пробовал все. Столкнулись ли вы когда-нибудь с чем-то похожим?
Глуззер,
Это может занять некоторое время.
-
Проверьте свои конфигурационные файлы, убедитесь, что вам разрешено получать доступ к устройству из сети, с которой вы подключаетесь.
-
Убедитесь, что на этих серверах и в сетях, к которым они подключены, они могут пинговать вас. Если у вас односторонняя маршрутизация в сети, это приведет к сбоям в ваших попытках доступа. Некоторые сетевые администраторы блокируют ICMP Ping запросы, и правила брандмауэра / списков доступа могут помешать вам получить доступ к вашим устройствам, если вы не находитесь в том же подсети.
-
На новых установках Linux серверов iptables / ipforwarding / ipchains по умолчанию все блокируется. Вам необходимо вручную открыть каждый необходимый порт или сокет. Некоторые скрипты установки решают эту проблему. Некоторые терпят неудачу, и вам нужно открыть их с помощью ручных команд Linux.
Двусторонний меч.. заблокирован конфигурацией приложений / локальной машиной или вашей собственной сетевой командой.
Надеюсь, это поможет немного. Удачи…
Ответ или решение
Устранение проблем с SSH-соединением и MySQL на кластере серверов
Возникновение проблемы с SSH-соединением и неработоспособностью MySQL на кластере серверов может быть связано с несколькими факторами. Давайте разберем это подробно, основываясь на предоставленных вами данных.
1. Проверка SSH-соединения
Вы упомянули, что установлено соединение с помощью telnet
на порт 22, однако оно закрывается. Это может указывать на несколько проблем:
-
Неправильные ключи SSH: Ваш лог показывает, что есть проблемы с форматом ключа. Убедитесь, что ваш закрытый ключ в формате OpenSSH. Если ключ был изменен вручную или поврежден, попробуйте восстановить его из резервной копии или пересоздать.
-
Проблемы с демоном SSH: Ваше утверждение о том, что после перезапуска демона SSH вы не видите консольного приглашения, указывает на то, что демон может не запускаться корректно. Проверьте логи SSH, обычно они располагаются в
/var/log/secure
или/var/log/auth.log
, чтобы получить более детальную информацию о том, что происходит. -
Настройки файрвола: Проверьте конфигурацию
iptables
илиfirewalld
. Убедитесь, что доступ к порту 22 не заблокирован для вашего IP-адреса.
2. Подключение к MySQL
Вы также упомянули, что можете подключиться с помощью telnet
к порту MySQL (3306), но не можете выполнить команду mysql -h db5 -uroot
. В этом случае причины можно разделить на следующие категории:
-
Доступ из удаленных хостов: Убедитесь, что пользователь
root
имеет право подключаться удаленно. По умолчанию, пользовательroot
может подключаться только локально. Проверьте настройки привилегий в MySQL:SELECT host FROM mysql.user WHERE user = 'root';
Если необходимо, создайте пользователя с правами доступа из определенного хоста или всех хостов:
CREATE USER 'root'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES;
-
Использование пароля: Как вы упомянули, команда
mysql -h db5 -uroot
может не работать без указания пароля. Попробуйте использовать команду с флагом-p
:mysql -h db5 -uroot -p
Это предложит вам ввести пароль, что может помочь в установлении соединения.
3. Рекомендации по устранению неисправностей
-
Проверка конфигурации сети: Убедитесь, что между клиентом и сервером нет проблем с маршрутизацией. Требуется возможность пинговать как сервер, так и клиент, чтобы исключить вероятность ошибки на сетевом уровне.
-
Настройка сетевого окружения: Если у вас есть управление сетевыми политиками, убедитесь, что они не блокируют необходимые порты. Это может потребовать обращения к вашему сисадмину или сетевому администратору.
-
Проверка системных ресурсов: Перегрузка сервера или исчерпанные ресурсы могут препятствовать нормальной работе демонов. Проверьте загрузку ЦП, использование памяти и другие системные метрики.
Заключение
Ваши проблемы с SSH и MySQL могут быть взаимосвязаны. Убедитесь, что вы проверили все вышеупомянутые аспекты. Если проблема сохраняется, может потребоваться более тщательное обследование сервера. Вы также можете рассмотреть возможность использования инструмента удаленного управления (например, iLO) для глубокого анализа системы при возникновении проблем.
Надеюсь, это руководство поможет вам определить и устранить ваши проблемы с сервером. Если у вас будут дополнительные вопросы, не стесняйтесь обращаться!