Установка системы intraHouse

Программная платформа для систем автоматизации.
Диспетчеризация, Умный дом.
filippovsky
Сообщения: 25
Зарегистрирован: 01 фев 2019, 09:38

Re: Установка системы intraHouse

Сообщение filippovsky » 12 апр 2019, 19:32

Подскажите, пожалуйста, как можно корректно перенести папку сервера из /opt/intrahouse-c/ в /var/intrahouse-c/ ?
Интересует перенос именно самого сервера, а не папки проектов.
У меня раздел /opt живет на eMMC, а раздел /var живет на HDD.
А в /opt/intrahouse-c пишутся логи, что хотелось бы делать на HDD.

Достаточно ли переписать папку и поправить пути запуска/останова в /etc/rc.* ?
Или есть какие-то нюансы?

intrapro
Сообщения: 441
Зарегистрирован: 13 дек 2016, 09:14

Re: Установка системы intraHouse

Сообщение intrapro » 12 апр 2019, 20:24

filippovsky писал(а):
12 апр 2019, 19:32
Подскажите, пожалуйста, как можно корректно перенести папку сервера из /opt/intrahouse-c/ в /var/intrahouse-c/ ?
Интересует перенос именно самого сервера, а не папки проектов.
У меня раздел /opt живет на eMMC, а раздел /var живет на HDD.
А в /opt/intrahouse-c пишутся логи, что хотелось бы делать на HDD.

Достаточно ли переписать папку и поправить пути запуска/останова в /etc/rc.* ?
Или есть какие-то нюансы?
Да, Вы можете перенести всю папку сервера в другой директорий

Есть и другой вариант - изменить только рабочую папку (Working directory), в которую переписать файл config.json.
Лог будет писаться в рабочую папку, а система может оставаться в opt.
Удалите в /opt/intrahouse-c папку log. Если все настроено верно, после перезагрузки сервера она там появится не должна

Настройка путей в скриптах системы инициализации:
Для systemd в файле /etc/systemd/system/intrahouse-c.service:

Код: Выделить всё

[Service]
  WorkingDirectory=/opt/intrahouse-c    // Это рабочий директорий 
  ExecStart=/opt/intrahouse-c/node/bin/node /opt/intrahouse-c/backend/app.js prod  // Это путь для запуска службы
 
Для sysv в файле /etc/init.d/intrahouse-c

Код: Выделить всё

dir="/opt/intrahouse-c  // Это рабочий директорий 
cmd="/opt/intrahouse-c/node/bin/node /opt/intrahouse-c/backend/app.js prod"

filippovsky
Сообщения: 25
Зарегистрирован: 01 фев 2019, 09:38

Re: Установка системы intraHouse

Сообщение filippovsky » 12 апр 2019, 20:53

пошел по пути полного переноса, т.к. в корне папки /opt/intrahouse-c тоже есть syslog, authlog, tokens
после переноса не цепляется к базе:


12.04 23:47:42.080 WARN: IH System has started
12.04 23:47:42.136 WARN: IH Create devices start
12.04 23:47:42.166 WARN: IH Created devices:7
12.04 23:47:42.226 INFO: DBAdapter dbagent/var/intrahouse-c/backend/lib/dbadapter/mysqlagent.js has started
12.04 23:47:51.771 INFO: DBAGENT mysqlagent error 220: Database status error: Error: getaddrinfo EAI_AGAIN localhost:3306


и еще глюк после переноса - если выбрать пункт в PM "Restart Intrahouse", сервер останавливается, но не запускается

PS: нашел еще такой файл /etc/init/intrahouse-c.conf

Код: Выделить всё

  start on filesystem and started networking
  stop on shutdown
  respawn
  chdir /opt/intrahouse-c
  env NODE_ENV=production

  exec /opt/intrahouse-c/node/bin/node /opt/intrahouse-c/backend/app.js prod
Попробую в нем тоже поправить пути

PPS: вылечилось. Спасибо. И графики заработали.

Наверное, имеет смысл добавить инструкцию по переносу в другую папку в документацию?

intrapro
Сообщения: 441
Зарегистрирован: 13 дек 2016, 09:14

Re: Установка системы intraHouse

Сообщение intrapro » 12 апр 2019, 21:38

filippovsky писал(а):
12 апр 2019, 20:53
пошел по пути полного переноса, т.к. в корне папки /opt/intrahouse-c тоже есть syslog, authlog, tokens
Это все остается в рабочей папке. Если отделить рабочую папку, в папку приложения ничего не пишется
filippovsky писал(а):
12 апр 2019, 20:53
PS: нашел еще такой файл /etc/init/intrahouse-c.conf

Код: Выделить всё

  start on filesystem and started networking
  stop on shutdown
  respawn
  chdir /opt/intrahouse-c
  env NODE_ENV=production

  exec /opt/intrahouse-c/node/bin/node /opt/intrahouse-c/backend/app.js prod
Попробую в нем тоже поправить пути

PPS: вылечилось. Спасибо. И графики заработали.
Запуск сервиса зависит от системы инициализации
Если вам помогло редактирование /etc/init/intrahouse-c.conf - значит у вас upstart :)
filippovsky писал(а):
12 апр 2019, 20:53
Наверное, имеет смысл добавить инструкцию по переносу в другую папку в документацию?
Вы правы, добавим

filippovsky
Сообщения: 25
Зарегистрирован: 01 фев 2019, 09:38

Re: Установка системы intraHouse

Сообщение filippovsky » 12 апр 2019, 21:46

Есть проблема. Не знаю ,связана ли она с переносом. Похоже, что была и до переноса, судя по логам.
При рестарте операционной системы по команде reboot - сервер после старта операционки запускается,и работает, но dbAgent не может запуститься, при этом в логах идут сообщения, что порт 8088 уже занят.
Если после этого перезапустить intraHouse командой из PM - то dbAdapter запускается, ошибки в логах исчезают.
В момент, когда идут ошибки в логах, netstat показывает ,что порт 8088 занят процессом node.
Такое ощущение, что стартуют два процесса сервера одновременно.По логам характерно, что идут записи 00:32, потом 00:33, потом опять 00:32. Т.е. нечто из двух мест пишет в один и тот же лог.

13.04 00:32:53.637 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo
13.04 00:32:54.066 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm
13.04 00:32:55.514 INFO: ADDON Received 6 files.
13.04 00:32:55.696 WARN: IH System has started

13.04 00:32:59.561 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo
13.04 00:32:59.807 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm
13.04 00:33:01.132 INFO: ADDON Received 6 files.
13.04 00:33:01.296 WARN: IH System has started

13.04 00:32:55.750 WARN: IH Create devices start
13.04 00:32:55.773 WARN: IH Created devices:7
13.04 00:32:55.832 INFO: DBAdapter dbagent/var/intrahouse-c/backend/lib/dbadapter/mysqlagent.js has started
13.04 00:33:05.823 INFO: DBAGENT mysqlagent error 220: Database status error: Error: getaddrinfo EAI_AGAIN localhost:3306
13.04 00:33:11.486 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo
13.04 00:33:11.732 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm
13.04 00:33:13.049 INFO: ADDON Received 6 files.
13.04 00:33:13.209 ERR: INIT HTTP server port 8088 error! Address in use.
13.04 00:33:13.219 ERR: FATAL ERROR. { message: 'HTTP server port 8088 error! Address in use.' }

13.04 00:33:13.724 IH IntraHouse has stopped.

13.04 00:33:14.478 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo
13.04 00:33:14.677 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm
13.04 00:33:15.833 INFO: ADDON Received 6 files.
13.04 00:33:15.992 ERR: INIT HTTP server port 8088 error! Address in use.
13.04 00:33:16.002 ERR: FATAL ERROR. { message: 'HTTP server port 8088 error! Address in use.' }
13.04 00:33:16.507 IH IntraHouse has stopped.

13.04 00:33:17.287 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo
13.04 00:33:17.496 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm
13.04 00:33:18.603 INFO: ADDON Received 6 files.
13.04 00:33:18.761 ERR: INIT HTTP server port 8088 error! Address in use.
13.04 00:33:18.771 ERR: FATAL ERROR. { message: 'HTTP server port 8088 error! Address in use.' }
13.04 00:33:19.276 IH IntraHouse has stopped.

[ .. дальше этот кусок непрерывно повторяется, до перезапуска из PM .. ]

13.04 00:35:53.211 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo
13.04 00:35:53.435 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm
13.04 00:35:54.669 INFO: ADDON Received 6 files.
13.04 00:35:54.828 ERR: INIT HTTP server port 8088 error! Address in use.
13.04 00:35:54.839 ERR: FATAL ERROR. { message: 'HTTP server port 8088 error! Address in use.' }
13.04 00:35:55.344 IH IntraHouse has stopped.

[ ... момент перезапуска из PМ .. ]

13.04 00:35:56.122 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo
13.04 00:35:56.370 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm
13.04 00:35:56.963 IH IntraHouse has stopped.

13.04 00:35:57.683 INFO: ADDON Received 6 files.
13.04 00:35:57.843 WARN: IH System has started
13.04 00:35:57.872 WARN: IH Create devices start
13.04 00:35:57.894 WARN: IH Created devices:7
13.04 00:35:57.947 INFO: DBAdapter dbagent/var/intrahouse-c/backend/lib/dbadapter/mysqlagent.js has started

filippovsky
Сообщения: 25
Зарегистрирован: 01 фев 2019, 09:38

Re: Установка системы intraHouse

Сообщение filippovsky » 12 апр 2019, 21:51

intrapro писал(а):
12 апр 2019, 21:38

Запуск сервиса зависит от системы инициализации
Если вам помогло редактирование /etc/init/intrahouse-c.conf - значит у вас upstart :)
Большое спасибо за помощь!
Убрал /etc/init/intrahouse-c.conf - и все заработало (кроме рестарта из PM).
Буду разбираться с настройками ОС.
Спасибо!!

PS: В моем случае пришлось наоборот оставить /etc/init/intrahouse-c.conf и убрать /etc/rc*.d/*intrahouse*
Т.е. оставить только upstart. DbAgent и рестарт из PM после этого работают корректно.
Может, кому пригодится.
Возможно, есть смысл в инсталляторе предусмотреть, что на старой Ubuntu нужно прописывать только upstart без init.d?
Понимаю, что лучше обновить ОС. :-)

intrapro
Сообщения: 441
Зарегистрирован: 13 дек 2016, 09:14

Re: Установка системы intraHouse

Сообщение intrapro » 15 апр 2019, 07:23

filippovsky писал(а):
12 апр 2019, 21:51
Большое спасибо за помощь!
Убрал /etc/init/intrahouse-c.conf - и все заработало (кроме рестарта из PM).
Буду разбираться с настройками ОС.
Спасибо!!

PS: В моем случае пришлось наоборот оставить /etc/init/intrahouse-c.conf и убрать /etc/rc*.d/*intrahouse*
Т.е. оставить только upstart. DbAgent и рестарт из PM после этого работают корректно.
Может, кому пригодится.
Возможно, есть смысл в инсталляторе предусмотреть, что на старой Ubuntu нужно прописывать только upstart без init.d?
Понимаю, что лучше обновить ОС. :-)
Добрый день!
Инсталлятор для Debian/Ubuntu прописывает файлы для стандартной системы инициализации исходя из версии ОС:

upstart для ubuntu 12, 14 - файл /etc/init/intrahouse-c.conf
systemd для ubuntu 16 и выше, debian 8 и выше - файл /etc/systemd/system/intrahouse-c.service

В /etc/rc*.d ничего не прописывается
Всегда прописывается /etc/init.d/intrahouse-c, имея в виду что стандартная система инициализации может быть отключена.

Обычно все нормально срабатывает и два раза сервис не запускается.
Какая у Вас ОС?

filippovsky
Сообщения: 25
Зарегистрирован: 01 фев 2019, 09:38

Re: Установка системы intraHouse

Сообщение filippovsky » 17 апр 2019, 18:08

intrapro писал(а):
15 апр 2019, 07:23
Обычно все нормально срабатывает и два раза сервис не запускается.
Какая у Вас ОС?
У меня CubieTruck 5 под управлением Linaro (диалект Ubuntu)/
При входе в ОС пишет
Welcome to Ubuntu 14.04.6 LTS (GNU/Linux 3.4.39 armv7l)

denis 19
Сообщения: 1
Зарегистрирован: 01 июн 2019, 07:45

Re: Установка системы intraHouse

Сообщение denis 19 » 01 июн 2019, 07:53

Здравствуйте. Использую raspberry pi 3 b, microSD transcend 10 класса с высокой скоростью чтения/записи и возникла проблема. Установил rtc ds3231 согласно вашей инструкции, но иногда время сбивается на 1970 год при отключении от сети. Есть подозрения что либо чтение/запись не отрабатывает корректно из за того, что что-то грузится быстрее. Делал задержку, сначала включался модуль rtc, через 5 секунд уже сама raspberry, но проблема осталась. Подскажите пожалуйста, как победить эту проблему? а то и толку то от модуля rtc нет.
Вложения
rtc.png
rtc.png (9.06 КБ) 214 просмотров

artem521
Сообщения: 131
Зарегистрирован: 18 ноя 2017, 08:39

Re: Установка системы intraHouse

Сообщение artem521 » 02 июл 2019, 08:21

denis 19 писал(а):
01 июн 2019, 07:53
Здравствуйте. Использую raspberry pi 3 b, microSD transcend 10 класса с высокой скоростью чтения/записи и возникла проблема. Установил rtc ds3231 согласно вашей инструкции, но иногда время сбивается на 1970 год при отключении от сети. Есть подозрения что либо чтение/запись не отрабатывает корректно из за того, что что-то грузится быстрее. Делал задержку, сначала включался модуль rtc, через 5 секунд уже сама raspberry, но проблема осталась. Подскажите пожалуйста, как победить эту проблему? а то и толку то от модуля rtc нет.
Не установлены i2c-tools и python-smbus
НУЖНО СДЕЛАТЬ ВОТ ЧТО
sudo su
raspi-config
ищем и включаем i2c
reboot
проверяем i2c
i2cdetect –y 1
если высвечивается «command not found» подключаем raspberry pi к интернету и устанавливаем apt-get install python-smbus
далее делаем apt-get install i2c-tools
далее редактируем nano /etc/modules и перед строкой i2c-dev добавляем i2c-bcm2708 сохраняемся ctrl+x yes
далее снова открываем nano /boot/config.txt и смотрим чтобы были прописаны такие строки:
# Enable audio (loads snd _bcm2835)
dtparam=audio=on
dtparam=i2cl=on
dtparam=i2c_arm=on
сохраняемся ctrl+x yes
перезагружаемся
снова открываем терминал и проверяем i2c i2cdetect–y1 и если все сделали правильно, то при подключенном модуле ds3231 должна появится табличка, в которой будет видно что по i2c подключено устройство ( в табличке вас должны порадовать цифры 68 это адрес ds3231 ).
На этом еще не все
Открываем терминал
nano
В конце файла /boot/config.txt дописать строку: dtoverlay=i2c-rtc,ds3231
Удалить fake-hwclock: sudo apt-get purge fake-hwclock
( можете и отключить )
Отредактировать файл/etc/rc.local, вставив перед строкой“exit 0” строку: /sbin/hwclock -s
Отредактировать файл /etc/default/hwclock and set HWCLOCKACCESS to no: HWCLOCKACCESS=no
Устанавливаем время sudo su
Date MMDDhhmmYYYY и нажимаем enter
Записываем время в ds3231
sudo hwclock–w
гружаемся и смотрим sudo hwclock –r ( время с ds3231)
при необходимости устанавливаем свою time zone
sudo dpkg-reconfigure tzdata

Ответить