понедельник, 17 апреля 2017 г.

Linux (CentOS 7) hard disk rescan (add new disk, expand present disk)

В меморизз, как пересканировать диски при добавлении или изменении размера (под виртуализацией).
начальное состояние (два диска в LVM):
lsscsi -s
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0   -
[2:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda   17.1GB
[2:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdb   17.1GB

ищем "системный класс" устройств SCSI
grep mpt /sys/class/scsi_host/host?/proc_name
получаем: /sys/class/scsi_host/host2/proc_name:mptspi
это host2

Для добавленного нового диска
echo "- - -" > /sys/class/scsi_host/host2/scan
 проверяем
[root@ru1linuxtest02 mik17]# lsscsi -s
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0        -
[2:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda   17.1GB
[2:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdb   17.1GB
[2:0:2:0]    disk    VMware   Virtual disk     1.0   /dev/sdc   17.1GB

Для диска с расширенным местом (диск sdb - он же [2:0:1:0])
echo 1 > /sys/class/scsi_device/2\:0\:1\:0/device/rescan
проверяем
[root@ru1linuxtest02 mik17]# lsscsi -s
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0        -
[2:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda   17.1GB
[2:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdb   25.7GB
[2:0:2:0]    disk    VMware   Virtual disk     1.0   /dev/sdc   17.1GB

вторник, 11 апреля 2017 г.

Удаленный вход для MySQL v.5.7.17 (в кластере v.7.5.5) (remote login MySQL)

Смотрим на прослушиваемые сервисы:
netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1054/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      1054/sshd
tcp6       0      0 :::3306                 :::*                    LISTEN      1866/mysqld

при попытке зайти удаленно получаем отлуп:
mysqladmin -h _ip_or_hostname_ version
mysqladmin: connect to server at 'ip' failed
error: 'Host 'hostname' is not allowed to connect to this MySQL server'

делается "изнутри" самого сервиса:
коннектимся под правильной учеткой и добавляем пользователя с удаленным доступом
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
flush privileges;

теперь под этим суперпользователем можно залезть в базу откуда угодно. Да здравствует безопасность!

понедельник, 10 апреля 2017 г.

Сброс root пароля в MySQL v.5.7.17 (в кластере v.7.5.5) (Reset root password MySQL)

Reset root password MySQL
mysqladmin version
   Server version          5.7.17-ndb-7.5.5-cluster

Останавливаем сервис mysqld
sudo systemctl stop mysqld

проверяем его статус
systemctl status mysqld
   Active: inactive (dead)

правим файл /etc/my.cnf
в раздел
   [mysqld]
дописываем
   skip-grant-tables
сохраняемся и перезапускаем сервис mysqld
sudo systemctl start mysqld

проверяем статус, когда он будет в состоянии
   Active: active (running)
логинимся клиентом под root'ом

проверяем наличие таблицы
mysql> SELECT user,authentication_string FROM mysql.user;
+-----------+-------------------------------------------+
| user      | authentication_string                     |
+-----------+-------------------------------------------+
| root      | *ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ|
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+-----------+-------------------------------------------+
2 rows in set (0.00 sec)

пишем наш новый пароль на root'а
update mysql.user set authentication_string=PASSWORD('new_password') where User='root';
флашим привилегии

перезапускаем сервис
sudo systemctl restart mysqld


пятница, 7 апреля 2017 г.

Добавление Adobe Flash Player'а в MS Windows Server 2016

Все достаточно просто (как оказывается):
cmd с Админскими привелегиями и:

dism /online /add-package /packagepath:”C:\Windows\servicing\Packages\Adobe-Flash-For-Windows-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum”


четверг, 6 апреля 2017 г.

Troubleshooting Старт MariaDB 10.0.30-1.el7 (MySQL) с ошибкой

Сразу после установки на свежую систему не стартовал сервис СУБД. При ручном старте вывалилось:
/etc/init.d/mysql start
Starting MySQL. ERROR!
при проверке журнала сервисов данных о сервисе нет:
journalctl -u mariadb.service
-- No entries --
там же сообщения об ошибках:
journalctl --priority=err
Mar 30 04:42:48 ru1linuxdns01 systemd[1]: Failed to start LSB: start and stop MySQL.
хоть что-то про MySQL.
в журнале системных сообщений есть данные только про установку сервиса:
less /var/log/messages
...
Mar 30 04:27:43 ru1linuxdns01 systemd: Reloading.
Mar 30 04:27:52 ru1linuxdns01 yum[2340]: Installed: MariaDB-server-10.0.30-1.el7.centos.x86_64
Mar 30 04:27:53 ru1linuxdns01 yum[2340]: Installed: MariaDB-compat-10.0.30-1.el7.centos.x86_64
Mar 30 04:27:53 ru1linuxdns01 yum[2340]: Installed: MariaDB-shared-10.0.30-1.el7.centos.x86_64
Mar 30 04:27:54 ru1linuxdns01 yum[2340]: Installed: MariaDB-devel-10.0.30-1.el7.centos.x86_64
Mar 30 04:27:54 ru1linuxdns01 yum[2340]: Erased: 1:mariadb-libs-5.5.52-1.el7.x86_64

в статусе сервиса:
systemctl status mysql.service
● mysql.service - LSB: start and stop MySQL
   Loaded: loaded (/etc/rc.d/init.d/mysql; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2017-03-30 04:42:48 EDT; 19min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 955 ExecStart=/etc/rc.d/init.d/mysql start (code=exited, status=1/FAILURE)
Mar 30 04:42:46 ru1linuxdns01 systemd[1]: Starting LSB: start and stop MySQL...
Mar 30 04:42:46 ru1linuxdns01 mysql[955]: Starting MySQL170330 04:42:46 mysqld_safe Logging to '/var/lib/mysql/ru1linuxdns01.err'.
Mar 30 04:42:46 ru1linuxdns01 mysql[955]: .170330 04:42:46 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Mar 30 04:42:46 ru1linuxdns01 mysql[955]: /usr/bin/mysqld_safe_helper: Cannot change uid/gid (errno: 1)
Mar 30 04:42:48 ru1linuxdns01 mysql[955]: ERROR!
Mar 30 04:42:48 ru1linuxdns01 systemd[1]: mysql.service: control process exited, code=exited status=1
Mar 30 04:42:48 ru1linuxdns01 systemd[1]: Failed to start LSB: start and stop MySQL.
Mar 30 04:42:48 ru1linuxdns01 systemd[1]: Unit mysql.service entered failed state.
Mar 30 04:42:48 ru1linuxdns01 systemd[1]: mysql.service failed.

при этом, файл регистрации ошибок не создался:
less /var/lib/mysql/ru1linuxdns01.err
/var/lib/mysql/ru1linuxdns01.err: No such file or directory

но вот данные об ошибке:
... /usr/bin/mysqld_safe_helper: Cannot change uid/gid (errno: 1)

Поиск по данной проблеме выдал ссылку на проблему с SELinux, которую разработчики MariaDB обещали поправить в версии 10.0.30
Как видно проблему так и не закрыли (о чем есть записи в их Jira).

Решение: отключение SELinux
vi /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=minimum

reboot




среда, 5 апреля 2017 г.

Troubleshooting установка HP iMC ошибка доступа к базе MS SQL

Во время установки системы управления и мониторинга HP iMC в самой простой конфигурации (для тестовых нужд), на Windows Server 2016, возникла ошибка доступа приложения к СУБД MS SQL 2008 Express, которая шла в комплекте с ПО. Соединение шло с учетной записью sa на localhost. В логе ошибок присутствовала такая запись:
com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "java.lang.RuntimeException: Could not generate DH keypair".
...
То есть приложение пыталось установить защищенное SSL соединение, но не смогла "договориться" о первичных DH ключах.

По ответу саппорта, это связано с двумя профилями шифрования (из нескольких десятков):
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA

Это часть ОС!

для решения вопроса необходимо:
- вызвать оснастку gpedit.msc
- перейти в контейнер Computer Configuration > Administrative Templates > Network > SSL Configuration Settings
- включить настройку SSL Cipher Suite Order = Enable
- перезагрузиться.

После перезагрузки отредактировать в regedit ветки реестра:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002]
убрать из середины профили (см. выше).
во второй ветке
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Cryptography\Configuration\SSL\00010002]
скорее всего этих профилей уже не будет (симлинки?)

перезагружаемся.

В моем случае эти телодвижения помогли.

вторник, 4 апреля 2017 г.

Troubleshooting сервер Apache в CentOS 7 не слушает соединение на 80 порту TCP IPv4

Столкнулся недавно с последствием плохо задокументированных изменений в настройках веб сервера Apache. Проявление проблемы:
netstat -tl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN
tcp6       0      0 [::]:http               [::]:*                  LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN

на стеке IPv6 порт 80 слушается, но на IPv4 нет. По некоторым не убедительным объяснениям на форумах, говорилось, что теперь, якобы стеки объединили и прочий подобный бред. Проверить можно сразу же:
curl http://web_server_ip
curl: (7) Failed connect to web_server_ip:80; Connection refused

в соединении отказано, на файрволле разрешения есть:
firewall-cmd --list-all
public (active) 
  services: dhcpv6-client ssh
  ports: 3306/tcp 80/tcp

Сам сервис фактически запущен и работает:
sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2017-03-31 10:14:44 MSK; 4min 16s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 1181 (httpd)
   Status: "Total requests: 1; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─1181 /usr/sbin/httpd -DFOREGROUND
           ├─2300 /usr/sbin/httpd -DFOREGROUND
           ├─2301 /usr/sbin/httpd -DFOREGROUND
           ├─2302 /usr/sbin/httpd -DFOREGROUND
           ├─2303 /usr/sbin/httpd -DFOREGROUND
           └─2304 /usr/sbin/httpd -DFOREGROUND

Mar 31 10:14:43 HST systemd[1]: Starting The Apache HTTP Server...
Mar 31 10:14:44 HST httpd[1181]: systemd[1]: Started The Apache HTTP Server.

Причина:

если раньше в конфигурационном файле Apache достаточно было указать
Listen 80
чтобы сервер слушал порт TCP 80 на всех интерфейсах и стеках протоколов, то теперь для IPv4 необходимо явно указать:
sudo vi /etc/httpd/conf/httpd.conf
 Listen 0.0.0.0:80
sudo service httpd restart

в результате имеем работоспособный сервис:
netstat -tl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN