Установка и настройка отказоустойчивого кластера. — различия между версиями

Материал из Integra-S Wiki
Перейти к: навигация, поиск
(Pools)
(Инструкция по установке Wine и Winetricks в Linux)
 
(не показано 37 промежуточных версий этого же участника)
Строка 316: Строка 316:
 
===Настройка основного хранилища===
 
===Настройка основного хранилища===
  
Вы можете настроить хранилище в кластере Proxmox как с применением GUI, так и с помощью CLI. Настройка хранилища сохраняется в файле
+
Вы можете настроить хранилище в кластере Proxmox как с применением GUI, так и с помощью CLI. Настройка хранилища сохраняется в файле
 /etc/pve/storage.cfg.
+
 
 +
'''/etc/pve/storage.cfg.'''
 +
 
 
Вы можете изменить этот файл непосредственно чтобы добавить хранилища через графический интерфейс Proxmox, а настройки сохранятся автоматически. Следующий снимок экрана является файлом настроек хранилищ в том виде, как он возникает после чистой установки Proxmox:
 
Вы можете изменить этот файл непосредственно чтобы добавить хранилища через графический интерфейс Proxmox, а настройки сохранятся автоматически. Следующий снимок экрана является файлом настроек хранилищ в том виде, как он возникает после чистой установки Proxmox:
 +
 +
[[Файл:cl_8.jpg|центр|]]
  
 
Настройка хранилищ обычно имеет следующий многострочный формат:
 
Настройка хранилищ обычно имеет следующий многострочный формат:
<type of storage> : <storage_id>
+
 
<path_to_storage>
+
'''<type of storage> : <storage_id>'''
<enable/disable share>
+
 
content types
+
'''<path_to_storage>'''
maxfiles <numeric value of maximum backups to keep>
+
 
На основании данной настройки существует локальное хранилище подключенное к кластеру Proxmox, причем все файлы будут сохраняться в каталоге /var/lib/vz. Данное хранилище может хранить типы содержания, включающие образы дисков, ISO, шаблоны контейнеров и файлы резервных копий. Хранилище будет хранить максимум три последних файла резервных копии. Следующий снимок экрана показывает хранилище из графического интерфейса Proxmox:
+
'''<enable/disable share>'''
 +
 
 +
'''content types'''
 +
 
 +
'''maxfiles <numeric value of maximum backups to keep>'''
 +
 
 +
На основании данной настройки существует локальное хранилище подключенное к кластеру Proxmox, причем все файлы будут сохраняться в каталоге '''/var/lib/vz'''. Данное хранилище может хранить типы содержания, включающие образы дисков, ISO, шаблоны контейнеров и файлы резервных копий. Хранилище будет хранить максимум три последних файла резервных копии. Следующий снимок экрана показывает хранилище из графического интерфейса Proxmox:
 +
 
 +
[[Файл:cl_9.jpg|центр|]]
  
 
Изменение настройки хранилища не требует перезагрузки и вступает в действие немедленно.
 
Изменение настройки хранилища не требует перезагрузки и вступает в действие немедленно.
Строка 335: Строка 347:
  
 
Добавляем внутреннюю сеть в веб-интерфейсе Proxmox для каждого из нодов (eth1)
 
Добавляем внутреннюю сеть в веб-интерфейсе Proxmox для каждого из нодов (eth1)
 +
 +
[[Файл:cl_10.jpg|центр|1000px|]]
  
 
System – сеть  
 
System – сеть  
  
Перезагружаем каждую нод (сервер) два раза, должно быть yes в столбце «Активно»
+
[[Файл:cl_11.jpg|центр|]]
 +
 
 +
Перезагружаем каждую нод (сервер) '''два раза''', должно быть '''yes''' в столбце «Активно»
  
 
===Для внутренней сети с использованием  10 Гб/с  и резервированием (Linux bond)===
 
===Для внутренней сети с использованием  10 Гб/с  и резервированием (Linux bond)===
  
 
====Вводная часть====
 
====Вводная часть====
+
 
Для обеспечения отказоустойчивости и повышения пропускной способности сетевых интерфейсов сервера используется агрегация линков, так называемый bonding. Эта технология позволяет объединить два или более физических сетевых интерфейсов в один виртуальный.
+
Для обеспечения отказоустойчивости и повышения пропускной способности сетевых интерфейсов сервера используется агрегация линков, так называемый bonding. Эта технология позволяет объединить два или более физических сетевых интерфейсов в один виртуальный.
  
 
====Типы агрегации (объединения) интерфейсов в Linux====
 
====Типы агрегации (объединения) интерфейсов в Linux====
  
mode=0 (balance-rr)
+
'''mode=0 (balance-rr)'''
 +
 
 
Этот режим используется по-умолчанию, если в настройках не указано другое. balance-rr обеспечивает балансировку нагрузки и отказоустойчивость. В данном режиме пакеты отправляются "по кругу" от первого интерфейса к последнему и сначала. Если выходит из строя один из интерфейсов, пакеты отправляются на остальные оставшиеся.При подключении портов к разным коммутаторам, требует их настройки.
 
Этот режим используется по-умолчанию, если в настройках не указано другое. balance-rr обеспечивает балансировку нагрузки и отказоустойчивость. В данном режиме пакеты отправляются "по кругу" от первого интерфейса к последнему и сначала. Если выходит из строя один из интерфейсов, пакеты отправляются на остальные оставшиеся.При подключении портов к разным коммутаторам, требует их настройки.
mode=1 (active-backup)
+
 
 +
'''mode=1 (active-backup)'''
 +
 
 
При active-backup один интерфейс работает в активном режиме, остальные в ожидающем. Если активный падает, управление передается одному из ожидающих. Не требует поддержки данной функциональности от коммутатора.
 
При active-backup один интерфейс работает в активном режиме, остальные в ожидающем. Если активный падает, управление передается одному из ожидающих. Не требует поддержки данной функциональности от коммутатора.
mode=2 (balance-xor)
+
 
 +
'''mode=2 (balance-xor)'''
 +
 
 
Передача пакетов распределяется между объединенными интерфейсами по формуле ((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов. Один и тот же интерфейс работает с определённым получателем. Режим даёт балансировку нагрузки и отказоустойчивость.
 
Передача пакетов распределяется между объединенными интерфейсами по формуле ((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов. Один и тот же интерфейс работает с определённым получателем. Режим даёт балансировку нагрузки и отказоустойчивость.
mode=3 (broadcast)
+
 
 +
'''mode=3 (broadcast)'''
 +
 
 
Происходит передача во все объединенные интерфейсы, обеспечивая отказоустойчивость.
 
Происходит передача во все объединенные интерфейсы, обеспечивая отказоустойчивость.
mode=4 (802.3ad)
+
 
 +
'''mode=4 (802.3ad)'''
 +
 
 
Это динамическое объединение портов. В данном режиме можно получить значительное увеличение пропускной способности как входящего так и исходящего трафика, используя все объединенные интерфейсы. Требует поддержки режима от коммутатора, а так же (иногда) дополнительную настройку коммутатора.
 
Это динамическое объединение портов. В данном режиме можно получить значительное увеличение пропускной способности как входящего так и исходящего трафика, используя все объединенные интерфейсы. Требует поддержки режима от коммутатора, а так же (иногда) дополнительную настройку коммутатора.
mode=5 (balance-tlb)
+
 
 +
'''mode=5 (balance-tlb)'''
 +
 
 
Адаптивная балансировка нагрузки. При balance-tlb входящий трафик получается только активным интерфейсом, исходящий - распределяется в зависимости от текущей загрузки каждого интерфейса. Обеспечивается отказоустойчивость и распределение нагрузки исходящего трафика. Не требует специальной поддержки коммутатора.
 
Адаптивная балансировка нагрузки. При balance-tlb входящий трафик получается только активным интерфейсом, исходящий - распределяется в зависимости от текущей загрузки каждого интерфейса. Обеспечивается отказоустойчивость и распределение нагрузки исходящего трафика. Не требует специальной поддержки коммутатора.
mode=6 (balance-alb)
 
Адаптивная балансировка нагрузки (более совершенная). Обеспечивает балансировку нагрузки как исходящего (TLB, transmit load balancing), так и входящего трафика (для IPv4 через ARP). Не требует специальной поддержки коммутатором, но требует возможности изменять MAC-адрес устройства.
 
 
  
 +
'''mode=6 (balance-alb)'''
  
 +
Адаптивная балансировка нагрузки (более совершенная). Обеспечивает балансировку нагрузки как исходящего (TLB, transmit load balancing), так и входящего трафика (для IPv4 через ARP). Не требует специальной поддержки коммутатором, но требует возможности изменять MAC-адрес устройства.
  
 
===Настройка Linux Bond===  
 
===Настройка Linux Bond===  
  
1) Добавить через веб морду
+
1. Добавить через веб морду
  
 
Datacenter-> node->System->Network
 
Datacenter-> node->System->Network
  
 
Create Linux Bond
 
Create Linux Bond
 +
 +
[[Файл:cl_12.jpg|центр|]]
 +
  
  
  
 +
[[Файл:cl_13.jpg|центр|]]
  
 
Обратите внимание eth1 eth2  в вашем случаем могут быть другими
 
Обратите внимание eth1 eth2  в вашем случаем могут быть другими
Строка 381: Строка 411:
 
Все заполняем и делаем restart через веб морду
 
Все заполняем и делаем restart через веб морду
  
3) Добавляем в nano /etc/network/interfaces.new
+
2. Добавляем в '''nano /etc/network/interfaces.new'''
bond_primary eth2
 
в конец файла
 
  
4) Должно выглядеть так, (eth's могут не совпадать)
 
auto bond0
 
iface bond0 inet static
 
address  10.10.10.1
 
netmask  255.255.255.0
 
slaves eth1 eth2
 
bond_miimon 100
 
bond_mode active-backup
 
 
bond_primary eth2
 
bond_primary eth2
Сохраняем, перезагружаемся.
 
Проверяем командой
 
nano /etc/network/interfaces
 
сохранилась ли строка bond_primary eth2 в конце
 
На 10 гб/с сетевых картах в Крыму eth2 расположен дальше всех, последним сетевым входом, предпоследним является eth3. Будьте внимательны!
 
Проверить активность портов можно командой
 
  
#cat /proc/net/bonding/bond0
+
в конец файла
  
MII Status должно быть up
+
3. Должно выглядеть так, (eth's могут не совпадать)
Если down то пишем команду
 
#ifup eth2
 
(или же eth3, смотря в какой интерфейс подключен кабель)
 
  
===Общее для всех внутренних сетей ===
+
auto bond0
 +
iface bond0 inet static
 +
address  10.10.10.1
 +
netmask  255.255.255.0
 +
slaves eth1 eth2
 +
bond_miimon 100
 +
bond_mode active-backup
 +
bond_primary eth2
  
На главной Ноде (dir1) пишем команду:
+
Сохраняем, перезагружаемся.
  
#pveceph init --network 10.17.0.0/24
+
Проверяем командой
  
(нужно помнить что 10.17.0.0/24 это для адресов 10.17.Х.Х с маской 255.255.255.0, в вашем случае может быть иначе)
+
'''nano /etc/network/interfaces'''
  
Создание мониторов делаем через консоль, для каждого нода командой:
+
сохранилась ли строка '''bond_primary eth2''' в конце
  
#pveceph createmon
+
На 10 гб/с сетевых картах в Крыму '''eth2''' расположен дальше всех, последним сетевым входом, предпоследним является '''eth3'''. Будьте внимательны!
  
Должны получить следующее:
+
Проверить активность портов можно командой
  
Далее подготавливаем HDD для OSD, для этого их необходимо перевести в GPT
+
'''<nowiki>#cat /proc/net/bonding/bond0</nowiki>'''
в консоле пишем команду:
 
  
#fdisk /dev/sdc
+
[[Файл:cl_14.jpg|центр|]]
  
g
+
'''MII Status''' должно быть '''up'''
  
w
+
Если down то пишем команду
  
Тоже самое проделываем для sdd, и так на каждой Ноде
+
'''<nowiki>#ifup eth2</nowiki>'''
  
После подготовки к созданию OSD, переходим в веб-интерфейсе в строку Ceph – OSD и нажимаем создать OSD
+
(или же '''eth3''', смотря в какой интерфейс подключен кабель)
  
Выбираем sdc  и в строке журналирования так же sdc
+
===Общее для всех внутренних сетей ===
  
Для sdd так же журналирование на sdd
+
На главной Ноде (dir1) пишем команду:
 
 
 
 
И так на каждой из нод. В итоге получаем 6 шт OSD
 
 
 
 
 
 
 
Далее удаляем «Пул» и создаем новый с такими параметрами:
 
  
 +
'''<nowiki>#pveceph init --network 10.17.0.0/24</nowiki>'''
  
 +
''(нужно помнить что 10.17.0.0/24 это для адресов 10.17.Х.Х с маской 255.255.255.0, в вашем случае может быть иначе)''
  
 +
Создание мониторов делаем через консоль, '''для каждого нода''' командой:
  
 +
'''<nowiki>#pveceph createmon</nowiki>'''
  
 +
Должны получить следующее:
  
 +
[[Файл:cl_15.jpg|центр|]]
  
 +
Далее подготавливаем HDD для OSD, для этого их необходимо перевести в GPT
 +
в консоле пишем команду:
  
 +
<nowiki>#fdisk /dev/sdc</nowiki>
 +
g
 +
w
  
 +
Тоже самое проделываем для '''sdd''', и так на каждой Ноде
  
 +
После подготовки к созданию OSD, переходим в веб-интерфейсе в строку '''Ceph – OSD и нажимаем создать OSD'''
  
 +
Выбираем '''sdc'''  и в строке журналирования так же '''sdc'''
  
 +
Для '''sdd''' так же журналирование на '''sdd'''
  
Далее создаем RBD
 
  
Датацентр — Хранилище — добавить — RBD
+
'''И так на каждой из нод.''' В итоге получаем 6 шт OSD
  
 +
[[Файл:cl_16.jpg|центр|]]
  
 +
Далее '''удаляем''' «Пул» и создаем новый с такими параметрами:
  
 +
[[Файл:cl_17.jpg|центр|]]
  
 +
'''Далее создаем RBD'''
  
 +
'''Датацентр — Хранилище — добавить — RBD'''
  
 +
[[Файл:cl_18.jpg|центр|]]
  
 +
''Мониторы отделяем запятой без пробела''
  
Мониторы отделяем запятой без пробела
+
Затем на '''любой''' из Нод через консоль делаем следующее:
  
Затем на любой из Нод через консоль делаем следующее:
+
<nowiki>#cd /etc/pve/priv/</nowiki>
 
+
<nowiki>#mkdir ceph</nowiki>
#cd /etc/pve/priv/
+
<nowiki>#cp /etc/ceph/ceph.client.admin.keyring ceph/iperbd.keyring</nowiki>     (используйте Табуляцию)
 
 
#mkdir ceph
 
 
 
#cp /etc/ceph/ceph.client.admin.keyring ceph/iperbd.keyring      (используйте Табуляцию)
 
 
 
где iperbd — это имя нашего RBD.
 
  
 +
где '''iperbd''' — это имя нашего RBD.
  
 
==Создание Glusterfs==
 
==Создание Glusterfs==
  
        GlusterFS — это распределённая, параллельная, линейно масштабируемая файловая система с возможностью защиты от сбоев. С помощью InfiniBand RDMA или TCP/IP GlusterFS может объединить хранилища данных, находящиеся на разных серверах, в одну параллельную сетевую файловую систему. GlusterFS работает в пользовательском пространстве при помощи технологии FUSE, поэтому не требует поддержки со стороны ядра операционной системы и работает поверх существующих файловых систем (ext3, ext4, XFS, reiserfs и т. п.).
+
GlusterFS — это распределённая, параллельная, линейно масштабируемая файловая система с возможностью защиты от сбоев. С помощью InfiniBand RDMA или TCP/IP GlusterFS может объединить хранилища данных, находящиеся на разных серверах, в одну параллельную сетевую файловую систему. GlusterFS работает в пользовательском пространстве при помощи технологии FUSE, поэтому не требует поддержки со стороны ядра операционной системы и работает поверх существующих файловых систем (ext3, ext4, XFS, reiserfs и т. п.).
  
 
Проверить на главной ноде gluster всех трех нод, командой:
 
Проверить на главной ноде gluster всех трех нод, командой:
  
#gluster peer probe <dir1 name>
+
<nowiki>#gluster peer probe <dir1 name></nowiki>
 
+
<nowiki>#gluster peer probe <dir2 name></nowiki>
#gluster peer probe <dir2 name>
+
<nowiki>#gluster peer probe <dir3 name></nowiki>
 
 
#gluster peer probe <dir3 name>
 
  
  
 
На всех трех нодах проделываем следующие команды:
 
На всех трех нодах проделываем следующие команды:
  
#zfs create -o mountpoint=/media/gfs rpool/gfs
+
  <nowiki>#zfs create -o mountpoint=/media/gfs rpool/gfs
 
+
#zfs set acltype=posixacl rpool/gfs
#zfs set acltype=posixacl rpool/gfs
+
#zfs set atime=off rpool/gfs
 
+
#zfs set xattr=sa rpool/gfs
#zfs set atime=off rpool/gfs
+
#zfs set overlay=on rpool/gfs</nowiki>
 
 
#zfs set xattr=sa rpool/gfs
 
 
 
#zfs set overlay=on rpool/gfs
 
  
  
 
на всех нодах создаем папку wbackup командой:
 
на всех нодах создаем папку wbackup командой:
  
#mkdir -p /media/gfs/wbackup
+
<nowiki>#mkdir -p /media/gfs/wbackup</nowiki>
 
 
  
 
Далее на главной ноде <dir1> пишем:
 
Далее на главной ноде <dir1> пишем:
  
#gluster volume create wbackup replica 3 dir1:/media/gfs/wbackup  
+
<nowiki>#gluster volume create wbackup replica 3 dir1:/media/gfs/wbackup dir2:/media/gfs/wbackup dir3:/media/gfs/wbackup force    (одной строкой)</nowiki>
dir2:/media/gfs/wbackup dir3:/media/gfs/wbackup force    (одной строкой)
 
  
 
Стартуем службу
 
Стартуем службу
  
#gluster volume start wbackup (на главной ноде)
+
<nowiki>#gluster volume start wbackup (на главной ноде)</nowiki>
  
 
Проверяем на каждой ноде командой
 
Проверяем на каждой ноде командой
  
#gluster volume info
+
<nowiki>#gluster volume info</nowiki>
  
Затем в веб-интерфейсе Датацентр — Хранилище — Добавить - GlusterFS
+
Затем в веб-интерфейсе '''Датацентр — Хранилище — Добавить - GlusterFS'''
 +
 
 +
[[Файл:cl_19.jpg|центр|]]
  
 
Строки Volume name и Узлы брать из выпадающего списка, не вбивая самостоятельно!
 
Строки Volume name и Узлы брать из выпадающего списка, не вбивая самостоятельно!
Строка 532: Строка 552:
 
Если требуется удалить volume
 
Если требуется удалить volume
  
#gluster volume stop wbackup
+
<nowiki>#gluster volume stop wbackup
 
+
#gluster volume delete wbsckup
#gluster volume delete wbsckup
+
#cd /media/glusterfs/wbackup
 
+
for I in ‘attr -lq .`; do setfattr -x trusted.$i .; done attr -lq ./</nowiki>
#cd /media/glusterfs/wbackup
 
for I in ‘attr -lq .`; do setfattr -x trusted.$i .; done attr -lq ./
 
  
  
 
===Настройка резервирования===
 
===Настройка резервирования===
  
1) Настраиваем glusterfs
+
1. Настраиваем glusterfs
  
Datacenter → [wbackup/Glusterfs] → оставить только Content [VZDump backup file] → [OK]
+
'''Datacenter → [wbackup/Glusterfs] → оставить только Content [VZDump backup file] → [OK]'''
  
 
Или в русскоязычном интерфейсе
 
Или в русскоязычном интерфейсе
  
Датацентр – Хранилище – wbackup – оставить только Образ диска [VZDump backup file] - [OK]
+
'''Датацентр – Хранилище – wbackup – оставить только Образ диска [VZDump backup file] - [OK]'''
  
 +
[[Файл:cl_20.jpg|центр|]]
  
  
 +
[[Файл:cl_21.jpg|центр|]]
  
 
+
'''Datacenter → Backup → [Add] → <Storage local> изменить на  <Storage wbackup> настроить → [Create]'''
 
 
Datacenter → Backup → [Add] → <Storage local> изменить на  <Storage wbackup> настроить → [Create]
 
  
 
Или в русскоязычном интерфейсе
 
Или в русскоязычном интерфейсе
  
Датацентр – Резервирование – Добавить – < local> изменить на  <wbackup> настроить расписание -  [Create]
+
'''Датацентр – Резервирование – Добавить – < local> изменить на  <wbackup> настроить расписание -  [Create]'''
  
 +
[[Файл:cl_22.png|центр|]]
  
 
==Создание VM==
 
==Создание VM==
 +
Перед созданием VM нужно закачать iso образы (Debian 8.5/8.6) на локальные диски  ноды, чтобы потом можно было установить OS на виртуальную машину
 +
 +
[[Файл:cl_23.jpg|центр|]]
 
 
Перед созданием VM нужно закачать iso образы (Debian 8.5/8.6) на локальные диски  ноды, чтобы потом можно было установить OS на виртуальную машину
+
Выбираем необходимый iso образ, в нашем случае '''debian-8.6.0-amd64-DVD-1''' и нажимаем '''загрузить'''. Дождаться завершения закачки iso образа на Ноду по сети. Таких образов можно хранить любое количество, зависит от потребности и свободного места на локальных OSD.
  
 +
Затем переходим к созданию VM – на веб-интерфейс proxmox выбираем '''«Создать VM»''' в верхнем правом углу, в следующем окне:
 
 
Выбираем необходимый iso образ, в нашем случае debian-8.6.0-amd64-DVD-1 и нажимаем загрузить. Дождаться завершения закачки iso образа на Ноду по сети. Таких образов можно хранить любое количество, зависит от потребности и свободного места на локальных OSD.
+
[[Файл:cl_24.jpg|центр|]]
Затем переходим к созданию VM – на веб-интерфейс proxmox выбираем «Создать VM» в верхнем правом углу, в следующем окне:
+
 
+
где '''Узел''' это — имя ноды, '''VM ID''' - это идентификатор виртуальной машины, '''Имя''' — название виртуальной машины. '''У Вас будет всё свое.''' Нажимаем далее
 +
 
 +
В следующем окне выбираем тип ОС (В нашем случае для Debiana 8.6 – '''ядро Linux 4.X/3.X/2.6 Kernel'''
 +
 
 +
[[Файл:cl_25.jpg|центр|]]
 +
 
 +
Нажимаем '''«далее»'''
  
где Узел это — имя ноды, VM ID - это идентификатор виртуальной машины, Имя — название виртуальной машины. У Вас будет всё свое. Нажимаем далее
+
[[Файл:cl_26.jpg|центр|]]
  
В следующем окне выбираем тип ОС (В нашем случае для Debiana 8.6 – ядро Linux 4.X/3.X/2.6 Kernel
+
Указываем закаченный нами образ, с которого будет устанавливаться ОС
  
Нажимаем «далее»
+
[[Файл:cl_27.jpg|центр|]]
  
Указываем закаченный нами образ, с которого будет устанавливаться ОС
+
Нажимаем «далее»
Нажимаем «далее»
 
 
 
 +
Выбираем SATA, и указываем размер диска для виртуальной машины, Cache обязательно '''Write back'''
  
Выбираем SATA, и указываем размер диска для виртуальной машины, Cache обязательно Write back
+
Нажимаем '''«далее»'''
Нажимаем «далее»
 
 
 
Выбираем необходимое количество Sockets и Cores (ядер) процессора
+
Выбираем необходимое количество '''Sockets''' и '''Cores (ядер) процессора'''
Нажимаем «далее»
+
 
Выбираем авто определение ОЗУ и указываем по необходимости размер (минимум и максимум)
+
[[Файл:cl_28.jpg|центр|]]
 +
 
 +
Нажимаем '''«далее»'''
 +
 
 +
Выбираем авто определение ОЗУ и указываем по необходимости размер (минимум и максимум)
 
 
 +
[[Файл:cl_29.jpg|центр|]]
 +
 +
Нажимаем '''«далее»'''
 +
 +
'''Сеть''' оставляем без изменений
 +
 +
[[Файл:cl_30.jpg|центр|]]
  
Нажимаем «далее»
+
Нажимаем '''«далее»''' и в последней закладке нажимаем '''«завершить»'''
  
Сеть оставляем без изменений
+
Новая VM появится именно на той ноде, которая была указана при создании VM. На каждой ноде может быть несколько VM, все зависит от поставленных задач и мощности серверов (нодов) состоящих в кластере. По умолчанию VM не запущена и не установлена в автозапуск вместе с proxmox. Запустить можно кнопкой «запуск» в верхнем правом углу веб-интерфейса, а загружать автоматически можно изменив параметр '''«Запуск при загрузке»''':
  
Нажимаем «далее» и в последней закладке нажимаем «завершить»
+
[[Файл:cl_31.jpg|центр|]]
Новая VM появится именно на той ноде, которая была указана при создании VM. На каждой ноде может быть несколько VM, все зависит от поставленных задач и мощности серверов (нодов) состоящих в кластере. По умолчанию VM не запущена и не установлена в автозапуск вместе с proxmox. Запустить можно кнопкой «запуск» в верхнем правом углу веб-интерфейса, а загружать автоматически можно изменив параметр «Запуск при загрузке»:
 
  
+
После установки ОС на виртуальную машину, iso образ обязательно нужно размонтировать, иначе система будет загружаться с образа. Должно быть так
После установки ОС на виртуальную машину, iso образ обязательно нужно размонтировать, иначе система будет загружаться с образа. Должно быть так
 
  
 +
[[Файл:cl_32.jpg|центр|]]
 
 
Если после подключения к VM по двойному клику мыши виден только черный экран — нажмите Enter при активном окне VM.
+
Если после подключения к VM по двойному клику мыши виден только '''черный экра'''н — нажмите Enter при активном окне VM.
 
 
 
===Экспорт/импорт VM===
 
===Экспорт/импорт VM===
  
1) Экпортируем с кластера-донора (Node) открываем консоль
+
1. Экпортируем с кластера-донора (Node) открываем консоль
  
#rbd export ipepool/vm-106-disk-1 - | pv | dd of=vm-106-disk-1
+
<nowiki>#rbd export ipepool/vm-106-disk-1 - | pv | dd of=vm-106-disk-1</nowiki>
  
 
либо
 
либо
  
#rbd export ipepool/vm-106-disk-1 - | dd of=vm-106-disk-1
+
<nowiki>#rbd export ipepool/vm-106-disk-1 - | dd of=vm-106-disk-1</nowiki>
  
где vm-106-disk-1 — ID VM
+
где '''vm-106-disk-1 — ID VM'''
  
 
затем запаковываем, переходим в папку где лежит файл raw и пишем
 
затем запаковываем, переходим в папку где лежит файл raw и пишем
  
#tar -zcvf test.tar.gz vm-106-disk-1
+
<nowiki>#tar -zcvf test.tar.gz vm-106-disk-1</nowiki>
  
где test – имя архива
+
где '''test''' – имя архива
  
vm-106-disk-1 – это имя архивируемого образа
+
'''vm-106-disk-1''' – это имя архивируемого образа
  
 
При упаковке и распаковке нельзя закрывать окно
 
При упаковке и распаковке нельзя закрывать окно
  
Копируем через WinSCP к себе запакованный образ
+
Копируем через '''WinSCP''' к себе запакованный образ
  
2) Импортируем на кластер-акцептор
+
2. Импортируем на кластер-акцептор
  
 
Копируем и распаковываем образ VM командой
 
Копируем и распаковываем образ VM командой
  
#tar -zxvf test.tar.gz
+
<nowiki>#tar -zxvf test.tar.gz</nowiki>
  
 
заходим в директорию с образом и пишем
 
заходим в директорию с образом и пишем
  
#dd if=vm-106-disk-1 | pv | rbd import --image-format 2 --image-feature layering – ipepool/vm-106-disk-1  
+
<nowiki>#dd if=vm-106-disk-1 | pv | rbd import --image-format 2 --image-feature layering – ipepool/vm-106-disk-1</nowiki>
  
 
либо
 
либо
  
#dd if=vm-106-disk-1 | rbd import --image-format 2 --image-feature layering – ipepool/vm-106-disk-1
+
<nowiki>#dd if=vm-106-disk-1 | rbd import --image-format 2 --image-feature layering – ipepool/vm-106-disk-1</nowiki>
  
 
Заходим в директорию с конфигурационными файлами вм'ов на клаcтере-доноре через WinSCP
 
Заходим в директорию с конфигурационными файлами вм'ов на клаcтере-доноре через WinSCP
  
cd /etc/pve/qemu-server
+
<nowiki>cd /etc/pve/qemu-server</nowiki>
  
и копируем себе файл ХХХ.conf, а затем подкидываем его на  кластера-акцептор по пути  
+
и копируем себе файл '''ХХХ.conf''', а затем подкидываем его на  кластера-акцептор по пути  
  
cd /etc/pve/qemu-server;  
+
<nowiki>cd /etc/pve/qemu-server;</nowiki>
  
 
машина появиться на веб-интерфейсе кластера-акцептора
 
машина появиться на веб-интерфейсе кластера-акцептора
  
3) Смотрим результат
+
3. Смотрим результат
  
#rbd -p ipepool ls
+
<nowiki>#rbd -p ipepool ls</nowiki>
  
#rbd info ipepool/vm-106-disk-1
+
<nowiki>#rbd info ipepool/vm-106-disk-1</nowiki>
  
4) Если требуется удалить VM
+
4. Если требуется удалить VM
  
#rbd -p ipepool rm <diskname>
+
<nowiki>#rbd -p ipepool rm <diskname></nowiki>
  
(удаление лишних feature) rbd feature disable vm-106-disk-1 <feature>
+
(удаление лишних feature) '''rbd feature disable vm-106-disk-1 <feature>'''
  
Обязательно сменить сет. настройки и имена у VM, иначе будет конфликт IP адресов!
+
''Обязательно сменить сет. настройки и имена у VM, иначе будет конфликт IP адресов!''
  
 +
==HA для мигрирования VM (создание групп)==
  
==HA для мигрирования VM (создание групп)==
+
Для начала необходимо создать группу нодов участвующих в миграции своих VM
  
Для начала необходимо создать группу нодов участвующих в миграции своих VM
+
[[Файл:cl_33.jpg|центр|]]
  
  
 +
[[Файл:cl_34.jpg|центр|]]
  
Далее указываем ID (имя) и выбираем серверы в группу (галочкой)
+
Далее указываем ID (имя) и выбираем серверы в группу (галочкой)
  
Затем переход на закладку HA и нажимаем «добавить»
+
Затем переход на закладку HA и нажимаем '''«добавить»'''
  
 +
[[Файл:cl_35.jpg|центр|]]
 
 
В открывшимся окне заполняем ID VM которая хотите чтобы мигрировала и указываем число перезапуска (1 по умолчанию), можно вписать комментарий
+
В открывшимся окне заполняем ID VM которая хотите чтобы мигрировала и указываем число перезапуска (1 по умолчанию), можно вписать комментарий
  
 +
[[Файл:cl_36.jpg|центр|]]
  
 
+
'''Проделать со всем ID нодами, которые необходимы для миграции'''
Проделать со всем ID нодами, которые необходимы для миграции
 
 
 
При миграции VM с одной нод на другую в ручную в режиме «онлайн» могут помешать подключенные устройства USB и прочие. Отключите их и попробуйте заного.
+
При миграции VM с одной нод на другую в ручную в режиме «онлайн» могут помешать подключенные устройства USB и прочие. Отключите их и попробуйте заного.
 
 
Например ручное мигрирование VM не доступно для VM на которой установлен Видео-сервер, потому что USB-ключ защиты не позволяет произвести миграцию.
+
Например ручное мигрирование VM не доступно для VM на которой установлен Видео-сервер, потому что USB-ключ защиты не позволяет произвести миграцию.  
 
 
Т.к. ключи защиты установлены на всех четерых Нод (включая Zip нод), а рег-файлы всех четырех ключей находятся в папке с установленной video-server 7.0 — при автоматической миграции (если нода выходит из строя) проблем с лицензированием не произойдет. Каждый ключ цепляет свой рег-файл.
 
 
 
Если автоматическое мигрирование VM произошло неудачно (красный крестик на ID VM) попробуйте удалить/изменить ресурсы или группы HA, а затем произвести миграция в ручную на ту ноду, на которой эта VM работала корректно.  
 
  
 +
Т.к. ключи защиты установлены на всех четерых Нод (включая Zip нод), а рег-файлы всех четырех ключей находятся в папке с установленной video-server 7.0 — при автоматической миграции (если нода выходит из строя) проблем с лицензированием не произойдет. Каждый ключ цепляет свой рег-файл.
  
 +
Если автоматическое мигрирование VM произошло неудачно (красный крестик на ID VM) попробуйте удалить/изменить ресурсы или группы HA, а затем произвести миграция в ручную на ту ноду, на которой эта VM работала корректно.
  
 
==Moxa (настройка)==
 
==Moxa (настройка)==
  
apt install gcc make linux-headers-$(uname -r)
+
apt install gcc make linux-headers-$(uname -r)
 +
1) choose kernel 3.x
 +
2) #скопировать подготовленный moxa драйвер в /root
 +
3) #cd /root/moxa/kernerl3.x
 +
#./mxinst
 +
y
 +
N
 +
# cd /usr/lib/npreals2/driver/
 +
# ./mxaddsvr [ip moxa] 2
 +
4) #cp /root/moxa/npreals /etc/init.d/
 +
5) #update-rc.d npreals remove && update-rc.d npreals defaults
 +
6) #cp /root/moxa/ntp /etc/init.d/
 +
7) #update-rc.d ntp remove && update-rc.d ntp defaults
  
1) choose kernel 3.x
+
==Использование скрипта для добавления новых database, mss, ff==
 +
на VM-ках
  
2) #скопировать подготовленный moxa драйвер в /root
+
1. Сменить всем вм машинам ip-адреса
  
3) #cd /root/moxa/kernerl3.x
+
2. Сменить всем вм машинам IP в hosts
  
#./mxinst
+
3. Запустить скрипты по созданию database, ff, mss на соответствующих вм
y
+
 
N
+
:3.1. Запускать скрипт из папки командой
  
# cd /usr/lib/npreals2/driver/
+
<nowiki># ./<скрипт создающий></nowiki>
 +
<nowiki># ./<скрипт удаляющий></nowiki>
 +
   
 +
:3.2. При создании использовать имена без пробелов и спец символов
  
# ./mxaddsvr [ip moxa] 2
+
(на pgvm поправить конфиг файл)
  
4) #cp /root/moxa/npreals /etc/init.d/
+
№1 Base
  
5) #update-rc.d npreals remove && update-rc.d npreals defaults
+
#ls – что лежит в текущей папке
  
6) #cp /root/moxa/ntp /etc/init.d/
+
видим '''postgresql'''
  
7) #update-rc.d ntp remove && update-rc.d ntp defaults
+
переходим в '''#cd postgresql'''
  
 +
'''<nowiki>#ls</nowiki>''' – видим скрипт
  
 +
Делаем исполняемым, если не было проделано
  
==Использование скрипта для добавления новых database, mss, ff==
+
'''<nowiki>#chmod +x <имя скрипта></nowiki>'''
на VM-ках
 
 
 
1) Сменить всем вм машинам ip-адреса
 
  
2) Сменить всем вм машинам IP в hosts
+
Запускаем
  
3) Запустить скрипты по созданию database, ff, mss на соответствующих вм
+
'''<nowiki>#./createNewdb.sh</nowiki>'''
 
 
3.1) Запускать скрипт из папки командой
 
          # ./<скрипт создающий>
 
          # ./<скрипт удаляющий>
 
   
 
3.2) При создании использовать имена без пробелов и спец символов
 
(на pgvm поправить конфиг файл)
 
  
№1 Base
 
#ls – что лежит в текущей папке
 
видим postgresql
 
переходим в #cd postgresql
 
#ls – видим скрипт
 
Делаем исполняемым, если не было проделано
 
#chmod +x <имя скрипта>
 
Запускаем
 
#./createNewdb.sh
 
  
 
Запустился скрипт-диалог
 
Запустился скрипт-диалог
 +
 
1. server host: 10.17.9.101 (сервер с базами данных)
 
1. server host: 10.17.9.101 (сервер с базами данных)
 +
 
2. server port: 5432
 
2. server port: 5432
 +
 
3. user name: postgres
 
3. user name: postgres
 +
 
4. user password: acuario
 
4. user password: acuario
 +
 
5. database name: <имя объекта> (PN1-PN16) (без пробелов и спецсимволов)
 
5. database name: <имя объекта> (PN1-PN16) (без пробелов и спецсимволов)
 +
 
6. database template: template_postgis (оставляем как есть)
 
6. database template: template_postgis (оставляем как есть)
 +
 
идет создание базы, ничего не трогаем до завершения
 
идет создание базы, ничего не трогаем до завершения
 +
  
 
№2 FF
 
№2 FF
#ls – что лежит в текущей папке, видим firefly
+
 
#cd firefly
+
'''<nowiki>#ls</nowiki>''' – что лежит в текущей папке, видим firefly
#ls – аналогично
+
 
Делаем исполняемым — аналогично, scriptffcreate.sh
+
'''<nowiki>#cd</nowiki> firefly'''
 +
 
 +
'''<nowiki>#ls</nowiki>''' – аналогично
 +
 
 +
Делаем исполняемым — аналогично, '''scriptffcreate.sh'''
 +
 
 
Запускаем
 
Запускаем
#./scriptffcreate.sh
+
 
 +
'''<nowiki>#./scriptffcreate.sh</nowiki>'''
 +
 
 +
 
  
 
Запустился скрипт-диалог
 
Запустился скрипт-диалог
 +
 
1. firefly name: firefly (по умолчанию) меняем на fireflyPN1-PN16
 
1. firefly name: firefly (по умолчанию) меняем на fireflyPN1-PN16
 +
 
2. firefly path: /opt
 
2. firefly path: /opt
 +
 
3. firefly wamp port: 8090 (по умолчанию) меняем на нужный 8091-8106
 
3. firefly wamp port: 8090 (по умолчанию) меняем на нужный 8091-8106
 +
 
4. firefly http port: 10000 (по умолчанию) меняем на 10001-10016
 
4. firefly http port: 10000 (по умолчанию) меняем на 10001-10016
 +
 
5. serenity ip 10.17.1.1 меняем на нужный
 
5. serenity ip 10.17.1.1 меняем на нужный
 +
 
6. serenity port:8888, меняем на нужный
 
6. serenity port:8888, меняем на нужный
 +
 
7. acuario2 dbname:PN1, меняем на нужное имя базы PN1-PN16
 
7. acuario2 dbname:PN1, меняем на нужное имя базы PN1-PN16
 +
 
8. postgresql ip: 10.17.1.1 меняем на наш сервер базы данных 10.17.9.101
 
8. postgresql ip: 10.17.1.1 меняем на наш сервер базы данных 10.17.9.101
 +
 
запускается FF как демон
 
запускается FF как демон
Проверка, что он запустился
+
 
#systemctl status fireflyPN2 – видим статус active (running) зеленым цветом, значит все ок.
+
Проверка, что он запусти'''лся
 +
 
 +
<nowiki>#systemctl</nowiki> status fireflyPN2 – видим статус active (running) зеленым цветом, значит все ок.
 +
 
 +
 
 +
 
  
 
№3 MSS
 
№3 MSS
  
#ls – что лежит в текущей папке, увидим mss
+
'''<nowiki>#ls</nowiki>''' – что лежит в текущей папке, увидим mss
#cd mss
+
 
#ls  видим  скрипт scriptmsscreate.sh
+
'''<nowiki>#cd mss</nowiki>'''
делаем исполняемым если не проделано ранее  
+
 
#chmod +x <имя скрипта>
+
'''#ls'''   видим  скрипт scriptmsscreate.sh
Запускаем  #./scriptmsscreate.sh
+
 
 +
делаем исполняемым если не проделано ранее
 +
 +
'''<nowiki>#chmod</nowiki> +x <имя скрипта>'''
 +
 
 +
Запускаем  '''<nowiki>#./scriptmsscreate.sh</nowiki>'''
 +
 
 +
 
  
 
Диалог
 
Диалог
  
 
1. mss name: mss (по умолчанию), меняем на нужное например mssPN2
 
1. mss name: mss (по умолчанию), меняем на нужное например mssPN2
 +
 
2. ff ip: 10.17.1.1 — меняем на наш (10.17.9.103)
 
2. ff ip: 10.17.1.1 — меняем на наш (10.17.9.103)
 +
 
3 ff port: 8080 по умолч., меняем на 8091-8106
 
3 ff port: 8080 по умолч., меняем на 8091-8106
 +
 
4. serenity ip: 10.17.1.1, меняем на нужный
 
4. serenity ip: 10.17.1.1, меняем на нужный
 +
 
5. serenity port: 8888
 
5. serenity port: 8888
 +
 
6. mss path: /opt
 
6. mss path: /opt
  
Строка 798: Строка 878:
 
Проверяем его статус, аналогично ff
 
Проверяем его статус, аналогично ff
  
#systemctl status mssPN2
+
<nowiki>#systemctl status mssPN2</nowiki>
  
 
ожидаем состояния active (running) зеленым цветом
 
ожидаем состояния active (running) зеленым цветом
 
  
 
==Использование Zip сервера (четвёртого Нод)==
 
==Использование Zip сервера (четвёртого Нод)==
Строка 807: Строка 886:
 
Замена вышедшего из строя сервера (node)
 
Замена вышедшего из строя сервера (node)
  
1) добавить новую ноду и удалить неработающую ноду из кластера
+
1. добавить новую ноду и удалить неработающую ноду из кластера
2) добавить новый монитор и удалить неработающий
+
 
3) добавить новый gluster brick и удалить неработающий
+
2. добавить новый монитор и удалить неработающий
 +
 
 +
3. добавить новый gluster brick и удалить неработающий
 +
 
 +
:1.1. на второстепенной ноде
 +
 
 +
:ipenode2:~#pvecm add ipenode1
 +
 
 +
:1.2. проверяем статус
 +
 
 +
:ipenode2:~#pvecm status
 +
 
 +
:1.3. удаляем неработающую ноду
 +
 
 +
:ipenode2:~#pvecm delnode <имя сгоревшей машины>
 +
 
 +
 
 +
:2.1. добавляем монитор как обычно + прописываем ip нового монитора в файл (строка mohost)
 +
 
 +
:<nowiki>#nano /etc/pve/storage.cfg</nowiki>
 +
 
 +
:2.2) посмотри внимательней storage.cfg
 +
 
 +
:nano /etc/pve/storage.cfg
 +
 
 +
:nano /etc/pve/ceph.conf
 +
 
 +
:<nowiki>### move/remove mon ###</nowiki>
 +
 
 +
:ceph mon getmap -o /tmp/monmap
 +
 
 +
:monmaptool --print /tmp/monmap
 +
 
 +
:monmaptool --rm {id} /tmp/monmap
 +
 
 +
:<nowiki>#stop all your monitors! Не нужно, достаточно 1</nowiki>
 +
 
 +
:ceph-mon -i {working mon-id} --inject-monmap /tmp/monmap
  
1.1) на второстепенной ноде
 
ipenode2:~#pvecm add ipenode1
 
1.2) проверяем статус
 
ipenode2:~#pvecm status
 
1.3) удаляем неработающую ноду
 
ipenode2:~#pvecm delnode <имя сгоревшей машины>
 
  
2.1) добавляем монитор как обычно + прописываем ip нового монитора в файл (строка mohost)
 
#nano /etc/pve/storage.cfg
 
2.2) посмотри внимательней storage.cfg
 
nano /etc/pve/storage.cfg
 
nano /etc/pve/ceph.conf
 
### move/remove mon ###
 
ceph mon getmap -o /tmp/monmap
 
monmaptool --print /tmp/monmap
 
monmaptool --rm {id} /tmp/monmap
 
#stop all your monitors! Не нужно, достаточно 1
 
ceph-mon -i {working mon-id} --inject-monmap /tmp/monmap
 
  
 
делаем изменение в одном мониторе, остальные подхватят и обновят инфу по рабочим мониторам
 
делаем изменение в одном мониторе, остальные подхватят и обновят инфу по рабочим мониторам
3) добавляем новый gluster brick
+
 
#gluster volume add-brick <wbackup> replica 4 <newnode>:/media/gfs/wbackup force
+
3. добавляем новый gluster brick
 +
 
 +
<nowiki>#gluster volume add-brick <wbackup> replica 4 <newnode>:/media/gfs/wbackup force</nowiki>
 +
 
 
удаляем сгоревший
 
удаляем сгоревший
#gluster volume delete-brick <wbackup> replica 3 <oldnode>:/media/gfs/wbackup force
+
 
 +
<nowiki>#gluster volume delete-brick <wbackup> replica 3 <oldnode>:/media/gfs/wbackup force</nowiki>
 +
 
 
nano /etc/pve/storage.cfg
 
nano /etc/pve/storage.cfg
 +
 
Datacenter → storage → wbackup [edit] (add new node)
 
Datacenter → storage → wbackup [edit] (add new node)
  
4) удаление osd мертвой машины
+
 
 +
4. удаление osd мертвой машины
 +
 
 
ID={osd-num}
 
ID={osd-num}
 +
 
pveceph stop osd.$ID
 
pveceph stop osd.$ID
 +
 
ceph osd out osd.$ID
 
ceph osd out osd.$ID
 +
 
pveceph destroyosd $ID
 
pveceph destroyosd $ID
# ceph osd getcrushmap -o crushmapdump
+
 
# crushtool -d  crushmapdump -o  crushmapdump-decompiled
+
<nowiki># ceph osd getcrushmap -o crushmapdump</nowiki>
# nano  crushmapdump-decompiled
+
 
удалить все упоминания сгоревшей машины и osd
+
<nowiki># crushtool -d  crushmapdump -o  crushmapdump-decompiled</nowiki>
# crushtool -c  crushmapdump-decompiled -o crushmapdump-compiled
+
 
# ceph osd setcrushmap -i crushmapdump-compiled
+
<nowiki># nano  crushmapdump-decompiled</nowiki>
 +
 
 +
:удалить все упоминания сгоревшей машины и osd
 +
 
 +
<nowiki># crushtool -c  crushmapdump-decompiled -o crushmapdump-compiled</nowiki>
 +
 
 +
<nowiki># ceph osd setcrushmap -i crushmapdump-compiled</nowiki>
 +
 
 
получить ответ  
 
получить ответ  
 +
 
set crush map --> all ok
 
set crush map --> all ok
  
 
==Ntp server, синхронизация времени, GPS Датчик (настройка)==
 
==Ntp server, синхронизация времени, GPS Датчик (настройка)==
  
1) Сменить всем вм машинам ip-адреса
+
1. Сменить всем вм машинам ip-адреса
 +
 
 +
2. Сменить всем вм машинам имена
 +
 
 +
3. Настройка ntpvm: после прохождения 1 и 2 пункта, далее добавить сервер (moxa)
  
2) Сменить всем вм машинам имена
+
<nowiki># /usr/lib/npreals2/driver/mxaddsvr <ip moxa> 2</nowiki>
  
3) Настройка ntpvm: после прохождения 1 и 2 пункта, далее добавить сервер (moxa)
+
:3.1. Если все сделано верно, будет создано несколько устройств COM порта;
# /usr/lib/npreals2/driver/mxaddsvr <ip moxa> 2
+
:с помощью команды  
3.1) Если все сделано верно, будет создано несколько устройств COM порта;
+
:<nowiki># cat /dev/ttyrX</nowiki>
с помощью команды  
+
:X-порядковый номер (1,2,3 и т.д.)
# cat /dev/ttyrX  
+
:должны пойти данные формата NMEA 0183
X-порядковый номер (1,2,3 и т.д.)
 
должны пойти данные формата NMEA 0183
 
  
3.2) Поправить скрипт, если файл-устройство отличается от написанного в скрипте
+
:3.2. Поправить скрипт, если файл-устройство отличается от написанного в скрипте
/root/moxa/npreals.sh
+
:/root/moxa/npreals.sh
  
На всех нодах должен быть установлен ntp, если не установлен устанавливаем его (через интернет или локальных репозиториев)
+
:На всех нодах должен быть установлен ntp, если не установлен устанавливаем его (через интернет или локальных репозиториев)
  
#apt install ntp
+
<nowiki>#apt install ntp</nowiki>
  
 
Затем на  каждой Ноде нужно поменять значения в файле
 
Затем на  каждой Ноде нужно поменять значения в файле
  
#nano /etc/ntp.conf
+
<nowiki>#nano /etc/ntp.conf</nowiki>
  
 
меняем на наш IP у ntpVM
 
меняем на наш IP у ntpVM
Строка 885: Строка 1005:
 
VM через веб интерфейс
 
VM через веб интерфейс
  
#ntpd — gq
+
<nowiki>#ntpd — gq</nowiki>
  
 
Командой #data можно проверить текущее время  
 
Командой #data можно проверить текущее время  
Строка 891: Строка 1011:
 
При удачной сихронизации времени на Нодах, значок будет таким
 
При удачной сихронизации времени на Нодах, значок будет таким
  
 +
[[Файл:cl_37.jpg|центр|]]
 +
 +
===GPS/Glonass===
  
 +
1. Подсоединить R+/D+ (A); R-/D- (B), где А-зеленый, В- белый
  
GPS/Glonass
+
2. Настроить Моху (вебморда)
  
1) Подсоединить R+/D+ (A); R-/D- (B), где А-зеленый, В- белый
 
2) Настроить Моху (вебморда)
 
 
Port 2:
 
Port 2:
Interface [RS-485 2WIRE]
+
 
Baud rate [115200]
+
:Interface [RS-485 2WIRE]
3) Виртуальные com ports:
+
 
 +
:Baud rate [115200]
 +
 
 +
3. Виртуальные com ports:
 +
 
 
RS-485 = /dev/ttyr(number)
 
RS-485 = /dev/ttyr(number)
 +
 
RS-232 = /dev/ttyr0(number)
 
RS-232 = /dev/ttyr0(number)
4) Настройка скорости и т.п.:
+
 
 +
4. Настройка скорости и т.п.:
 +
 
 
chmod . . .  
 
chmod . . .  
 +
 
ln -s /dev/ttyr3 /dev/gps0 -для драйвера NMEA на 127.127.20.0 (0 — порядковый номер gps устройства)
 
ln -s /dev/ttyr3 /dev/gps0 -для драйвера NMEA на 127.127.20.0 (0 — порядковый номер gps устройства)
 +
 
chmod 777 /dev/ttyr*
 
chmod 777 /dev/ttyr*
 +
 
stty -F /dev/gps0 115200 (устанавливаем скорость)  
 
stty -F /dev/gps0 115200 (устанавливаем скорость)  
 +
 
для проверки скорости:
 
для проверки скорости:
 +
 
stty -F /dev/gps0
 
stty -F /dev/gps0
4) При правильном подключении проверим выходные данные:
+
 
 +
5. При правильном подключении проверим выходные данные:
 +
 
 
cat /dev/gps0
 
cat /dev/gps0
 +
 
при неверно выставленной скорости пойдут иероглифы
 
при неверно выставленной скорости пойдут иероглифы
 +
 
при верной конфигурации - координаты формата NMEA 0183
 
при верной конфигурации - координаты формата NMEA 0183
5) apt install ntp
+
 
6) правим конфиг:
+
6. apt install ntp
# Local Clock — если теряем спутники, то снижаем stratum до 10
+
 
#server 127.127.1.0
+
7. правим конфиг:
#fudge 127.127.1.0 stratum 10
+
 
# NMEA GPS driver
+
# Local Clock — если теряем спутники, то снижаем stratum до 10
server 127.127.20.0 prefer mode 80 #mode 80 означает скорость 115200bps
+
#server 127.127.1.0
driftfile /var/lib/ntp/ntp.drift
+
#fudge 127.127.1.0 stratum 10
restrict default nomodify notrust # Отдаём время всем
+
# NMEA GPS driver
restrict 127.0.0.1 # Разрешаем себе всё
+
server 127.127.20.0 prefer mode 80 #mode 80 означает скорость 115200bps
disable auth
+
driftfile /var/lib/ntp/ntp.drift
#logfile /var/log/ntp/messages  
+
restrict default nomodify notrust # Отдаём время всем
7) рестарт службы для принzтия настроек:
+
restrict 127.0.0.1 # Разрешаем себе всё
 +
disable auth
 +
#logfile /var/log/ntp/messages  
 +
8. рестарт службы для принzтия настроек:
 +
 
 
systemctl restart ntp
 
systemctl restart ntp
 +
 
systemctl status ntp
 
systemctl status ntp
 +
 
не должно быть ошибок, active(running)
 
не должно быть ошибок, active(running)
 +
 
проверить на наличие строки в статусе: GPS_NMEA(0) serial /dev/gps0 open at 115200 bps
 
проверить на наличие строки в статусе: GPS_NMEA(0) serial /dev/gps0 open at 115200 bps
8) ntpq -p
+
 
 +
8. ntpq -p
 +
 
 
должна быть строка  
 
должна быть строка  
 +
 
*GPS_NMEA(0)    .GPS.            0 l  13  64  77    0.000    0.617  0.792
 
*GPS_NMEA(0)    .GPS.            0 l  13  64  77    0.000    0.617  0.792
 +
 
с * в самом начале, значит - РАБОТАЕТ!
 
с * в самом начале, значит - РАБОТАЕТ!
8) обновить время:
+
 
 +
9. обновить время:
 
systemctl stop ntp
 
systemctl stop ntp
 +
 
ntpd -gq (можно не стопать службу перед выполнением)
 
ntpd -gq (можно не стопать службу перед выполнением)
 +
 
systemctl start ntp
 
systemctl start ntp
9) Если вы используете udev, то полезно будет создать правило /etc/udev/rules.d/10-gps.rules следующего содержания:
+
 
 +
10. Если вы используете udev, то полезно будет создать правило /etc/udev/rules.d/10-gps.rules следующего содержания:
 +
 
 
KERNEL==«ttyr3», NAME="%k", SYMLINK+=«gps0», MODE=«0660», GROUP=«uucp»
 
KERNEL==«ttyr3», NAME="%k", SYMLINK+=«gps0», MODE=«0660», GROUP=«uucp»
 +
 
==Сервер Авторизации==
 
==Сервер Авторизации==
  
16. Устранение неисправностей
+
== Устранение неисправностей==
  
==Добавление диска в RAID1 (не работает с HDD Toshiba)==
+
===Добавление диска в RAID1 (не работает с HDD Toshiba)===
  
 
Диагностирование потери одного из дисков в RAID1, можно проверить командой
 
Диагностирование потери одного из дисков в RAID1, можно проверить командой
  
zpool status
+
'''zpool status
 +
'''
 +
Если «развалился» RAID1 на одной из Нод, на которой установлен proxmox, необходима ручная замена HDD. После установки жесткого диска фирмы HGST в первый или второй слот корзинки, необходимо проделать от root следующее
  
Если «развалился» RAID1 на одной из Нод, на которой установлен proxmox, необходима ручная замена HDD. После установки жесткого диска фирмы HGST в первый или второй слот корзинки, необходимо проделать от root следующее
+
'''fdisk -l /dev/sd*'''  (узнать какие диски видит система)
  
fdisk -l /dev/sd*  (узнать какие диски видит система)
+
'''sgdisk -R /dev/sdb /dev/sda'''    (копирование таблицы разделов)  
  
sgdisk -R /dev/sdb /dev/sda    (копирование таблицы разделов)  
+
'''sgdisk -G /dev/sdb'''  (форматирование в GPT)
  
sgdisk -G /dev/sdb (форматирование в GPT)
+
'''grub-install --recheck /dev/sdb''' (установка загрузчика)
  
grub-install --recheck /dev/sdb (установка загрузчика)
+
'''update-grub''' (обновление загрузчика)
  
update-grub (обновление загрузчика)
+
'''update-initramfs -u'''
  
update-initramfs -u
+
'''zpool replace rpool /dev/sdb2''' (копирование данных в раздел sdb2)
 
 
zpool replace rpool /dev/sdb2 (копирование данных в раздел sdb2)
 
  
 
==Приложения==
 
==Приложения==
  
Список необходимого софта и оборудования
+
===Список необходимого софта и оборудования===
  
 
1. Ноутбук с ОС Windows 7 х64, для последующего подключения к общей локальной сети, для удаленной установки proxmox через IPMI (необходимо добавление дополнительного IP в сетевой адаптер на ноутбуке). Так же пригодится для настройки компонентов Планеты и передачи файлов на серверы через WinSCP;
 
1. Ноутбук с ОС Windows 7 х64, для последующего подключения к общей локальной сети, для удаленной установки proxmox через IPMI (необходимо добавление дополнительного IP в сетевой адаптер на ноутбуке). Так же пригодится для настройки компонентов Планеты и передачи файлов на серверы через WinSCP;
  
2. Образ proxmox-ve_4.4-eb2d6f1e-2;
+
2. Образ '''proxmox-ve_4.4-eb2d6f1e-2;'''
  
 
4. USB ключи защиты + reg-файлы с открытыми паролями от 1 до 1600;
 
4. USB ключи защиты + reg-файлы с открытыми паролями от 1 до 1600;
Строка 980: Строка 1135:
  
 
VM1 <baseVM>
 
VM1 <baseVM>
 +
 
VM2 <mmsVM>
 
VM2 <mmsVM>
 +
 
VM3 <ffVM>
 
VM3 <ffVM>
 +
 
VM4 <skdVM>
 
VM4 <skdVM>
 +
 
VM5 <ntpVM>
 
VM5 <ntpVM>
 +
 
VM6 <videoVM>
 
VM6 <videoVM>
 +
 
VM7 <serenetyVM>
 
VM7 <serenetyVM>
 +
 
VM8 <eilyVM>
 
VM8 <eilyVM>
 +
 
VM9 <osmVM>
 
VM9 <osmVM>
  
 
4. Образ Live (например WinPE10_8_Sergei_Strelec_x86_x64_2017.03.02_Russian) для чистки HDD и диагностики железа;
 
4. Образ Live (например WinPE10_8_Sergei_Strelec_x86_x64_2017.03.02_Russian) для чистки HDD и диагностики железа;
  
5. IPMI Supermicro utilities для управления по IPMI (работает только с Windows);
+
5. '''IPMI Supermicro utilities''' для управления по IPMI (работает только с Windows);
  
6. Подключенный прямой интернет или Локальные репозитории (repo) для обновления Proxmox, а так же для установки необходимых в работе компонентов;
+
6. Подключенный прямой интернет или '''Локальные репозитории (repo)''' для обновления Proxmox, а так же для установки необходимых в работе компонентов;
  
7. Все необходимые образы  (Debian 8.5/8.6, отдельно программы для серверной части Планеты, WinSCP, oracle-xe_11.2.0-2_amd64.deb, oracle-client, СКД клиент,  IntegraVideo7.0.776, скрипты для установки mms, ff, database на VM-ках; драйвер для Moxa под Debian, VLC media player, PGAdmin1.2)
+
7. Все необходимые образы  (Debian 8.5/8.6, отдельно программы для серверной части Планеты, WinSCP, oracle-xe_11.2.0-2_amd64.deb, oracle-client, СКД клиент,  IntegraVideo7.0.776, скрипты для установки '''mms, ff, database''' на VM-ках; драйвер для Moxa под Debian, VLC media player, PGAdmin1.2)
  
 
===План работы с кластером===
 
===План работы с кластером===
  
1) Настройка BIOS на каждой ноде
+
1. Настройка BIOS на каждой ноде
  
2) Настройка IPMI на каждой ноде
+
2. Настройка IPMI на каждой ноде
  
3) Proxmox.iso install
+
3. Proxmox.iso install
  
4) Закинуть local repo и прописать в repo.list пути к ним + поправить
+
4. Закинуть local repo и прописать в repo.list пути к ним + поправить '''/usr/share/perl5/PVE/CLI/pveceph.pm'''
/usr/share/perl5/PVE/CLI/pveceph.pm
 
  
5) Обновить систему и поставить CEPH
+
5. Обновить систему и поставить CEPH
  
6) Поставить пакеты mc htop glusterfs-server pv attr ntp
+
6. Поставить пакеты mc htop glusterfs-server pv attr ntp
  
7) Объединить ноды в proxmox cluster
+
7. Объединить ноды в proxmox cluster
  
8) Настроить glusterfs
+
8. Настроить glusterfs
  
9) Настроить CEPH
+
9. Настроить CEPH
  
10) Закинуть VM’s + изменить все IP адреса и hostname
+
10. Закинуть VM’s + изменить все IP адреса и hostname
  
  
VM1 <baseVM>
+
VM1 <baseVM>
VM2 <mmsVM>
+
VM2 <mmsVM>
VM3 <ffVM>
+
VM3 <ffVM>
VM4 <skdVM>
+
VM4 <skdVM>
VM5 <ntpVM>
+
VM5 <ntpVM>
VM6 <videoVM>
+
VM6 <videoVM>
VM7 <serenetyVM>
+
VM7 <serenetyVM>
VM8 <eilyVM>
+
VM8 <eilyVM>
VM9 <osmVM>
+
VM9 <osmVM>
  
      11) Настроить wbackup
+
11. Настроить wbackup
  
12) Настроить ntpVM + прописать на всех nodes /etc/ntp.conf нужный конфиг
+
12. Настроить ntpVM + прописать на всех nodes '''/etc/ntp.conf''' нужный конфиг
  
 
===Команды для работы в Linux с IPE===
 
===Команды для работы в Linux с IPE===
  
#systemctl status firefly_tracker статус работы FF
+
'''<nowiki>#systemctl status firefly_tracker</nowiki>'''    статус работы FF
#systemctl status firefly_integration статус работы FF трекинга
+
 
#systemctl stop firefly_tracker остановка процесса FF
+
'''<nowiki>#systemctl status firefly_integration</nowiki>''' статус работы FF трекинга
#systemctl start firefly_tracker запуск процесса FF
+
 
#systemctl restart firefly_tracker перезапуск FF
+
'''<nowiki>#systemctl stop firefly_tracker </nowiki>''' остановка процесса FF
 +
 
 +
'''<nowiki>#systemctl start firefly_tracker</nowiki>''' запуск процесса FF
 +
 
 +
'''<nowiki>#systemctl restart firefly_tracker</nowiki>''' перезапуск FF
 +
 
 +
 
 +
'''<nowiki>#cd /opt/firefly_tracker</nowiki>''' переход в папку с трекингом
  
#cd /opt/firefly_tracker переход в папку с трекингом
+
'''<nowiki>#python firefly.py</nowiki> ''' запуск FF
#python firefly.py запуск FF
 
 
 
#cd /opt/firefly_integration переход в папку FF
+
'''<nowiki>#cd /opt/firefly_integration</nowiki> ''' переход в папку FF
#cd python firefly.py запуск FF
+
 
 +
'''<nowiki>#cd python firefly.py </nowiki>''' запуск FF
 +
 
 +
'''<nowiki>journalctl –no-pager -o cat -u firefly_tracker -1</nowiki>''' просмотр статистики FF трекинга
 +
 
 +
'''<nowiki>#systemctl status mss </nowiki>''' статус работы mss
 +
 
 +
'''<nowiki>#systemctl stop mss </nowiki>''' остановка процесса mss
 +
 
 +
'''<nowiki>#systemctl start mss </nowiki>''' запуск процесса mss
 +
 
 +
'''<nowiki>#systemctl restart mss </nowiki>''' перезапуск mss
  
journalctl –no-pager -o cat -u firefly_tracker -1 просмотр статистики FF трекинга
+
'''<nowiki>#cd /opt/mss_tracker </nowiki>''' переход в папку с аcuariomanager
  
#systemctl status mss статус работы mss
+
'''<nowiki>#mono am.console.exe</nowiki>''' запуск mms в консольном режиме
#systemctl stop mss остановка процесса mss
 
#systemctl start mss запуск процесса mss
 
#systemctl restart mss перезапуск mss
 
  
#cd /opt/mss_tracker переход в папку с аcuariomanager
+
'''<nowiki>#mono am.gui.exe </nowiki>''' запуск mms с графикой
#mono am.console.exe запуск mms в консольном режиме
 
#mono am.gui.exe запуск mms с графикой
 
 
 
#systemctl status proftpd статус работы ftp сервера
+
'''<nowiki>#systemctl status proftpd</nowiki>''' статус работы ftp сервера
#systemctl stop proftpd остановка процесса ftp
 
#systemctl start proftpd запуск процесса ftp
 
#systemctl restart proftpd перезапуск ftp
 
  
 +
'''<nowiki>#systemctl stop proftpd </nowiki>''' остановка процесса ftp
 +
 +
'''<nowiki>#systemctl start proftpd</nowiki>''' запуск процесса ftp
 +
 +
'''<nowiki>#systemctl restart proftpd</nowiki> ''' перезапуск ftp
  
  
 
Для смены пароля от root (зная изначальный пароль)
 
Для смены пароля от root (зная изначальный пароль)
  
#passwd
+
'''<nowiki>#passwd</nowiki>'''
  
 
Задать новый пароль, подтвердить
 
Задать новый пароль, подтвердить
 +
  
 
Установка SSH в Debian 8.5/8.6 и доступ c другой машины под root
 
Установка SSH в Debian 8.5/8.6 и доступ c другой машины под root
 +
 
Обновляем репозитории
 
Обновляем репозитории
 +
 
Первым делом проверим список (/etc/apt/sources.list) доступных репозиториев. Для этого откроем файл /etc/apt/sources.list в редакторе nano и при необходимости добавим ссылки на официальные репозитории.+
 
Первым делом проверим список (/etc/apt/sources.list) доступных репозиториев. Для этого откроем файл /etc/apt/sources.list в редакторе nano и при необходимости добавим ссылки на официальные репозитории.+
 +
 
nano /etc/apt/sources.list
 
nano /etc/apt/sources.list
 +
 
При необходимости добавляем официальные репозитории:
 
При необходимости добавляем официальные репозитории:
deb http://httpredir.debian.org/debian jessie main
+
 
deb-src http://httpredir.debian.org/debian jessie main
+
deb http://httpredir.debian.org/debian jessie main
deb http://httpredir.debian.org/debian jessie-updates main
+
deb-src http://httpredir.debian.org/debian jessie main
deb-src http://httpredir.debian.org/debian jessie-updates main
+
deb http://httpredir.debian.org/debian jessie-updates main
deb http://security.debian.org/ jessie/updates main
+
deb-src http://httpredir.debian.org/debian jessie-updates main
deb-src http://security.debian.org/ jessie/updates main
+
deb http://security.debian.org/ jessie/updates main
 +
deb-src http://security.debian.org/ jessie/updates main
 +
 
 
Если вы обновили список репозиториев, то сохраняйте изменения в файле (ctrl +O) и выполните обновления списка-пакетов:
 
Если вы обновили список репозиториев, то сохраняйте изменения в файле (ctrl +O) и выполните обновления списка-пакетов:
 
apt-get update
 
apt-get update
Строка 1089: Строка 1272:
 
===Устанавливаем SSH в Debian===
 
===Устанавливаем SSH в Debian===
 
Следующим шагом установим демона openssh. Вбиваем в консоле:
 
Следующим шагом установим демона openssh. Вбиваем в консоле:
apt-get install openssh-server
+
 
 +
apt-get install openssh-server
 +
 
 
На предложение подтянуть недостающие зависимости отвечаем положительно. Все, на этом установка завершена и можно выполнять запуск:
 
На предложение подтянуть недостающие зависимости отвечаем положительно. Все, на этом установка завершена и можно выполнять запуск:
service ssh start
+
 
 +
service ssh start
 +
 
 
Теперь можно брать любой SSH-клиент и попробовать подключиться к серверу. C Windows можно использовать WinSCP.
 
Теперь можно брать любой SSH-клиент и попробовать подключиться к серверу. C Windows можно использовать WinSCP.
 +
 
Почему не получается подключиться к SSH под root
 
Почему не получается подключиться к SSH под root
 +
 
Если в качестве проверки соединения вы попробуете подключиться под root, то после отправки пароля, сервер будет постоянно ругаться и выдавать Access Denied. Сделано это намерено, т.к. нечего давать возможность подключаться root’ом к серверу. Правильней создать отдельного пользоваться, и при необходимости выполнять команды от root с помощью su. Если вы отдаете отчет своим действиям и хотите подключиться по ssh под root’ом, то тогда потребуется отредактировать конфигурационный файл службы ssh:
 
Если в качестве проверки соединения вы попробуете подключиться под root, то после отправки пароля, сервер будет постоянно ругаться и выдавать Access Denied. Сделано это намерено, т.к. нечего давать возможность подключаться root’ом к серверу. Правильней создать отдельного пользоваться, и при необходимости выполнять команды от root с помощью su. Если вы отдаете отчет своим действиям и хотите подключиться по ssh под root’ом, то тогда потребуется отредактировать конфигурационный файл службы ssh:
nano /etc/ssh/sshd_config
+
 
 +
nano /etc/ssh/sshd_config
 +
 
 
Находите директиву PermitRootLogin и заменяете текст после нее на yes. Должно получится так:
 
Находите директиву PermitRootLogin и заменяете текст после нее на yes. Должно получится так:
PermitRootLogin yes
+
 
 +
PermitRootLogin yes
 +
 
 
Сохраняйте изменения (ctrl + o) и перезапустите службу OpenSSH:
 
Сохраняйте изменения (ctrl + o) и перезапустите службу OpenSSH:
service ssh stop
+
 
service ssh start
+
service ssh stop
 +
service ssh start
 +
 
 
Все, после этого вы сможете подключиться к серверу с под учетной записью root.
 
Все, после этого вы сможете подключиться к серверу с под учетной записью root.
  
 
===Как расшарить папку из консоли Linux используя Samba===
 
===Как расшарить папку из консоли Linux используя Samba===
Samba - это программное обеспечение для организации обмена файлами и работы с общими ресурсами между компьютерами под управлением Linux/Unix и операционной системой Windows. Samba состоит из клиентской и серверной части. Клиентская часть позволяет получить доступ к сетевым папкам и ресурсам Windows, а серверная, в свою очередь, открывает общий доступ к папке Ubuntu для других машин, в том числе и Windows.
+
 
 +
Samba - это программное обеспечение для организации обмена файлами и работы с общими ресурсами между компьютерами под управлением Linux/Unix и операционной системой Windows. Samba состоит из клиентской и серверной части. Клиентская часть позволяет получить доступ к сетевым папкам и ресурсам Windows, а серверная, в свою очередь, открывает общий доступ к папке Ubuntu для других машин, в том числе и Windows.
 +
 
 
Устанавливаем Самба:
 
Устанавливаем Самба:
apt-get install samba
+
 
 +
apt-get install samba
 +
 
 
Добавляем пару строк в конец конфига, правим при необходимости путь, имя шары, и возможность гостевого входа/записи.
 
Добавляем пару строк в конец конфига, правим при необходимости путь, имя шары, и возможность гостевого входа/записи.
nano /etc/samba/smb.conf
+
 
[shara]
+
nano /etc/samba/smb.conf[shara]#имя папки
        #имя
+
comment = comment_to_shara
        папки
+
path = /home/shara #путь к папке
comment
+
read only = no
        =
+
locking =no
        comment_to_shara
+
guest ok = yes
path
+
browseable=yes
        =
+
 
        /home/shara #путь
 
        к папке
 
read
 
        only =
 
        no
 
locking
 
        =
 
        no
 
guest
 
        ok =
 
        yes
 
browseable
 
        =
 
        yes
 
 
Сохраняем (ctrl+o в nano)
 
Сохраняем (ctrl+o в nano)
 +
 
Перезапускаем сервис с новым конфигом:
 
Перезапускаем сервис с новым конфигом:
/etc/init.d/samba restart
+
 
 +
/etc/init.d/samba restart
 +
 
 
Дополнительно: меняем права доступа к общей папке: (разрешено все)
 
Дополнительно: меняем права доступа к общей папке: (разрешено все)
  
chmod 777 /home/share
+
chmod 777 /home/share
 +
 
 
===Установка Video-server 7.0.776 в качестве ретранслятора и проброс USB в VM для ключа защиты===
 
===Установка Video-server 7.0.776 в качестве ретранслятора и проброс USB в VM для ключа защиты===
  
После создания VM и установки Debian 8.6 (используем  debian-8.6.0-amd64-DVD-1) без графики, необходимо закинуть папку с установщиком IV7 v7.0.776 (используя программу WinSCP от root c компьютера/ноутбука на Windows) в  
+
После создания VM и установки Debian 8.6 (используем  debian-8.6.0-amd64-DVD-1) без графики, необходимо закинуть папку с установщиком IV7 v7.0.776 (используя программу WinSCP от root c компьютера/ноутбука на Windows) в '''/home/videosrv7(имя пользователя)/distr''' (создать эту папку).  
/home/videosrv7(имя пользователя)/distr (создать эту папку).  
+
 
Так же необходимо скопировать все четыре reg-файла для ключей защиты с открытыми пароля от 1 до 1600 – для одного кластера. После установки видео-сервера поместить их в папку /home/videosrv7/video-server-7.0/
+
Так же необходимо скопировать все четыре reg-файла для ключей защиты с открытыми пароля от 1 до 1600 – для одного кластера. После установки видео-сервера поместить их в папку '''/home/videosrv7/video-server-7.0/'''
Как зайти от root по WinSCP смотри в «Установка SSH в Debian 8.5/8.6 и доступ c другой машины под root”
+
 
Перед установкой  IV7 v7.0.776 необходимо прокинуть USB ключ с физической машины на виртуальную:
+
Как зайти от root по WinSCP смотри в «Установка SSH в Debian 8.5/8.6 и доступ c другой машины под root”
На ноде proxmox у которой VM c видеосервером:
+
 
#lsusb
+
Перед установкой  IV7 v7.0.776 необходимо прокинуть USB ключ с физической машины на виртуальную:
 +
 
 +
На ноде proxmox у которой VM c видеосервером:
 +
 
 +
#lsusb
 +
 
 
Ищем нужное нам устройство и смотрим его ID: XXXX:YYYY        (3b13:4040)  
 
Ищем нужное нам устройство и смотрим его ID: XXXX:YYYY        (3b13:4040)  
 +
 
от root
 
от root
qm set 101 –usb0 host=XXXX:YYYY            (usb1: host=3b13:4040)
+
 
 +
qm set 101 –usb0 host=XXXX:YYYY            (usb1: host=3b13:4040)
 +
 
 
где 101 — ID виртуальной машины куда будем пробрасывать порт.
 
где 101 — ID виртуальной машины куда будем пробрасывать порт.
 +
 
Перезагружаем VM, а затем перезагружаем ноду.
 
Перезагружаем VM, а затем перезагружаем ноду.
Установка же самого video-server-7.0.776 стандартная, вот команды которые могут пригодится:
 
  
#cd /путь к папке
+
Установка же самого '''video-server-7.0.776''' стандартная, вот команды которые могут пригодится:
#./video-server-7.0.776-x64.run    - запуск установки
+
 
#chmod 777 -R /home/videosrv7/distr      - дать права
+
#cd /путь к папке
#tar -xvzf video-server-7.0.777      - распаковка
+
#./video-server-7.0.776-x64.run    - запуск установки
#rm -rf /имя папка            - удаление  
+
#chmod 777 -R /home/videosrv7/distr      - дать права
#/etc/init.d/videosrv7 restart
+
#tar -xvzf video-server-7.0.777      - распаковка
#/etc/init.d/videosrv7 stop
+
#rm -rf /имя папка            - удаление  
#/etc/init.d/videosrv7 start
+
#/etc/init.d/videosrv7 restart
#/etc/init.d/keyguard restart
+
#/etc/init.d/videosrv7 stop
#nano /etc/network/interfaces
+
#/etc/init.d/videosrv7 start
#/etc/init.d/networking restart
+
#/etc/init.d/keyguard restart
 +
#nano /etc/network/interfaces
 +
#/etc/init.d/networking restart
  
 
Заходим в подробный веб-интерфейс видео-сервера и убеждаемся что ключ и рег-файл определились
 
Заходим в подробный веб-интерфейс видео-сервера и убеждаемся что ключ и рег-файл определились
 +
 +
[[Файл:cl_38.jpg|центр|1000px|]]
  
 
затем нужно добавить внешний видеосервер (или несколько)  
 
затем нужно добавить внешний видеосервер (или несколько)  
 +
 +
[[Файл:cl_39.jpg|центр|1000px|]]
  
 
Настройки — внешние видеосервера. Затем «Плагины» - «логика» и добавляем плагин «сборщик» указав ip сервера (так же добавляем еще серверы если требуется)
 
Настройки — внешние видеосервера. Затем «Плагины» - «логика» и добавляем плагин «сборщик» указав ip сервера (так же добавляем еще серверы если требуется)
 +
 +
[[Файл:cl_40.jpg|центр|1000px|]]
  
 
Это нам позволит увидеть камеры с других центральных серверов и добавить их в свои наборы. Важный момент — при создании наборы нужно добавить любую камеру, даже не существующую. Без этого наборы создать не удастся.
 
Это нам позволит увидеть камеры с других центральных серверов и добавить их в свои наборы. Важный момент — при создании наборы нужно добавить любую камеру, даже не существующую. Без этого наборы создать не удастся.
  
===Установка и настройка серверной части Oracle на OS Linux (Debian 8.5/8.6)===
+
===Установка и настройка серверной части Oracle на OS Linux (Debian 8.5/8.6) + Клиент Oracle и клиент СКД===
  
+ Клиент Oracle и клиент СКД
+
'''Установка Oracle 11g'''
Установка Oracle 11g
+
 
Перед установкой Oracle 11g R2 Express Edition (XE), нужно установить дополнительные пакеты (машина должна быть подключена к Internet). Эти пакеты могут быть установлены путем выполнения следующей команды:
+
Перед установкой Oracle 11g R2 Express Edition (XE), нужно установить дополнительные пакеты (машина должна быть подключена к Internet). Эти пакеты могут быть установлены путем выполнения следующей команды:
 
от root
 
от root
  
Строка 1186: Строка 1391:
 
Перейдем в папку:
 
Перейдем в папку:
  
cd /usr/local/src
+
cd /usr/local/src
  
 
Дистрибутив oracle 11 нужно скачать с официального сайта затем нужно установить его.
 
Дистрибутив oracle 11 нужно скачать с официального сайта затем нужно установить его.
 
http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html
 
http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html
  
 +
[[Файл:cl_41.jpg|центр|1000px|]]
  
 
Следующим шагом будет распаковка скачанного архива с оракл:
 
Следующим шагом будет распаковка скачанного архива с оракл:
  
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
+
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
  
        Данный архив довольно большой и на распаковку потребуется некоторое время, ждем окончания и после чего переходим в нужную директорию для установки:
+
Данный архив довольно большой и на распаковку потребуется некоторое время, ждем окончания и после чего переходим в нужную директорию для установки:
  
cd Disk1
+
cd Disk1
  
      Теперь мы должны преобразовать пакет Red Hat (RPM) в пакет Debian. Это может быть сделано с помощью команды alien. Параметр «-d » используется для информирования, что пакет Debian уже сформирован. Выполняем преобразование:
+
Теперь мы должны преобразовать пакет Red Hat (RPM) в пакет Debian. Это может быть сделано с помощью команды alien. Параметр «-d » используется для информирования, что пакет Debian уже сформирован. Выполняем преобразование:
  
 
от рута  
 
от рута  
Строка 1206: Строка 1412:
 
  alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
 
  alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
  
      Этот шаг может занять некоторое время. Потребуется подождать около 15 минут.По этому если хотите жди окончания, а можно еще открыть один терминал для работы и в нем уже выполнять следующие шаги.
+
Этот шаг может занять некоторое время. Потребуется подождать около 15 минут.По этому если хотите жди окончания, а можно еще открыть один терминал для работы и в нем уже выполнять следующие шаги.
 
Пакет Red Hat, полагается на файл /sbin/chkconfig, который не используется в Ubuntu. Для успешной установки Oracle XE мы используем простой трюк.
 
Пакет Red Hat, полагается на файл /sbin/chkconfig, который не используется в Ubuntu. Для успешной установки Oracle XE мы используем простой трюк.
  
Строка 1215: Строка 1421:
 
вставляем в открывшийся файл следующие строки
 
вставляем в открывшийся файл следующие строки
  
#!/bin/bash
+
#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
+
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
file=/etc/init.d/oracle-xe
+
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
+
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
+
echo >> $file
echo '### BEGIN INIT INFO' >> $file
+
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
+
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
+
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
+
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
+
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
+
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
+
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
+
echo '### END INIT INFO' >> $file
fi
+
fi
update-rc.d oracle-xe defaults 80 01
+
update-rc.d oracle-xe defaults 80 01
#EOF
+
#EOF
  
 
Сохраните файл и закройте редактор. Теперь мы должны предоставить файл с соответствующими привилегиями исполнения.
 
Сохраните файл и закройте редактор. Теперь мы должны предоставить файл с соответствующими привилегиями исполнения.
Строка 1237: Строка 1443:
  
 
  chmod 755 /sbin/chkconfig
 
  chmod 755 /sbin/chkconfig
 +
 
Установим дополнительные параметры ядра. Откройте файл, выполнив:
 
Установим дополнительные параметры ядра. Откройте файл, выполнив:
  
Строка 1243: Строка 1450:
 
  nano /etc/sysctl.d/60-oracle.conf
 
  nano /etc/sysctl.d/60-oracle.conf
  
Скопируйте и вставьте следующий код в файле. Kernel.shmmax является максимально возможное значение физической памяти в байтах. 536870912/1024/1024 = 512 Мб.
+
Скопируйте и вставьте следующий код в файле. Kernel.shmmax является максимально возможное значение физической памяти в байтах.  
 +
 
 +
536870912/1024/1024 = 512 Мб.
  
 
вставляем в открывшийся файл следующие строки
 
вставляем в открывшийся файл следующие строки
  
# Oracle 11g XE kernel parameters
+
# Oracle 11g XE kernel parameters
fs.file-max=6815744
+
fs.file-max=6815744
net.ipv4.ip_local_port_range=9000 65000
+
net.ipv4.ip_local_port_range=9000 65000
kernel.sem=250 32000 100 128
+
kernel.sem=250 32000 100 128
kernel.shmmax=536870912
+
kernel.shmmax=536870912
  
 
Сохраните файл. Изменения в этом файле могут быть проверены командой:
 
Сохраните файл. Изменения в этом файле могут быть проверены командой:
Строка 1257: Строка 1466:
 
от рута  
 
от рута  
  
cat /etc/sysctl.d/60-oracle.conf
+
cat /etc/sysctl.d/60-oracle.conf
 +
 
 +
fs.file-max=6815744
 +
net.ipv4.ip_local_port_range=9000 65000
 +
kernel.sem=250 32000 100 128
 +
kernel.shmmax=536870912
  
fs.file-max=6815744
 
net.ipv4.ip_local_port_range=9000 65000
 
kernel.sem=250 32000 100 128
 
kernel.shmmax=536870912
 
 
это говорит о том что параметры введены верно
 
это говорит о том что параметры введены верно
  
Строка 1269: Строка 1479:
 
от рута  
 
от рута  
  
service procps restart
+
service procps restart
 +
 
 
Изменения могут быть вновь проверено командой:
 
Изменения могут быть вновь проверено командой:
  
 
от рута  
 
от рута  
  
sysctl -q fs.file-max
+
sysctl -q fs.file-max
  
 
Должны увидеть следующий вывод на экран:
 
Должны увидеть следующий вывод на экран:
  
fs.file-max = 6815744
+
fs.file-max = 6815744
 +
 
 
После этого, выполните следующие инструкции, чтобы сделать еще несколько необходимых изменений:
 
После этого, выполните следующие инструкции, чтобы сделать еще несколько необходимых изменений:
  
su ln -s /usr/bin/awk /bin/awk
+
su ln -s /usr/bin/awk /bin/awk
mkdir /var/lock/subsys (должен поругать и сказать,что такое файл существует,не обращаем на это внимание)
+
mkdir /var/lock/subsys (должен поругать и сказать,что такое файл существует,не обращаем на это внимание)
touch /var/lock/subsys/listener
+
touch /var/lock/subsys/listener
Теперь осталось установить уже пересобранный пакет (убедитесь в этом хорошо, а то не будет работать):
+
Теперь осталось установить уже пересобранный пакет (убедитесь в этом хорошо, а то не будет работать):
  
 
от рута  
 
от рута  
  
dpkg --install oracle-xe_11.2.0-2_amd64.deb
+
dpkg --install oracle-xe_11.2.0-2_amd64.deb
  
 
Происходит установка и можно перейти к настройке.
 
Происходит установка и можно перейти к настройке.
Строка 1298: Строка 1510:
 
от рута  
 
от рута  
  
rm -rf /dev/shm
+
rm -rf /dev/shm
  
 
Создаем папку:
 
Создаем папку:
Строка 1304: Строка 1516:
 
от рута  
 
от рута  
  
mkdir /dev/shm
+
mkdir /dev/shm
  
 
Монтируем папку для работы:
 
Монтируем папку для работы:
Строка 1310: Строка 1522:
 
от рута  
 
от рута  
  
mount -t tmpfs shmfs -o size=4096m /dev/shm
+
mount -t tmpfs shmfs -o size=4096m /dev/shm
  
 
Создаем файл и пропишем параметры в него
 
Создаем файл и пропишем параметры в него
Строка 1316: Строка 1528:
 
от рута  
 
от рута  
  
nano /etc/rc2.d/S01shm_load
+
nano /etc/rc2.d/S01shm_load
  
#!/bin/sh
+
#!/bin/sh
case "$1" in
+
case "$1" in
start) mkdir /var/lock/subsys 2>/dev/null
+
start) mkdir /var/lock/subsys 2>/dev/null
touch /var/lock/subsys/listener
+
touch /var/lock/subsys/listener
rm /dev/shm 2>/dev/null
+
rm /dev/shm 2>/dev/null
mkdir /dev/shm 2>/dev/null
+
mkdir /dev/shm 2>/dev/null
mount -t tmpfs shmfs -o size=4096m /dev/shm ;;
+
mount -t tmpfs shmfs -o size=4096m /dev/shm ;;
*) echo error
+
*) echo error
exit 1 ;;
+
exit 1 ;;
esac
+
esac
  
 
Сохраните файл, закройте редактор и предоставить соответствующие привилегии выполнения:
 
Сохраните файл, закройте редактор и предоставить соответствующие привилегии выполнения:
Строка 1348: Строка 1560:
 
от рута  
 
от рута  
  
nano /etc/bash.bashrc
+
nano /etc/bash.bashrc
  
 
Откроется файл и в самый низ добавляем следующие строки:
 
Откроется файл и в самый низ добавляем следующие строки:
  
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
+
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
+
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
+
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
+
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
+
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
+
export PATH=$ORACLE_HOME/bin:$PATH
  
 
Сохраните файл и закройте редактор. Чтобы загрузить изменения, выполните следующую инструкцию:
 
Сохраните файл и закройте редактор. Чтобы загрузить изменения, выполните следующую инструкцию:
  
source /etc/bash.bashrc
+
source /etc/bash.bashrc
  
 
мы не должны увидеть ни какой ошибки
 
мы не должны увидеть ни какой ошибки
Строка 1367: Строка 1579:
 
Чтобы проверить изменения, которые вы сделали выполните:
 
Чтобы проверить изменения, которые вы сделали выполните:
  
echo $ORACLE_HOME
+
echo $ORACLE_HOME
  
 
Должны увидеть следующее:
 
Должны увидеть следующее:
  
/u01/app/oracle/product/11.2.0/xe
+
/u01/app/oracle/product/11.2.0/xe
  
 
После этого шага рекомендуется перезагрузить компьютер. После перезагрузки запускаем сервер с oracle:
 
После этого шага рекомендуется перезагрузить компьютер. После перезагрузки запускаем сервер с oracle:
 
от рута  
 
от рута  
  
service oracle-xe start
+
service oracle-xe start
  
 
в консоли вводим команду от рута
 
в консоли вводим команду от рута
  
 
  cd /etc
 
  cd /etc
nano sudoers
+
nano sudoers
  
 
Если нет этой папки, ее нужно создать. Или если в папке пусто, то вбиваем следующее:
 
Если нет этой папки, ее нужно создать. Или если в папке пусто, то вбиваем следующее:
Строка 1404: Строка 1616:
 
В случае успешной установки и настройки Oracle-XE мы должны увидеть следующее
 
В случае успешной установки и настройки Oracle-XE мы должны увидеть следующее
  
oracle-xe.service - LSB: Oracle 11g Express Edition
+
oracle-xe.service - LSB: Oracle 11g Express Edition
  Loaded: loaded (/etc/init.d/oracle-xe)
+
Loaded: loaded (/etc/init.d/oracle-xe)
  Active: active (exited) since Сб 2017-03-25 14:03:06 KRAT; 5min ago
+
Active: active (exited) since Сб 2017-03-25 14:03:06 KRAT; 5min ago
  Process: 508 ExecStart=/etc/init.d/oracle-xe start (code=exited, status=0/SUCCESS)
+
Process: 508 ExecStart=/etc/init.d/oracle-xe start (code=exited, status=0/SUCCESS)
  
мар 25 14:03:05 IPE15961 oracle-xe[508]: Oracle Database 11g Express Edition is not confi...run
+
мар 25 14:03:05 IPE15961 oracle-xe[508]: Oracle Database 11g Express Edition is not confi...run
мар 25 14:03:05 IPE15961 oracle-xe[508]: '/etc/init.d/oracle-xe configure' as the root us...se.
+
мар 25 14:03:05 IPE15961 oracle-xe[508]: '/etc/init.d/oracle-xe configure' as the root us...se.
Hint: Some lines were ellipsized, use -l to show in full.
+
Hint: Some lines were ellipsized, use -l to show in full.
  
 
Если установка прошла не корректно, то в информации после проверки появятся красные строчки.  Рекомендуется  снова проверить файл sudoers в папке etc.
 
Если установка прошла не корректно, то в информации после проверки появятся красные строчки.  Рекомендуется  снова проверить файл sudoers в папке etc.
Строка 1426: Строка 1638:
 
1.Для установки wine и winetricks изменяем source.list от рута в консоли вводим  
 
1.Для установки wine и winetricks изменяем source.list от рута в консоли вводим  
  
nano /etc/apt/sources.list
+
nano /etc/apt/sources.list
  
 
откроется файл со следующем содержанием
 
откроется файл со следующем содержанием
  
#  
+
#  
 
+
# deb cdrom:[Debian GNU/Linux 8.5.0 _Jessie_ - Official amd64 DVD Binary-1 20160604-15:35]/ jessie contrib main
# deb cdrom:[Debian GNU/Linux 8.5.0 _Jessie_ - Official amd64 DVD Binary-1 20160604-15:35]/ jessie contrib main
+
# deb cdrom:[Debian GNU/Linux 8.5.0 _Jessie_ - Official amd64 DVD Binary-1 20160604-15:35]/ jessie contrib main
 
+
# Line commented out by installer because it failed to verify:
# deb cdrom:[Debian GNU/Linux 8.5.0 _Jessie_ - Official amd64 DVD Binary-1 20160604-15:35]/ jessie contrib main
+
deb http://security.debian.org/ jessie/updates main contrib
 
+
# Line commented out by installer because it failed to verify:
# Line commented out by installer because it failed to verify:
+
deb-src http://security.debian.org/ jessie/updates main contrib
deb http://security.debian.org/ jessie/updates main contrib
+
# jessie-updates, previously known as 'volatile'
# Line commented out by installer because it failed to verify:
+
# A network mirror was not selected during install.  The following entries
deb-src http://security.debian.org/ jessie/updates main contrib
+
# are provided as examples, but you should amend them as appropriate
 
+
# for your mirror of choice.
# jessie-updates, previously known as 'volatile'
+
#
# A network mirror was not selected during install.  The following entries
+
deb http://ftp.debian.org/debian/ jessie-updates main contrib
# are provided as examples, but you should amend them as appropriate
+
deb-src http://ftp.debian.org/debian/ jessie-updates main contrib
# for your mirror of choice.
+
deb file:///mnt/DSetup/CD1 jessie main contrib
#
+
deb file:///mnt/DSetup/CD2 jessie main contrib
deb http://ftp.debian.org/debian/ jessie-updates main contrib
+
deb file:///mnt/DSetup/CD3 jessie main contrib
deb-src http://ftp.debian.org/debian/ jessie-updates main contrib
 
deb file:///mnt/DSetup/CD1 jessie main contrib
 
deb file:///mnt/DSetup/CD2 jessie main contrib
 
deb file:///mnt/DSetup/CD3 jessie main contrib
 
  
 
Предполагается, что образа с установочных дисков(CD1, CD2,CD3) уже смонтированы и добавлены в sources.list. Если этого нет используй инстркцию по установке Debian 8.5
 
Предполагается, что образа с установочных дисков(CD1, CD2,CD3) уже смонтированы и добавлены в sources.list. Если этого нет используй инстркцию по установке Debian 8.5
Строка 1457: Строка 1665:
  
  
deb http://httpredir.debian.org/debian jessie main
+
deb http://httpredir.debian.org/debian jessie main
deb-src http://httpredir.debian.org/debian jessie main
+
deb-src http://httpredir.debian.org/debian jessie main
 
+
deb http://httpredir.debian.org/debian jessie-updates main
deb http://httpredir.debian.org/debian jessie-updates main
+
deb-src http://httpredir.debian.org/debian jessie-updates main
deb-src http://httpredir.debian.org/debian jessie-updates main
+
deb http://mirror.yandex.ru/debian jessie-backports main contrib non-free
 
+
deb-src http://mirror.yandex.ru/debian jessie-backports main contrib non-free
deb http://mirror.yandex.ru/debian jessie-backports main contrib non-free
 
deb-src http://mirror.yandex.ru/debian jessie-backports main contrib non-free
 
 
 
  
 
2. от рута обновляем, добавленные репозитории  
 
2. от рута обновляем, добавленные репозитории  
  
apt-get update
+
a pt-get update
  
 
3.Установка wine i386:
 
3.Установка wine i386:
  
      Для того, чтобы заставить работать “правильный” Wine в 64-битной операционной системе нужно выполнить последовательно команды(от рута):
+
Для того, чтобы заставить работать “правильный” Wine в 64-битной операционной системе нужно выполнить последовательно команды(от рута):
  
   
+
dpkg --add-architecture i386
 +
apt-get update
 +
apt-get install libpulse0:i386(надо будет ответить да)
 +
apt-get install -f
 +
apt-get install wine:i386(надо будет ответить да)
 +
rm -fR ~/.wine
  
    dpkg --add-architecture i386
+
Последнюю команду можно опустить, но как показывает практика, она необходима, если Вы уже ранее пытались установить 64-битный Wine.  
    apt-get update
 
    apt-get install libpulse0:i386(надо будет ответить да)
 
    apt-get install -f
 
    apt-get install wine:i386(надо будет ответить да)
 
    rm -fR ~/.wine
 
  
      Последнюю команду можно опустить, но как показывает практика, она необходима, если Вы уже ранее пытались установить 64-битный Wine. Команда просто удаляет все ранее известные настройки.
+
Команда просто удаляет все ранее известные настройки.
  
  
 
4. После установки посмотрим версию wine:  
 
4. После установки посмотрим версию wine:  
  
wine --version (должно быть 1.6.2)
+
wine --version (должно быть 1.6.2)
  
 
5.Установка winetricks на debian:
 
5.Установка winetricks на debian:
 +
 
от рута
 
от рута
  
Строка 1498: Строка 1704:
 
Загружаем winetricks скрипт:
 
Загружаем winetricks скрипт:
  
cd /usr/local/src && wget http://winetricks.org/winetricks
+
cd /usr/local/src && wget http://winetricks.org/winetricks
  
 
Добавляем права на выполнение (запуск) скрипта:
 
Добавляем права на выполнение (запуск) скрипта:
  
chmod +x winetricks
+
chmod +x winetricks
  
 
Запускаем winetricks:
 
Запускаем winetricks:
  
./winetricks
+
./winetricks
  
 
По пунктам окон потверждения действий:
 
По пунктам окон потверждения действий:
 +
 
ок (даже если выскочила ошибка)
 
ок (даже если выскочила ошибка)
 +
 
нет
 
нет
 +
 
ок
 
ок
 +
 
установить DLL(1 пункт) - ок
 
установить DLL(1 пункт) - ок
 +
 
выбираем mdac27,mdac28,msvcirt- ок (пойдет установка)
 
выбираем mdac27,mdac28,msvcirt- ок (пойдет установка)
 +
 
отмена (выскочит ошибка)
 
отмена (выскочит ошибка)
  
 
ok-нет-ok-установить DLL(1 пункт)-ok-выбираем mdac27,mdac28,msvcirt-установка-отмена (при ошибке)
 
ok-нет-ok-установить DLL(1 пункт)-ok-выбираем mdac27,mdac28,msvcirt-установка-отмена (при ошибке)

Текущая версия на 18:13, 6 июля 2017

Содержание

Развертывание кластера

Введение

Virtual Environment (VE) (виртуальня среда) Proxmox является многоузловым кластерным гипервизором с открытым исходным кодом, построенным на Debian Linux и способным работать на общедоступных аппаратных средствах, тем самым устраняя любые блокировки вендора. Proxmox свободно доступен без каких-либо блокированных особенностей.

Proxmox это мультиузловая среда, и это означает, что многие узлы могут образовывать единый кластер в котором виртуальная машина может быть перемещена на любой узел в кластере, тем самым делая возможной избыточную виртуальную среду. Весь Proxmox кластер может управляться через надежный графический интерфейс пользователя (GUI).

Предварительная настройка серверов

Перед установкой Proxmox на платформу Supermicro, необходимо настроить BIOS, IPMI и дату/время

1. Выставить дату и время в BIOS на текущую. В зависимости от временной зоны где будет работать кластер. На каждой Ноде!

2 Режим SATA выставить - ACHI

3 Автоматическое включение после сбоя питания - Power on

4 Настроить статический адрес IPMI - BMC – IPMI (ip, маску подсети, шлюз если есть)

5 отключить первоначальную загрузку по Lan

Жесткие диски обязательно должны быть «очищены» перед установкой Proxmox! Для работы с программным RAID1 обязательно использование дисков HGST (было протестировано на них). На дисках Toshiba программный RAID1 сделать не удалось. После настройки Bios (режим SATA – ACHI) монтируем образ proxmox-ve_4.4-eb2d6f1e-2 с «Внешнего HDD» и загружаемся с него (без UEFI), либо через IPMI Supermicro IPMIView20 смонтировать образ proxmox-ve_4.4-eb2d6f1e-2 (для этого нужно знать ip адрес IPMI и быть в одной подсети с ним. Будет описано ниже).

Для работы с серверами по IPMI, можно воспользоваться утилитой от Supermicro IPMIView20. Она упростить и ускорить работу по IPMI (внимание: работает только на Windows и потребуется установленная программа JAVA (jre-8u111-windows-x64)

Работа с образами в IPMI Supermicro utilities

IPMIView20 – Отличная утилита для работы с серверами по IPMI на материнских платах Supermicro.

Утилита позволяет делать поиск по заданному пул IP адресов, добавлением их в колонку доступных,

Cl 1.jpg

а так же простоту в работе с несколькими окнами (серверами) одновременно.

Так же можно менять IPMI адрес не заходя в BIOS, просматривать температуру и сост. Cервера.

Важной особенностью стоит отменить возможность монтирования образов прямо с компьютера, на котором происходит настройка. Достаточно выбрать сервер по IPMI с котором необходимо работать. Перейти в закладку IPMI Concole и подключиться.

В открывшемся окне нажать закладку Virtual Storage и выбрать ISO файл, затем нажать Plug in и запустить сервер на перезагрузку в том же окне — Power Control – Power Reset. После работы с ISO образом его необходимо размонтировать — там же кнопкой Plug Out, иначе сервер будет пытаться загрузиться в первую очередь с образа.

Cl 2.jpg

Установка Proxmox на голом узле (на каждую Нод) с использованием RAID1

Процесс установки Proxmox полностью управляется графическим интерфейсом с помощью различных подсказок. В этом разделе мы последуем следующими шагами в создании нашего первого узла Proxmox. Включите питание и загрузите физический узел, используя установочный диск или USB-носитель. На следующий снимок экрана показывает как выглядит экран после загрузки:

Cl 3.jpg

1. Install Proxmox VE

2. В экране End User License Agreement (EULA) кликните согласие:I agree.

3. Нажимаем options и меняем на файловую систему zfs-raid1) – next (не применимо для дисков Toshiba)

4. Russia – Europe/Moscow – U.S.English

5. Введите и подтвердите пароль для пользователя root. Затем введите адрес е-mail, на который отсылать все уведомления кластера Proxmox. вводим пароль для root:000000 повторяем, mail любой —next

6. На данном шаге вы должны ввести имя хоста и сетевую информацию, такую как IP Address, Gateway, DNS Server. Введите необходимую информацию для вашей среды, а затем нажмите Next

Cl 4.jpg

Hostname: DIR_номер сервера.integra-s.com (доменное имя обязательно)

Сеть указываем свою, ВАЖНО IP должен быть с прямым выходом в интернет, хотя бы на время обновления. Если есть локальные репозитории IP можно указать статический сразу.

В нашем случае (в офисе Интегра-С) настройки сети следующие:

192.168.10.66 (IP с инетом)

255.255.254.0 (маска) 192.168.10.9 (шлюз)

192.168.10.2 (DNS)

Next

7. Дождаться завершения установки

На данный момент была собрана вся необходимая информация и была запущена основная установка. После ее выполнения удалите установочный диск или носитель USB и кликните на Reboot.

Следуйте шагам с 1 по 7 на втором и третьем узле. (Для Proxmox кластера минимально требуются два узла.)

Внимание

Если требуется менять ip адрес делать только через web-интерфейс, имя сервера (node) нельзя менять через nano /etc/hosts.

Обновление Proxmox и установка компонентов (через интернет)

1.Необходимо поменять платный репозиторий Proxmox, требующий подписки, на бесплатный, логинимся от root и вбиваем строку:

#nano /etc/apt/sources.list.d/pve-enterprise.list

Комментируем строку и вбиваем новую строку ниже:

deb http://download.proxmox.com/debian jessie pve-no-subscription

(можно использовать копирование строки ctrl+K (копировать) ctrl+U (вставить)

Нажимаем ctrl+X затем Y и Enter

2. Далее обновляем Proxmox:

#apt update && apt dist-upgrade

соглашаемся Y

“q to quit” нажимаем Q

3. Вбиваем и устанавливаем по очереди:

#pveceph install -version jewel

#apt install htop mc attr glusterfs-server pv ntp

Если требуется сменить имя сервера или ip адрес необходимо менять в трех местах, командами:

nano /etc/hostnameне желательно, возможны ошибки после

nano /etc/hosts

nano /etc/network/interfaces

Обновление Proxmox через локальный репозиторий

1. Воспользоваться программой WinSCP на ОС Windows машине подключенной к тоже подсети кластера. Логинимся от root в WinSCP, копируем папку repo (предполагается, что она у Вас есть) в папку media, должно получиться так /media/repo

Можно закинуть с носителя USB. Для этого примонтировать устройство с репами и скопировать их по пути /media/repo

2. Подкинуть файл localerepo.list в /etc/apt/sources.list.d/

Закомментировать всё в nano /etc/apt/sources.list

Закомментировать всё в nano /etc/apt/sources.list.d/pve-enterprise.list

3. Находясь в папке с ключами (cd /media/repo) , добавить их командами

#apt-key add release.asc

[OK] — сообщение о верном добавлении ключа

#apt-key add autobuild.asc

[OK] — сообщение о верном добавлении ключа

4. Команда на обновление

  1. apt update && apt dist-upgrade

соглашаемся Y

“q to quit” нажимаем Q

5. Cтавим пакеты

#apt install htop mc attr glusterfs-server pv ntp

6. После установки подкинуть файл pveceph.pm в /usr/share/perl5/PVE/CLI/

7. установить Ceph

#pveceph install -version jewel

Проделываем пункты с 1 по 5 на каждой Ноде

Веб-интерфейс, смена ip, редактирование hosts и добавление нодов

С другого компьютера в общей локальной сети (или ноутбука) заходим через браузер на веб-интерфейс Proxmox:

в нашем случае https://192.168.10.66:8006

Выбираем сначала язык Russia затем root и пароль 000000

Если требуется поменять IP адрес

Выбираем сервер в левом столбце, затем System – сеть и в строке wmbr0 по двойному клику меняем в открывшемся окне IP адрес, маску и шлюз – ок.

Так же меняем DNS сервер если требуется

Нажимаем на кнопку «Перезапуск» в верхнем правом углу веб-интерфейса (в некоторых случаях необходимо перезагружать дважды)

Ждем какое то время, пробуем зайти по новому адресу https://Х.Х.Х.Х:8006

Х.Х.Х.Х — ваш новый IP адрес, порт всегда 8006

Так же нужно поменять IP адрес в строке файла hosts, для корректного отображения IP в шапке консоли

Это можно сделать через веб-интерфейс нажав «Консоль»

логинимся от root и вбиваем команду:

#nano /etc/hosts

меняет IP, перезагружаемся.

HOSTS

Обязательно прописываем на каждой Ноде (сервере) ip и hostname Ноды будущего кластера

Cl 5.jpg

Нажимаем ctrl+X затем Y и Enter

Повторяем у всех Нодов (серверов), pvelocalhost в конце строки остается на каждом из нодов в соответствии с тем, на котором настраиваем (см. скриншот). Обратить внимание на ip адрес и имя сервера, у Вас они будут другие. Включая четвертый dir4 - ZIP сервер если такой имеется

Объединение в кластер

Создаем кластер и прописываем на главном Ноде (допустим на dir1):

#pvecm create <clustername> (например dircluster)

На второстепенных Нодах пишем

#pvecm add dir1 (dir1 это имя нашего главного Нод)

yes, пароль от root главной Нод

Проверяем, что все нормально и смотрим список Нод в кластере

#pvecm status

Перезагружаем все Ноды и заходим в веб-интерфейс главного Нода (в нашем случае https://192.168.11.211:8006)

Должны увидеть все добавленные Ноды (серверы) в «Датацентр» - «Сводка» Online 3

CEHP (вводная часть)

Ceph является распределенной системой хранения, которая предоставляет блочные устройства хранения объектов RADOS (RBD, RADOS Block Device) Безотказное автоном-ное распределенное хранилище объектов, Reliable Autonomic Distributed Object Store, файловую систему Ceph и хранилище объектов Ceph. Ceph построена с учетом потребностей в очень высоких уровнях надежности, масштабируемости и производительности. Кластер Ceph может быть расширен до масштабов данных в несколько Петабайт без ущерба для целостности данных и может быть настроен с применением общедоступного оборудования. Все записываемые в хранилище данные получают репликации по всему кластеру Ceph. Ceph с самого начала разрабатывался исходя из потребностей больших данных. В отличие от других типов хранилищ, чем больше становится кластер Ceph, тем выше его производительность. Тем не менее, он также может быть использован для резервирования данных с такой же легкостью в небольших средах. Низкая производительность может быть смягчена с применением SSD для хранения журналов Ceph.

Встроенные средства самовосстановления Ceph обеспечивают беспрецедентную устойчивость при отсутствии единой точки отказа. В кластере Ceph со многими узлами хранилище может переносить не только отказ жесткого диска, но и выход из строя всего узла без потери данных.

Ceph включает ряд компонентов имеющих решающее значение для вашего понимания того, как настраивать и эксплуатировать хранилище. Следующие компоненты это то, и чего состоит Ceph:

Демон монитора (MON)

Демон хранения объектов (OSD)

Журнал OSD

Сервер метаданных (MSD)

Карта Управляемых масштабируемым хешированием репликаций (CRUSH map, Controlled Replication Under Scalable Hashing map)

Группы размещения (PG, Placement Group)

Пулы (Pool)

MON

Демоны монитора формируют кворум распределенного кластера Ceph. Должно присутствовать как минимум три настроенных демона монитора на различных узлах для каждого кластера. Демоны монитора также могут быть настроены как виртуальные машины вместо применения физических узлов. Мониторы требуют очень мало ресурсов для функционирования, следовательно выделяемые ресурсы могут быть очень незначительными. Монитор может быть установлен через графический интерфейс Proxmox после начального создания кластера.

OSD

Демоны хранения объектов OSD, Object Storage Daemons отвечают за хранение и извлечение действительных данных кластера. Обычно одно физическое устройство подобное жесткому диску, или твердотельному диску настраивается как отдельный OSD. Хотя несколько различных OSD может быть настроено на одном физическом диске, это не рекомендуется делать совсем ни для каких промышленных применений. Каждый OSD требует устройство журнала, где вначале записываются данные, которые позже переносятся на реальный OSD. Сохраняя данные в журналах на высокопроизводительных SSD мы можем значительно увеличивать производительность ввода/ вывода Ceph. Благодаря архитектуре Ceph, чем больше и больше OSD добавляется в кластер, тем больше возрастает производительность ввода/ вывода. Журнал OSD работает очень хорошо на малых кластерах при примерно восьми OSD на узел. OSD могут быть установлены с помощью графического интерфейса Proxmox после начального создания MON.

OSD Journal

Каждый фрагмент данных предназначенный для OSD Ceph вначале записывается в журнал. Журнал позволяет демонам OSD записывать меньшие фрагменты, позволяя реальным дискам фиксировать запись, которая требует больше времени. Проще говоря, все данные будут записаны в журналы, а затем журнальная файловая система отправляет данные на фактический диск для постоянной записи. Так, если журнал хранится на диске с высокой производительностью, например SSD, входящие данные будут записаны с гораздо более высокой скоростью, в то время как за сценой более медленные диски SATA могут фиксировать запись с более медленной скоростью. Журналы на SSD могут на самом деле улучшать производительность кластера Ceph, особенно, если кластер небольшой, всего с несколькими терабайтами данных.

Замечание:

Следует также отметить, что если происходит отказ журнала, это приведёт к выходу из строя всех OSD, которые обслуживает данное устройство журнала. В некоторых средах может быть необходимо помещать два устройства SSD для зеркального RAID и уже его применять для журнала В больших средах с более чем 12 OSD на узел производительность может быть на самом деле получена путём размещения журнала на том же диске OSD вместо применения SSD для ведения журнала.

MDS

Демон сервера метаданных MDS, Metadata Server отвечает за предоставление файловой системы Ceph (CephFS) в распределенной системе хранения Ceph. MDS может настраиваться на отдельных узлах или сосуществовать с уже существующими узлами монитора или виртуальными машинами. Хотя CephFS прошла долгий путь, она по прежнему не в полной мере рекомендуется к применению в промышленной среде. Стоит упомянуть, что многие виртуальные среды активно работают с MDS без каких- либо проблем. В настоящее время не рекомендуется настраивать более двух MDS в одном кластере Ceph. В настоящее время CephFS не поддерживается подключаемым модулем хранения Proxmox. Однако она может быть настроена как монтируемая локально с последующим соединением через хранилище Directory. MDS не может быть установлен через графический интерфейс Proxmox, по крайней мере, в версии 3.4.

CRUSH map

Карта Управляемых масштабируемым хешированием репликаций (CRUSH map) является сердцем распределенной системы хранения Ceph. Алгоритм для сохранения и извлечения пользовательских данных в кластерах Ceph планируется в карте CRUSH. CRUSH делает возможным прямой доступ клиента к OSD. Это устраняет единую точку отказа и любые физические ограничения масштабирования, поскольку не существует централизованных серверов или контроллеров для управления операциями чтения и записи хранимых данных. Во всех кластерах Ceph CRUSH поддерживает карту всех MON и OSD. CRUSH определяет как данные должны быть разбиты и реплицированы среди OSD распределяя их среди локальных узлов или даже среди удаленно расположенных узлов.

Карта CRUSH по умолчанию создается на только что установленный кластер Ceph. Она может дополнительно настраиваться дальше на основе потребностей пользователей. Для небольших кластеров Ceph эта карта должна работать просто прекрасно. Однако, когда Ceph развертывается для очень больших данных, эту карту необходимо настраивать дополнительно. Настроенная карта позволит лучше управлять массивными кластерами Ceph. Для успешной работы с кластерами Ceph любых размеров обязательно ясное понимание карты CRUSH.

PG

В хранилище Ceph объекты данных собираются в группы определяемые с помощью алгоритмов CRUSH. Они называются группами размещения (PG, Placement Group), поскольку CRUSH помещает эти группы в различные OSD в зависимости от установленного в карте CRUSH уровня репликации и количества OSD и узлов. Отслеживая группы объектов вместо самих объектов можно сохранять огромное количество аппаратных ресурсов. Было бы невозможно отслеживать миллионы отдельных объектов в кластере. Следующая диаграмма показывает как объекты объединяются в группы и, как PG связаны к OSD:

Cl 6.jpg

Для балансировки доступных аппаратных ресурсов необходимо назначать правильное число групп размещения. Число групп размещения должно меняться в зависимости от число OSD в кластере. Следующая таблица предлагаемых групп размещений выполнена разработчиками Ceph:

Число OSD Число PG
Меньше 5 OSD 128
От 5 до 10 OSD 512
От 10 до 50 OSD 4096


Выбор соответствующего числа групп размещения является критичным, поскольку каждая группа размещения будет потреблять ресурсы узла. Слишком многогрупп размещения для неверного число OSD в действительности приведет к избыточному использованию ресурсов узла OSD, в то время как очень маленькое число назначенных групп размещения в большом кластере поставит данные в состояние риска. Эмпирическое правило заключается вначале с наименьшим возможным числом групп размещения с последующим их увеличением по мере роста числа OSD.

Pools

Пулы Ceph аналогичны разделам жесткого диска. Мы можем создать множество пулов в кластере Ceph для разделения хранимых данных. Например, пул с названием accounting может хранить данные всего подразделения бухгалтерского учета, а другой пул может хранить данные о персонале компании. При создании пула необходимо назначение числа групп размещения. При начальной настройке Ceph создаются три пула по умолчанию. Это data, metadata и rbd. Удаление пула навсегда удалит все хранимые объекты.

Следующий рисунок демонстрирует основы кластера Proxmox+Ceph

Cl 7.jpg

Предыдущий рисунок показывает узлы Proxmox, три узла монитора, три узла OSD и два узла MDS составляющие кластер Proxmox+Ceph. Заметим, что Ceph располагается в сети, которая отличается от общедоступной сети. В зависимости от установки числа репликаций все приходящие данные объектов должны записываться более одного раза. Это вызывает высокую потребность в пропускной способности. {Прим. пер.: еще большую нагрузку создают автоматическая балансировка, сохраняющая примерно равным процент заполнения всех OSD в кластере Ceph, и восстановление копий в случае выхода из строя некоего оборудования}. Выделяя Ceph в отдельную сетевую среду мы будем уверены, что сеть Ceph может полностью использовать всю полосу пропускания.

В более продвинутых кластерах третья сеть создается исключительно между узлами Ceph для репликаций кластера, тем самым еще больше улучшая производительность. В Proxmox VE 3.4. один и тот же узел может использоваться и для Proxmox, и для Ceph. Это предоставляет больший способ управляемости всеми узлами из одного графического интерфейса Proxmox. Не рекомендуется размещать виртуальные машины Proxmox на узле который также настроен как Ceph. Во время повседневных операций узлы Ceph не потребляют больших объемов ресурсов подобных процессорам или памяти. Однако, когда Ceph переходит в режим балансировки вследствие отказа узла OSD возникают большие объемы реплицируемых данных, что требует больших объемов ресурсов. Если ресурсы совместно используются виртуальными машинами и Ceph, производительность значительно ухудшится.

Настройка основного хранилища

Вы можете настроить хранилище в кластере Proxmox как с применением GUI, так и с помощью CLI. Настройка хранилища сохраняется в файле

/etc/pve/storage.cfg.

Вы можете изменить этот файл непосредственно чтобы добавить хранилища через графический интерфейс Proxmox, а настройки сохранятся автоматически. Следующий снимок экрана является файлом настроек хранилищ в том виде, как он возникает после чистой установки Proxmox:

Cl 8.jpg

Настройка хранилищ обычно имеет следующий многострочный формат:

<type of storage> : <storage_id>

<path_to_storage>

<enable/disable share>

content types

maxfiles <numeric value of maximum backups to keep>

На основании данной настройки существует локальное хранилище подключенное к кластеру Proxmox, причем все файлы будут сохраняться в каталоге /var/lib/vz. Данное хранилище может хранить типы содержания, включающие образы дисков, ISO, шаблоны контейнеров и файлы резервных копий. Хранилище будет хранить максимум три последних файла резервных копии. Следующий снимок экрана показывает хранилище из графического интерфейса Proxmox:

Cl 9.jpg

Изменение настройки хранилища не требует перезагрузки и вступает в действие немедленно.

CEPH (Настройка)

Для внутренней сети без резервирования

Добавляем внутреннюю сеть в веб-интерфейсе Proxmox для каждого из нодов (eth1)

Cl 10.jpg

System – сеть

Cl 11.jpg

Перезагружаем каждую нод (сервер) два раза, должно быть yes в столбце «Активно»

Для внутренней сети с использованием 10 Гб/с и резервированием (Linux bond)

Вводная часть

Для обеспечения отказоустойчивости и повышения пропускной способности сетевых интерфейсов сервера используется агрегация линков, так называемый bonding. Эта технология позволяет объединить два или более физических сетевых интерфейсов в один виртуальный.

Типы агрегации (объединения) интерфейсов в Linux

mode=0 (balance-rr)

Этот режим используется по-умолчанию, если в настройках не указано другое. balance-rr обеспечивает балансировку нагрузки и отказоустойчивость. В данном режиме пакеты отправляются "по кругу" от первого интерфейса к последнему и сначала. Если выходит из строя один из интерфейсов, пакеты отправляются на остальные оставшиеся.При подключении портов к разным коммутаторам, требует их настройки.

mode=1 (active-backup)

При active-backup один интерфейс работает в активном режиме, остальные в ожидающем. Если активный падает, управление передается одному из ожидающих. Не требует поддержки данной функциональности от коммутатора.

mode=2 (balance-xor)

Передача пакетов распределяется между объединенными интерфейсами по формуле ((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов. Один и тот же интерфейс работает с определённым получателем. Режим даёт балансировку нагрузки и отказоустойчивость.

mode=3 (broadcast)

Происходит передача во все объединенные интерфейсы, обеспечивая отказоустойчивость.

mode=4 (802.3ad)

Это динамическое объединение портов. В данном режиме можно получить значительное увеличение пропускной способности как входящего так и исходящего трафика, используя все объединенные интерфейсы. Требует поддержки режима от коммутатора, а так же (иногда) дополнительную настройку коммутатора.

mode=5 (balance-tlb)

Адаптивная балансировка нагрузки. При balance-tlb входящий трафик получается только активным интерфейсом, исходящий - распределяется в зависимости от текущей загрузки каждого интерфейса. Обеспечивается отказоустойчивость и распределение нагрузки исходящего трафика. Не требует специальной поддержки коммутатора.

mode=6 (balance-alb)

Адаптивная балансировка нагрузки (более совершенная). Обеспечивает балансировку нагрузки как исходящего (TLB, transmit load balancing), так и входящего трафика (для IPv4 через ARP). Не требует специальной поддержки коммутатором, но требует возможности изменять MAC-адрес устройства.

Настройка Linux Bond

1. Добавить через веб морду

Datacenter-> node->System->Network

Create Linux Bond

Cl 12.jpg



Cl 13.jpg

Обратите внимание eth1 eth2 в вашем случаем могут быть другими

Все заполняем и делаем restart через веб морду

2. Добавляем в nano /etc/network/interfaces.new

bond_primary eth2

в конец файла

3. Должно выглядеть так, (eth's могут не совпадать)

auto bond0
iface bond0 inet static
address  10.10.10.1
netmask  255.255.255.0 
slaves eth1 eth2
bond_miimon 100
bond_mode active-backup
bond_primary eth2

Сохраняем, перезагружаемся.

Проверяем командой

nano /etc/network/interfaces

сохранилась ли строка bond_primary eth2 в конце

На 10 гб/с сетевых картах в Крыму eth2 расположен дальше всех, последним сетевым входом, предпоследним является eth3. Будьте внимательны!

Проверить активность портов можно командой

#cat /proc/net/bonding/bond0

Cl 14.jpg

MII Status должно быть up

Если down то пишем команду

#ifup eth2

(или же eth3, смотря в какой интерфейс подключен кабель)

Общее для всех внутренних сетей

На главной Ноде (dir1) пишем команду:

#pveceph init --network 10.17.0.0/24

(нужно помнить что 10.17.0.0/24 это для адресов 10.17.Х.Х с маской 255.255.255.0, в вашем случае может быть иначе)

Создание мониторов делаем через консоль, для каждого нода командой:

#pveceph createmon

Должны получить следующее:

Cl 15.jpg

Далее подготавливаем HDD для OSD, для этого их необходимо перевести в GPT в консоле пишем команду:

#fdisk /dev/sdc
g
w

Тоже самое проделываем для sdd, и так на каждой Ноде

После подготовки к созданию OSD, переходим в веб-интерфейсе в строку Ceph – OSD и нажимаем создать OSD

Выбираем sdc и в строке журналирования так же sdc

Для sdd так же журналирование на sdd


И так на каждой из нод. В итоге получаем 6 шт OSD

Cl 16.jpg

Далее удаляем «Пул» и создаем новый с такими параметрами:

Cl 17.jpg

Далее создаем RBD

Датацентр — Хранилище — добавить — RBD

Cl 18.jpg

Мониторы отделяем запятой без пробела

Затем на любой из Нод через консоль делаем следующее:

#cd /etc/pve/priv/
#mkdir ceph
#cp /etc/ceph/ceph.client.admin.keyring ceph/iperbd.keyring      (используйте Табуляцию)

где iperbd — это имя нашего RBD.

Создание Glusterfs

GlusterFS — это распределённая, параллельная, линейно масштабируемая файловая система с возможностью защиты от сбоев. С помощью InfiniBand RDMA или TCP/IP GlusterFS может объединить хранилища данных, находящиеся на разных серверах, в одну параллельную сетевую файловую систему. GlusterFS работает в пользовательском пространстве при помощи технологии FUSE, поэтому не требует поддержки со стороны ядра операционной системы и работает поверх существующих файловых систем (ext3, ext4, XFS, reiserfs и т. п.).

Проверить на главной ноде gluster всех трех нод, командой:

#gluster peer probe <dir1 name>
#gluster peer probe <dir2 name>
#gluster peer probe <dir3 name>


На всех трех нодах проделываем следующие команды:

 #zfs create -o mountpoint=/media/gfs rpool/gfs
 #zfs set acltype=posixacl rpool/gfs
 #zfs set atime=off rpool/gfs
 #zfs set xattr=sa rpool/gfs
 #zfs set overlay=on rpool/gfs


на всех нодах создаем папку wbackup командой:

#mkdir -p /media/gfs/wbackup

Далее на главной ноде <dir1> пишем:

#gluster volume create wbackup replica 3 dir1:/media/gfs/wbackup dir2:/media/gfs/wbackup dir3:/media/gfs/wbackup force    (одной строкой)

Стартуем службу

#gluster volume start wbackup (на главной ноде)

Проверяем на каждой ноде командой

#gluster volume info

Затем в веб-интерфейсе Датацентр — Хранилище — Добавить - GlusterFS

Cl 19.jpg

Строки Volume name и Узлы брать из выпадающего списка, не вбивая самостоятельно!

Если требуется удалить volume

#gluster volume stop wbackup
 #gluster volume delete wbsckup
 #cd /media/glusterfs/wbackup
 for I in ‘attr -lq .`; do setfattr -x trusted.$i .; done attr -lq ./


Настройка резервирования

1. Настраиваем glusterfs

Datacenter → [wbackup/Glusterfs] → оставить только Content [VZDump backup file] → [OK]

Или в русскоязычном интерфейсе

Датацентр – Хранилище – wbackup – оставить только Образ диска [VZDump backup file] - [OK]

Cl 20.jpg


Cl 21.jpg

Datacenter → Backup → [Add] → <Storage local> изменить на <Storage wbackup> настроить → [Create]

Или в русскоязычном интерфейсе

Датацентр – Резервирование – Добавить – < local> изменить на <wbackup> настроить расписание - [Create]

Cl 22.png

Создание VM

Перед созданием VM нужно закачать iso образы (Debian 8.5/8.6) на локальные диски ноды, чтобы потом можно было установить OS на виртуальную машину

Cl 23.jpg

Выбираем необходимый iso образ, в нашем случае debian-8.6.0-amd64-DVD-1 и нажимаем загрузить. Дождаться завершения закачки iso образа на Ноду по сети. Таких образов можно хранить любое количество, зависит от потребности и свободного места на локальных OSD.

Затем переходим к созданию VM – на веб-интерфейс proxmox выбираем «Создать VM» в верхнем правом углу, в следующем окне:

Cl 24.jpg

где Узел это — имя ноды, VM ID - это идентификатор виртуальной машины, Имя — название виртуальной машины. У Вас будет всё свое. Нажимаем далее

В следующем окне выбираем тип ОС (В нашем случае для Debiana 8.6 – ядро Linux 4.X/3.X/2.6 Kernel

Cl 25.jpg

Нажимаем «далее»

Cl 26.jpg

Указываем закаченный нами образ, с которого будет устанавливаться ОС

Cl 27.jpg

Нажимаем «далее»

Выбираем SATA, и указываем размер диска для виртуальной машины, Cache обязательно Write back

Нажимаем «далее»

Выбираем необходимое количество Sockets и Cores (ядер) процессора

Cl 28.jpg

Нажимаем «далее»

Выбираем авто определение ОЗУ и указываем по необходимости размер (минимум и максимум)

Cl 29.jpg

Нажимаем «далее»

Сеть оставляем без изменений

Cl 30.jpg

Нажимаем «далее» и в последней закладке нажимаем «завершить»

Новая VM появится именно на той ноде, которая была указана при создании VM. На каждой ноде может быть несколько VM, все зависит от поставленных задач и мощности серверов (нодов) состоящих в кластере. По умолчанию VM не запущена и не установлена в автозапуск вместе с proxmox. Запустить можно кнопкой «запуск» в верхнем правом углу веб-интерфейса, а загружать автоматически можно изменив параметр «Запуск при загрузке»:

Cl 31.jpg

После установки ОС на виртуальную машину, iso образ обязательно нужно размонтировать, иначе система будет загружаться с образа. Должно быть так

Cl 32.jpg

Если после подключения к VM по двойному клику мыши виден только черный экран — нажмите Enter при активном окне VM.

Экспорт/импорт VM

1. Экпортируем с кластера-донора (Node) открываем консоль

#rbd export ipepool/vm-106-disk-1 - | pv | dd of=vm-106-disk-1

либо

#rbd export ipepool/vm-106-disk-1 - | dd of=vm-106-disk-1

где vm-106-disk-1 — ID VM

затем запаковываем, переходим в папку где лежит файл raw и пишем

#tar -zcvf test.tar.gz vm-106-disk-1

где test – имя архива

vm-106-disk-1 – это имя архивируемого образа

При упаковке и распаковке нельзя закрывать окно

Копируем через WinSCP к себе запакованный образ

2. Импортируем на кластер-акцептор

Копируем и распаковываем образ VM командой

#tar -zxvf test.tar.gz

заходим в директорию с образом и пишем

#dd if=vm-106-disk-1 | pv | rbd import --image-format 2 --image-feature layering – ipepool/vm-106-disk-1 

либо

#dd if=vm-106-disk-1 | rbd import --image-format 2 --image-feature layering – ipepool/vm-106-disk-1

Заходим в директорию с конфигурационными файлами вм'ов на клаcтере-доноре через WinSCP

cd /etc/pve/qemu-server

и копируем себе файл ХХХ.conf, а затем подкидываем его на кластера-акцептор по пути

cd /etc/pve/qemu-server; 

машина появиться на веб-интерфейсе кластера-акцептора

3. Смотрим результат

#rbd -p ipepool ls
#rbd info ipepool/vm-106-disk-1

4. Если требуется удалить VM

#rbd -p ipepool rm <diskname>

(удаление лишних feature) rbd feature disable vm-106-disk-1 <feature>

Обязательно сменить сет. настройки и имена у VM, иначе будет конфликт IP адресов!

HA для мигрирования VM (создание групп)

Для начала необходимо создать группу нодов участвующих в миграции своих VM

Cl 33.jpg


Cl 34.jpg

Далее указываем ID (имя) и выбираем серверы в группу (галочкой)

Затем переход на закладку HA и нажимаем «добавить»

Cl 35.jpg

В открывшимся окне заполняем ID VM которая хотите чтобы мигрировала и указываем число перезапуска (1 по умолчанию), можно вписать комментарий

Cl 36.jpg

Проделать со всем ID нодами, которые необходимы для миграции

При миграции VM с одной нод на другую в ручную в режиме «онлайн» могут помешать подключенные устройства USB и прочие. Отключите их и попробуйте заного.

Например ручное мигрирование VM не доступно для VM на которой установлен Видео-сервер, потому что USB-ключ защиты не позволяет произвести миграцию.

Т.к. ключи защиты установлены на всех четерых Нод (включая Zip нод), а рег-файлы всех четырех ключей находятся в папке с установленной video-server 7.0 — при автоматической миграции (если нода выходит из строя) проблем с лицензированием не произойдет. Каждый ключ цепляет свой рег-файл.

Если автоматическое мигрирование VM произошло неудачно (красный крестик на ID VM) попробуйте удалить/изменить ресурсы или группы HA, а затем произвести миграция в ручную на ту ноду, на которой эта VM работала корректно.

Moxa (настройка)

apt install gcc make linux-headers-$(uname -r)
1) choose kernel 3.x
2) #скопировать подготовленный moxa драйвер в /root
3) #cd /root/moxa/kernerl3.x
#./mxinst
y
N
# cd /usr/lib/npreals2/driver/
# ./mxaddsvr [ip moxa] 2
4) #cp /root/moxa/npreals /etc/init.d/
5) #update-rc.d npreals remove && update-rc.d npreals defaults
6) #cp /root/moxa/ntp /etc/init.d/
7) #update-rc.d ntp remove && update-rc.d ntp defaults

Использование скрипта для добавления новых database, mss, ff

на VM-ках

1. Сменить всем вм машинам ip-адреса

2. Сменить всем вм машинам IP в hosts

3. Запустить скрипты по созданию database, ff, mss на соответствующих вм

3.1. Запускать скрипт из папки командой
# ./<скрипт создающий>
# ./<скрипт удаляющий>
   
3.2. При создании использовать имена без пробелов и спец символов

(на pgvm поправить конфиг файл)

№1 Base

  1. ls – что лежит в текущей папке

видим postgresql

переходим в #cd postgresql

#ls – видим скрипт

Делаем исполняемым, если не было проделано

#chmod +x <имя скрипта>

Запускаем

#./createNewdb.sh


Запустился скрипт-диалог

1. server host: 10.17.9.101 (сервер с базами данных)

2. server port: 5432

3. user name: postgres

4. user password: acuario

5. database name: <имя объекта> (PN1-PN16) (без пробелов и спецсимволов)

6. database template: template_postgis (оставляем как есть)

идет создание базы, ничего не трогаем до завершения


№2 FF

#ls – что лежит в текущей папке, видим firefly

#cd firefly

#ls – аналогично

Делаем исполняемым — аналогично, scriptffcreate.sh

Запускаем

#./scriptffcreate.sh


Запустился скрипт-диалог

1. firefly name: firefly (по умолчанию) меняем на fireflyPN1-PN16

2. firefly path: /opt

3. firefly wamp port: 8090 (по умолчанию) меняем на нужный 8091-8106

4. firefly http port: 10000 (по умолчанию) меняем на 10001-10016

5. serenity ip 10.17.1.1 меняем на нужный

6. serenity port:8888, меняем на нужный

7. acuario2 dbname:PN1, меняем на нужное имя базы PN1-PN16

8. postgresql ip: 10.17.1.1 меняем на наш сервер базы данных 10.17.9.101

запускается FF как демон

Проверка, что он запустился

#systemctl status fireflyPN2 – видим статус active (running) зеленым цветом, значит все ок.



№3 MSS

#ls – что лежит в текущей папке, увидим mss

#cd mss

#ls видим скрипт scriptmsscreate.sh

делаем исполняемым если не проделано ранее

#chmod +x <имя скрипта>

Запускаем #./scriptmsscreate.sh


Диалог

1. mss name: mss (по умолчанию), меняем на нужное например mssPN2

2. ff ip: 10.17.1.1 — меняем на наш (10.17.9.103)

3 ff port: 8080 по умолч., меняем на 8091-8106

4. serenity ip: 10.17.1.1, меняем на нужный

5. serenity port: 8888

6. mss path: /opt

Создается папка с именем, указанным в пункте 1 в папке указанной в пункте 6. Запускается mss как демон.

Проверяем его статус, аналогично ff

#systemctl status mssPN2

ожидаем состояния active (running) зеленым цветом

Использование Zip сервера (четвёртого Нод)

Замена вышедшего из строя сервера (node)

1. добавить новую ноду и удалить неработающую ноду из кластера

2. добавить новый монитор и удалить неработающий

3. добавить новый gluster brick и удалить неработающий

1.1. на второстепенной ноде
ipenode2:~#pvecm add ipenode1
1.2. проверяем статус
ipenode2:~#pvecm status
1.3. удаляем неработающую ноду
ipenode2:~#pvecm delnode <имя сгоревшей машины>


2.1. добавляем монитор как обычно + прописываем ip нового монитора в файл (строка mohost)
#nano /etc/pve/storage.cfg
2.2) посмотри внимательней storage.cfg
nano /etc/pve/storage.cfg
nano /etc/pve/ceph.conf
### move/remove mon ###
ceph mon getmap -o /tmp/monmap
monmaptool --print /tmp/monmap
monmaptool --rm {id} /tmp/monmap
#stop all your monitors! Не нужно, достаточно 1
ceph-mon -i {working mon-id} --inject-monmap /tmp/monmap


делаем изменение в одном мониторе, остальные подхватят и обновят инфу по рабочим мониторам

3. добавляем новый gluster brick

#gluster volume add-brick <wbackup> replica 4 <newnode>:/media/gfs/wbackup force

удаляем сгоревший

#gluster volume delete-brick <wbackup> replica 3 <oldnode>:/media/gfs/wbackup force

nano /etc/pve/storage.cfg

Datacenter → storage → wbackup [edit] (add new node)


4. удаление osd мертвой машины

ID={osd-num}

pveceph stop osd.$ID

ceph osd out osd.$ID

pveceph destroyosd $ID

# ceph osd getcrushmap -o crushmapdump

# crushtool -d crushmapdump -o crushmapdump-decompiled

# nano crushmapdump-decompiled

удалить все упоминания сгоревшей машины и osd

# crushtool -c crushmapdump-decompiled -o crushmapdump-compiled

# ceph osd setcrushmap -i crushmapdump-compiled

получить ответ

set crush map --> all ok

Ntp server, синхронизация времени, GPS Датчик (настройка)

1. Сменить всем вм машинам ip-адреса

2. Сменить всем вм машинам имена

3. Настройка ntpvm: после прохождения 1 и 2 пункта, далее добавить сервер (moxa)

# /usr/lib/npreals2/driver/mxaddsvr <ip moxa> 2

3.1. Если все сделано верно, будет создано несколько устройств COM порта;
с помощью команды
# cat /dev/ttyrX
X-порядковый номер (1,2,3 и т.д.)
должны пойти данные формата NMEA 0183
3.2. Поправить скрипт, если файл-устройство отличается от написанного в скрипте
/root/moxa/npreals.sh
На всех нодах должен быть установлен ntp, если не установлен устанавливаем его (через интернет или локальных репозиториев)

#apt install ntp

Затем на каждой Ноде нужно поменять значения в файле

#nano /etc/ntp.conf

меняем на наш IP у ntpVM

server 10.17.9.104

На каждой ноде добавить задание в CRONE

VM через веб интерфейс

#ntpd — gq

Командой #data можно проверить текущее время

При удачной сихронизации времени на Нодах, значок будет таким

Cl 37.jpg

GPS/Glonass

1. Подсоединить R+/D+ (A); R-/D- (B), где А-зеленый, В- белый

2. Настроить Моху (вебморда)

Port 2:

Interface [RS-485 2WIRE]
Baud rate [115200]

3. Виртуальные com ports:

RS-485 = /dev/ttyr(number)

RS-232 = /dev/ttyr0(number)

4. Настройка скорости и т.п.:

chmod . . .

ln -s /dev/ttyr3 /dev/gps0 -для драйвера NMEA на 127.127.20.0 (0 — порядковый номер gps устройства)

chmod 777 /dev/ttyr*

stty -F /dev/gps0 115200 (устанавливаем скорость)

для проверки скорости:

stty -F /dev/gps0

5. При правильном подключении проверим выходные данные:

cat /dev/gps0

при неверно выставленной скорости пойдут иероглифы

при верной конфигурации - координаты формата NMEA 0183

6. apt install ntp

7. правим конфиг:

# Local Clock — если теряем спутники, то снижаем stratum до 10
#server 127.127.1.0
#fudge 127.127.1.0 stratum 10
# NMEA GPS driver
server 127.127.20.0 prefer mode 80 #mode 80 означает скорость 115200bps
driftfile /var/lib/ntp/ntp.drift
restrict default nomodify notrust # Отдаём время всем
restrict 127.0.0.1 # Разрешаем себе всё
disable auth
#logfile /var/log/ntp/messages 

8. рестарт службы для принzтия настроек:

systemctl restart ntp

systemctl status ntp

не должно быть ошибок, active(running)

проверить на наличие строки в статусе: GPS_NMEA(0) serial /dev/gps0 open at 115200 bps

8. ntpq -p

должна быть строка

  • GPS_NMEA(0) .GPS. 0 l 13 64 77 0.000 0.617 0.792

с * в самом начале, значит - РАБОТАЕТ!

9. обновить время: systemctl stop ntp

ntpd -gq (можно не стопать службу перед выполнением)

systemctl start ntp

10. Если вы используете udev, то полезно будет создать правило /etc/udev/rules.d/10-gps.rules следующего содержания:

KERNEL==«ttyr3», NAME="%k", SYMLINK+=«gps0», MODE=«0660», GROUP=«uucp»

Сервер Авторизации

Устранение неисправностей

Добавление диска в RAID1 (не работает с HDD Toshiba)

Диагностирование потери одного из дисков в RAID1, можно проверить командой

zpool status Если «развалился» RAID1 на одной из Нод, на которой установлен proxmox, необходима ручная замена HDD. После установки жесткого диска фирмы HGST в первый или второй слот корзинки, необходимо проделать от root следующее

fdisk -l /dev/sd* (узнать какие диски видит система)

sgdisk -R /dev/sdb /dev/sda (копирование таблицы разделов)

sgdisk -G /dev/sdb (форматирование в GPT)

grub-install --recheck /dev/sdb (установка загрузчика)

update-grub (обновление загрузчика)

update-initramfs -u

zpool replace rpool /dev/sdb2 (копирование данных в раздел sdb2)

Приложения

Список необходимого софта и оборудования

1. Ноутбук с ОС Windows 7 х64, для последующего подключения к общей локальной сети, для удаленной установки proxmox через IPMI (необходимо добавление дополнительного IP в сетевой адаптер на ноутбуке). Так же пригодится для настройки компонентов Планеты и передачи файлов на серверы через WinSCP;

2. Образ proxmox-ve_4.4-eb2d6f1e-2;

4. USB ключи защиты + reg-файлы с открытыми паролями от 1 до 1600;

3. Девять запакованных образов VM

VM1 <baseVM>

VM2 <mmsVM>

VM3 <ffVM>

VM4 <skdVM>

VM5 <ntpVM>

VM6 <videoVM>

VM7 <serenetyVM>

VM8 <eilyVM>

VM9 <osmVM>

4. Образ Live (например WinPE10_8_Sergei_Strelec_x86_x64_2017.03.02_Russian) для чистки HDD и диагностики железа;

5. IPMI Supermicro utilities для управления по IPMI (работает только с Windows);

6. Подключенный прямой интернет или Локальные репозитории (repo) для обновления Proxmox, а так же для установки необходимых в работе компонентов;

7. Все необходимые образы (Debian 8.5/8.6, отдельно программы для серверной части Планеты, WinSCP, oracle-xe_11.2.0-2_amd64.deb, oracle-client, СКД клиент, IntegraVideo7.0.776, скрипты для установки mms, ff, database на VM-ках; драйвер для Moxa под Debian, VLC media player, PGAdmin1.2)

План работы с кластером

1. Настройка BIOS на каждой ноде

2. Настройка IPMI на каждой ноде

3. Proxmox.iso install

4. Закинуть local repo и прописать в repo.list пути к ним + поправить /usr/share/perl5/PVE/CLI/pveceph.pm

5. Обновить систему и поставить CEPH

6. Поставить пакеты mc htop glusterfs-server pv attr ntp

7. Объединить ноды в proxmox cluster

8. Настроить glusterfs

9. Настроить CEPH

10. Закинуть VM’s + изменить все IP адреса и hostname


VM1 <baseVM>
VM2 <mmsVM>
VM3 <ffVM>
VM4 <skdVM>
VM5 <ntpVM>
VM6 <videoVM>
VM7 <serenetyVM>
VM8 <eilyVM>
VM9 <osmVM>

11. Настроить wbackup

12. Настроить ntpVM + прописать на всех nodes /etc/ntp.conf нужный конфиг

Команды для работы в Linux с IPE

#systemctl status firefly_tracker статус работы FF

#systemctl status firefly_integration статус работы FF трекинга

#systemctl stop firefly_tracker остановка процесса FF

#systemctl start firefly_tracker запуск процесса FF

#systemctl restart firefly_tracker перезапуск FF


#cd /opt/firefly_tracker переход в папку с трекингом

#python firefly.py запуск FF

#cd /opt/firefly_integration переход в папку FF

#cd python firefly.py запуск FF

journalctl –no-pager -o cat -u firefly_tracker -1 просмотр статистики FF трекинга

#systemctl status mss статус работы mss

#systemctl stop mss остановка процесса mss

#systemctl start mss запуск процесса mss

#systemctl restart mss перезапуск mss

#cd /opt/mss_tracker переход в папку с аcuariomanager

#mono am.console.exe запуск mms в консольном режиме

#mono am.gui.exe запуск mms с графикой

#systemctl status proftpd статус работы ftp сервера

#systemctl stop proftpd остановка процесса ftp

#systemctl start proftpd запуск процесса ftp

#systemctl restart proftpd перезапуск ftp


Для смены пароля от root (зная изначальный пароль)

#passwd

Задать новый пароль, подтвердить


Установка SSH в Debian 8.5/8.6 и доступ c другой машины под root

Обновляем репозитории

Первым делом проверим список (/etc/apt/sources.list) доступных репозиториев. Для этого откроем файл /etc/apt/sources.list в редакторе nano и при необходимости добавим ссылки на официальные репозитории.+

nano /etc/apt/sources.list

При необходимости добавляем официальные репозитории:

deb http://httpredir.debian.org/debian jessie main
deb-src http://httpredir.debian.org/debian jessie main
deb http://httpredir.debian.org/debian jessie-updates main
deb-src http://httpredir.debian.org/debian jessie-updates main
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

Если вы обновили список репозиториев, то сохраняйте изменения в файле (ctrl +O) и выполните обновления списка-пакетов: apt-get update

Устанавливаем SSH в Debian

Следующим шагом установим демона openssh. Вбиваем в консоле:

apt-get install openssh-server

На предложение подтянуть недостающие зависимости отвечаем положительно. Все, на этом установка завершена и можно выполнять запуск:

service ssh start

Теперь можно брать любой SSH-клиент и попробовать подключиться к серверу. C Windows можно использовать WinSCP.

Почему не получается подключиться к SSH под root

Если в качестве проверки соединения вы попробуете подключиться под root, то после отправки пароля, сервер будет постоянно ругаться и выдавать Access Denied. Сделано это намерено, т.к. нечего давать возможность подключаться root’ом к серверу. Правильней создать отдельного пользоваться, и при необходимости выполнять команды от root с помощью su. Если вы отдаете отчет своим действиям и хотите подключиться по ssh под root’ом, то тогда потребуется отредактировать конфигурационный файл службы ssh:

nano /etc/ssh/sshd_config

Находите директиву PermitRootLogin и заменяете текст после нее на yes. Должно получится так:

PermitRootLogin yes

Сохраняйте изменения (ctrl + o) и перезапустите службу OpenSSH:

service ssh stop
service ssh start

Все, после этого вы сможете подключиться к серверу с под учетной записью root.

Как расшарить папку из консоли Linux используя Samba

Samba - это программное обеспечение для организации обмена файлами и работы с общими ресурсами между компьютерами под управлением Linux/Unix и операционной системой Windows. Samba состоит из клиентской и серверной части. Клиентская часть позволяет получить доступ к сетевым папкам и ресурсам Windows, а серверная, в свою очередь, открывает общий доступ к папке Ubuntu для других машин, в том числе и Windows.

Устанавливаем Самба:

apt-get install samba

Добавляем пару строк в конец конфига, правим при необходимости путь, имя шары, и возможность гостевого входа/записи.

nano /etc/samba/smb.conf[shara]#имя папки
comment =  comment_to_shara
path = /home/shara #путь к папке
read only = no
locking =no
guest ok = yes
browseable=yes

Сохраняем (ctrl+o в nano)

Перезапускаем сервис с новым конфигом:

/etc/init.d/samba restart

Дополнительно: меняем права доступа к общей папке: (разрешено все)

chmod 777 /home/share

Установка Video-server 7.0.776 в качестве ретранслятора и проброс USB в VM для ключа защиты

После создания VM и установки Debian 8.6 (используем debian-8.6.0-amd64-DVD-1) без графики, необходимо закинуть папку с установщиком IV7 v7.0.776 (используя программу WinSCP от root c компьютера/ноутбука на Windows) в /home/videosrv7(имя пользователя)/distr (создать эту папку).

Так же необходимо скопировать все четыре reg-файла для ключей защиты с открытыми пароля от 1 до 1600 – для одного кластера. После установки видео-сервера поместить их в папку /home/videosrv7/video-server-7.0/

Как зайти от root по WinSCP смотри в «Установка SSH в Debian 8.5/8.6 и доступ c другой машины под root”

Перед установкой IV7 v7.0.776 необходимо прокинуть USB ключ с физической машины на виртуальную:

На ноде proxmox у которой VM c видеосервером:

#lsusb

Ищем нужное нам устройство и смотрим его ID: XXXX:YYYY (3b13:4040)

от root

qm set 101 –usb0 host=XXXX:YYYY             (usb1: host=3b13:4040)

где 101 — ID виртуальной машины куда будем пробрасывать порт.

Перезагружаем VM, а затем перезагружаем ноду.

Установка же самого video-server-7.0.776 стандартная, вот команды которые могут пригодится:

#cd /путь к папке
#./video-server-7.0.776-x64.run    - запуск установки
#chmod 777 -R /home/videosrv7/distr       - дать права
#tar -xvzf video-server-7.0.777       - распаковка
#rm -rf /имя папка            - удаление 
#/etc/init.d/videosrv7 restart
#/etc/init.d/videosrv7 stop
#/etc/init.d/videosrv7 start
#/etc/init.d/keyguard restart
#nano /etc/network/interfaces
#/etc/init.d/networking restart

Заходим в подробный веб-интерфейс видео-сервера и убеждаемся что ключ и рег-файл определились

Cl 38.jpg

затем нужно добавить внешний видеосервер (или несколько)

Cl 39.jpg

Настройки — внешние видеосервера. Затем «Плагины» - «логика» и добавляем плагин «сборщик» указав ip сервера (так же добавляем еще серверы если требуется)

Cl 40.jpg

Это нам позволит увидеть камеры с других центральных серверов и добавить их в свои наборы. Важный момент — при создании наборы нужно добавить любую камеру, даже не существующую. Без этого наборы создать не удастся.

Установка и настройка серверной части Oracle на OS Linux (Debian 8.5/8.6) + Клиент Oracle и клиент СКД

Установка Oracle 11g

Перед установкой Oracle 11g R2 Express Edition (XE), нужно установить дополнительные пакеты (машина должна быть подключена к Internet). Эти пакеты могут быть установлены путем выполнения следующей команды: от root

apt-get install alien libaio1 unixodbc

Следующие действия нужны если у Вас нет установочного файла с расширением .deb

Перейдем в папку:

cd /usr/local/src

Дистрибутив oracle 11 нужно скачать с официального сайта затем нужно установить его. http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html

Cl 41.jpg

Следующим шагом будет распаковка скачанного архива с оракл:

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

Данный архив довольно большой и на распаковку потребуется некоторое время, ждем окончания и после чего переходим в нужную директорию для установки:

cd Disk1

Теперь мы должны преобразовать пакет Red Hat (RPM) в пакет Debian. Это может быть сделано с помощью команды alien. Параметр «-d » используется для информирования, что пакет Debian уже сформирован. Выполняем преобразование:

от рута

alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

Этот шаг может занять некоторое время. Потребуется подождать около 15 минут.По этому если хотите жди окончания, а можно еще открыть один терминал для работы и в нем уже выполнять следующие шаги. Пакет Red Hat, полагается на файл /sbin/chkconfig, который не используется в Ubuntu. Для успешной установки Oracle XE мы используем простой трюк.

от рута

nano /sbin/chkconfig

вставляем в открывшийся файл следующие строки

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
file=/etc/init.d/oracle-xe
if  grep INIT` ; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01
#EOF

Сохраните файл и закройте редактор. Теперь мы должны предоставить файл с соответствующими привилегиями исполнения.

от рута

chmod 755 /sbin/chkconfig

Установим дополнительные параметры ядра. Откройте файл, выполнив:

от рута

nano /etc/sysctl.d/60-oracle.conf

Скопируйте и вставьте следующий код в файле. Kernel.shmmax является максимально возможное значение физической памяти в байтах.

536870912/1024/1024 = 512 Мб.

вставляем в открывшийся файл следующие строки

# Oracle 11g XE kernel parameters
fs.file-max=6815744
net.ipv4.ip_local_port_range=9000 65000
kernel.sem=250 32000 100 128
kernel.shmmax=536870912

Сохраните файл. Изменения в этом файле могут быть проверены командой:

от рута

cat /etc/sysctl.d/60-oracle.conf
fs.file-max=6815744
net.ipv4.ip_local_port_range=9000 65000
kernel.sem=250 32000 100 128
kernel.shmmax=536870912

это говорит о том что параметры введены верно

Загружаем параметры для ядра ОС:

от рута

service procps restart

Изменения могут быть вновь проверено командой:

от рута

sysctl -q fs.file-max

Должны увидеть следующий вывод на экран:

fs.file-max = 6815744

После этого, выполните следующие инструкции, чтобы сделать еще несколько необходимых изменений:

su ln -s /usr/bin/awk /bin/awk
mkdir /var/lock/subsys (должен поругать и сказать,что такое файл существует,не обращаем на это внимание)
touch /var/lock/subsys/listener
Теперь осталось установить уже пересобранный пакет (убедитесь в этом хорошо, а то не будет работать):

от рута

dpkg --install oracle-xe_11.2.0-2_amd64.deb

Происходит установка и можно перейти к настройке.

Но если вы увидите следующее сообщение о ошибке «Execute the following to avoid getting a ORA-00845: MEMORY_TARGET error. Note: replace “size=4096m” with the size of your (virtual) machine’s RAM in MBs.Выполните следующие действия:

Нужно удалить папку:

от рута

rm -rf /dev/shm

Создаем папку:

от рута

mkdir /dev/shm

Монтируем папку для работы:

от рута

mount -t tmpfs shmfs -o size=4096m /dev/shm

Создаем файл и пропишем параметры в него

от рута

nano /etc/rc2.d/S01shm_load
#!/bin/sh
case "$1" in
start) mkdir /var/lock/subsys 2>/dev/null
touch /var/lock/subsys/listener
rm /dev/shm 2>/dev/null
mkdir /dev/shm 2>/dev/null
mount -t tmpfs shmfs -o size=4096m /dev/shm ;;
*) echo error
exit 1 ;;
esac

Сохраните файл, закройте редактор и предоставить соответствующие привилегии выполнения:

от рута

chmod 755 /etc/rc2.d/S01shm_load

После такого должно все заработать!

Настройка Oracle 11g от рута

/etc/init.d/oracle-xe configure

при вопросе выбора порта он предложит тебе порт 8080, соглашаемся и пишем в ответ тоже 8080, попросит еще один порт 1521, соглашаемся и пишем в ответ тоже 1521,далее когда система попросит ввести пароль и логин для БД вводим слово SYSTEM и там и там. Потом будет еще вопрос, соглашаемся, пишем yes или y.

Настройка некоторых параметров для переменных среды:

от рута

nano /etc/bash.bashrc

Откроется файл и в самый низ добавляем следующие строки:

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH

Сохраните файл и закройте редактор. Чтобы загрузить изменения, выполните следующую инструкцию:

source /etc/bash.bashrc

мы не должны увидеть ни какой ошибки

Чтобы проверить изменения, которые вы сделали выполните:

echo $ORACLE_HOME

Должны увидеть следующее:

/u01/app/oracle/product/11.2.0/xe

После этого шага рекомендуется перезагрузить компьютер. После перезагрузки запускаем сервер с oracle: от рута

service oracle-xe start

в консоли вводим команду от рута

cd /etc
nano sudoers

Если нет этой папки, ее нужно создать. Или если в папке пусто, то вбиваем следующее:

В открывшимся файле ищем строчку root ALL=(ALL) ALL, добавляем под ней строчку oracle ALL =(ALL) ALL, сохраняемся.

переходим в папку

cd /u01/app/oracle/ptroduct/11.2.0/xe/network/admin, тут ищем два файла listener.ora и tnsnames.ora, открываем их

nano listener.ora
nano tnsnames.ora
ищем строчку со словом HOST=бла бла бла и меняем на HOST=имя машины(DIR15962) и PORT=бла бла бла на PORT=1521.

Чтобы проверить работает сервер, или нет вводим от рута команду

service oracle-xe status

В случае успешной установки и настройки Oracle-XE мы должны увидеть следующее

oracle-xe.service - LSB: Oracle 11g Express Edition
Loaded: loaded (/etc/init.d/oracle-xe)
Active: active (exited) since Сб 2017-03-25 14:03:06 KRAT; 5min ago
Process: 508 ExecStart=/etc/init.d/oracle-xe start (code=exited, status=0/SUCCESS)
мар 25 14:03:05 IPE15961 oracle-xe[508]: Oracle Database 11g Express Edition is not confi...run
мар 25 14:03:05 IPE15961 oracle-xe[508]: '/etc/init.d/oracle-xe configure' as the root us...se.
Hint: Some lines were ellipsized, use -l to show in full.

Если установка прошла не корректно, то в информации после проверки появятся красные строчки. Рекомендуется снова проверить файл sudoers в папке etc.

Далее можно переходить к установке клиентской части. (Wine i386, winetricks, клиент ORACLE, СКД)

Инструкция по установке Wine и Winetricks в Linux

(Опробована только на KDE с графикой)

Wine — специальное ПО, которое позволяет запускать приложения, созданные для Windows, в UNIX-подобных системах, в том числе Linux.

Winetricks представляет собой запускаемый файл-скрипт. При его запуске появляется окно, содержащее длинный список программ, которые через этот скрипт можно установить.

1.Для установки wine и winetricks изменяем source.list от рута в консоли вводим

nano /etc/apt/sources.list

откроется файл со следующем содержанием

# 
# deb cdrom:[Debian GNU/Linux 8.5.0 _Jessie_ - Official amd64 DVD Binary-1 20160604-15:35]/ jessie contrib main
# deb cdrom:[Debian GNU/Linux 8.5.0 _Jessie_ - Official amd64 DVD Binary-1 20160604-15:35]/ jessie contrib main
# Line commented out by installer because it failed to verify:
deb http://security.debian.org/ jessie/updates main contrib
# Line commented out by installer because it failed to verify:
deb-src http://security.debian.org/ jessie/updates main contrib
# jessie-updates, previously known as 'volatile'
# A network mirror was not selected during install.  The following entries
# are provided as examples, but you should amend them as appropriate
# for your mirror of choice.
#
deb http://ftp.debian.org/debian/ jessie-updates main contrib
deb-src http://ftp.debian.org/debian/ jessie-updates main contrib
deb file:///mnt/DSetup/CD1 jessie main contrib
deb file:///mnt/DSetup/CD2 jessie main contrib
deb file:///mnt/DSetup/CD3 jessie main contrib

Предполагается, что образа с установочных дисков(CD1, CD2,CD3) уже смонтированы и добавлены в sources.list. Если этого нет используй инстркцию по установке Debian 8.5

Теперь добавляем следующие строки в конце файла:


deb http://httpredir.debian.org/debian jessie main
deb-src http://httpredir.debian.org/debian jessie main
deb http://httpredir.debian.org/debian jessie-updates main
deb-src http://httpredir.debian.org/debian jessie-updates main
deb http://mirror.yandex.ru/debian jessie-backports main contrib non-free
deb-src http://mirror.yandex.ru/debian jessie-backports main contrib non-free

2. от рута обновляем, добавленные репозитории

a pt-get update

3.Установка wine i386:

Для того, чтобы заставить работать “правильный” Wine в 64-битной операционной системе нужно выполнить последовательно команды(от рута):

dpkg --add-architecture i386
apt-get update
apt-get install libpulse0:i386(надо будет ответить да)
apt-get install -f
apt-get install wine:i386(надо будет ответить да)
rm -fR ~/.wine

Последнюю команду можно опустить, но как показывает практика, она необходима, если Вы уже ранее пытались установить 64-битный Wine.

Команда просто удаляет все ранее известные настройки.


4. После установки посмотрим версию wine:

wine --version (должно быть 1.6.2)

5.Установка winetricks на debian:

от рута

apt-get install zenity (надо будет ответить да)

Загружаем winetricks скрипт:

cd /usr/local/src && wget http://winetricks.org/winetricks

Добавляем права на выполнение (запуск) скрипта:

chmod +x winetricks

Запускаем winetricks:

./winetricks

По пунктам окон потверждения действий:

ок (даже если выскочила ошибка)

нет

ок

установить DLL(1 пункт) - ок

выбираем mdac27,mdac28,msvcirt- ок (пойдет установка)

отмена (выскочит ошибка)

ok-нет-ok-установить DLL(1 пункт)-ok-выбираем mdac27,mdac28,msvcirt-установка-отмена (при ошибке)