reklama

Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - ETNyx

Stran: [1] 2
1
Server / Re:Server pro malou firmu
« kdy: 23. 01. 2020, 22:14:44 »
Odpusťte mi zvědavost: Nuc? Do toho se vejde dovnitř disk? Nebo zvenčí? Nebylo by upřesnění - jaký disk a jakou sběrnicí připojený? (USB/SATA) Dělám do včel, zajímají mě "takticko-technická data" - Vaše odpověď mi řekne, kolik má to úložiště cca IOps. A pokud to není obchodní tajemství: jaký software ty streamy ukládá na disk? Něco specifického na tom serveru (RTP sběrač / RTSP povelovač, HTTP olizovač), nebo kamery sypou data do souborů na SMB/NFS share apod? Jaký dává jedna kamera bitrate / počet snímků za sekundu?

Tajemství to není, ani to není žádný komerční řešení ale spíš "udělej si sám" hobby řešení,.. Každopádně Intel NUC do svých utrob pojme SSD do M.2 slotu kde mam OS (vím ostuda tady na rootu) Windows, a pak HDD SATA 6.0 Gb/s na záznamy, 2,5" Seagate BarraCuda. SW kterej se o kamery stará je přímo od Vivoteku, jakým způsobem to konkrténě mají řešený nevím,.. Ze starých poznámek (ještě před přehozením na NUC z původního řešení, ale myslím že se to neměnilo,) jsem vyčetl nastavení kamer na 720p, H.264, 25fps, 8 Mbps.

2
Server / Re:Server pro malou firmu
« kdy: 23. 01. 2020, 17:24:25 »
Až na ty kamery mi přijde, že to musí zvládnout kde co. Otázkou je jestli kupovat přímo server nebo vzít nějaké lepší
pc.

Dělal jsem 6 Vivotek kamer (točí HD) připojených na Intel NUC za pár tisícovek, vím že to není žádný super řešení a ten jeden disk je tam fakt na hraně, ale na to jakej jsem měl rozpočet a další podmínky to hraje super. Takže pokud není potřeba dělat na tom "serveru" postprocesing, jako detekce pohybu, rozpoznávání objektů,... tak není potřeba žádnej super HW,...

3
Pri tom apt update Vám to píše
Kód: [Vybrat]
The AppStream system cache was updated, but some components were ignored. Refer to the verbose log for more information.
zkuste kouknout do /var/log/apt (nebo tak nějak) jestli tam k tomu není něco navíc,...

4
Konkrétně tyhle balíky s "rc" jsou celkem běžná věc, znamená to odinstalováno, ale konfigurační soubory zůstaly na disku, pokud jsou nežádoucí tak je potřeba použít purge, mě šlo konkrétně až o třetí stav, který by měl ukázat rozbité balíky viz:

Kód: [Vybrat]
dpkg -l | head -3
Desired=Unknown/Install/Remove/Purge/Hold                                     
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) 

5
A co konkrétně je rozbitý?
Kód: [Vybrat]
dpkg -l | grep ^..r (to r možná bude R teď z hlavy přesně nevím,...)

6
Nepomohlo by prejit na W10? Jde to pomerne jednoduse a snad opet zdarma - pomoci media creation tool...
Mohu potvrdit funkčnost tohoto postupu i v roce 2019, otázka je jak legální tento postup je?

7
Pokud máte nějaké VPS nebo nějakou podobnou možnost, tak zkuste vlastní instanci Nextcloud (https://nextcloud.com/talk/). Bonusem pro Vás je že data nebude dávat MS, Google a podobně, nevýhodou je zvýšená režie na Vaší straně ve formě starání se o aktulizace a podobně. Na straně BFU se stačí jen přihlásit a jeto, funguje docela pěkně i na androidím Chome v telefonech.

8
Vývoj / Re:PHP nechce nastavit Globals
« kdy: 18. 10. 2019, 17:45:47 »
....
okrem toho PHP má na inicializáciu polí literál od verzie 7 sa to zapisuje takto:

Kód: [Vybrat]
<?php

$appConfig 
= [
    
'siteName' => 'Nazov stránky',
    
'siteURL' => 'http://127.0.0.1/'
];

a v starších verziách takto:

Kód: [Vybrat]
<?php

$appConfig 
= array(
    
'siteName' => 'Nazov stránky',
    
'siteURL' => 'http://127.0.0.1/'
);


Tohle rozhodně není důvod jít všechna pole přepisovat do "short syntax", "starší" zápis není deprecated a spíše záleží na preferenci člověka, případě pokud pracuje v týmu tak na případném dohodnutém standardu, kde třeba může být vyžadována "starší" syntaxe + short syntaxe se dala používat už někde od verze 5.x,...

K tomu identifikátoru bych ještě dodal že, toto jméno také nění vhodné díky jisté podobnosti s rezervovaným jménem GLOBALS

9
Server / Re:Ansible - mount a chybějící modul
« kdy: 07. 10. 2019, 15:44:29 »
Zkuste přenést informaci o tom jaké balíčky se mají instalovat do proměné v defaults dané role pak by mělo být možné udělat nějaký méně či více chytrý merge před tím než-li se budou dělat mounty.

10
Chces to len zbalit, tak pouzi WinRar, ak chces pouzit samorozbalovacie exe (tak tiez mozes pouzit WinRar).
Inak samorozbalovacie exe naozaj neodporucam.

Hlavně to ne! Zabalte to do rar a všem k tomu ještě pošlete ten jejich shareware/malware/adware nebo jak ten hnus dneska nazývají, nebo rovnou fakturu za instalaci WinRar? Když už to musí být tak použijte zip ten s trochou štěstí většina BFU rozbalí na cílovým systému hned po čistý instalaci

11
Takze pokud dobre chapu, delate i aplikacni skupiny napr.:

dejme tomu :-) skupinou prostě říkám kde se má jaká "aplikace" nainstalovat nastvením stroje jí dám parametry dle role

napr. sjednoceny uid/gid na X serverech kvuli php/www

(tady se budu odkazovat na čísla z https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable)

proto je tu "přepis" proměných. Nevím jestli se trefím přesně do toho co hledáte ale, dejme tomu ten wodpress dědí z role apache takže jsem na 2. apache ma v roli defaults nastavený uid/guid na 33/33 a protože jsem na začátku tak můžu ve group_vars/wordpress na 44/44 jsem na 6. pokud se mi to u jednoho konkrétního stroje nelíbí tak v host_vars/fdqn (jsem na bodě 9.) nastavím 55/55.

Tedy pokud budu mít jinou aplikaci používající apache tak apache poběží na 33 všechny wordpresy na 44 a jeden jedinej stroj na 55.

s tím wordpressem by to asi šlo udělat v 2. protože první by se měla nastavit default role apache a pak to přepsat default role wodpressu a tím by to bylo pěkně v roli a ne nikde zatoulaný. Samozřejmě můžete přepisovat proměný v jakémkoliv bodě, pokud Vám to vyhovuje.

Bohužel tady zase bude potřeba dát pozor na přepisování v rámci jednoho bodu. Pokud bych ten wordpress měl řešenej první variantou v 6. a dejme tomu amíci zákonem zakázali 33/33 (nebo ja nevim,...) tak mám (já tomu říkám) "geografický" skupiny [czech] a [aws-west] tak bych to mohl nastavit group_vars/aws-west. Jenže teďka bych spadl do stejnýho průseru jako vy :-D ze který skupiny se ta proměná použije? Ty skupiny mam pro nastavení zrcadel je to zase přepis bodu 2. vs 6. v rámci jiný role.

12
Dělám to takto, v hosts souboru přiřazuji stroje do skupin a ty definují jaký aplikace na stroji mají běžet
Kód: [Vybrat]
#production/hosts
[xibo]
fdqn
playbook pak obsahuje jednotlivé play, které spouštějí role, zatím používám jeden playbook trošku se bojím, že bych několika playbooky snížil přehlednost a navíc mohl vytvořil stavy, kdy by jeden přepisoval co udělal druhej.
Kód: [Vybrat]
#site.yml
- hosts: xibo
  roles:
    - xibo

- hosts: wordpress
  pre_tasks:
    - import_tasks: roles/wordpress/tasks/pre.yml
  roles:
    - generic/apache
    - generic/mariadb
    - wordpress
  post_tasks:
    - import_tasks: roles/wordpress/tasks/post.yml

první příklad s xibo používá pro role dedičnosti, tedy sama role ví že si má použít jiné role (docker, databaze a webserver). V druhým příkladu wordpress s dědičností nepracuje takže musím potřebný role zavolat ručně.

Proměný mají definované role většinou nějaké defaultní, které se pak přepisují nejčastějí v rámci host_vars
Kód: [Vybrat]
#production/host_vars/fdqn
xibo_instances:
  - xibo_server_name: admin.fdqn
    xibo_path: /opt/xibo/
    xibo_version: 2.0.4
    xibo_web_port: 127.0.0.1:8080
    xibo_xmr_port: 9505
  - xibo_server_name: test.fdqn
    xibo_path: /opt/xibo_test/
    xibo_version: 2.1.0.rc1
    xibo_web_port: 127.0.0.1:8081
    xibo_xmr_port: 9506

Tady na fdqn mi role připraví dvě instance ty aplikace. Co se týká skupin tak u nich ještě používám group_vars/all.yml a pak skupiny "geolokační" který vesměs slouží k nastavení repozitářů.

Asi největší nevýhoda/výhoda tohodle systému je, že role který jsou "dole" třeba apache musí být dost univerzálně napsaný tak aby je bez problému mohli používat ostatní role. Například když jsem dělal apache tak jsem hodně okoukal a naučil se tady https://github.com/geerlingguy/ansible-role-apache

13
Popravdě jak vesměs cpu všechno přes role tak se mi nikdy nepodařilo do toho takhle zamotat ve skupinách :-D takže je to pro mě taky škola.

V podstatě jste si odpověděl, pokud je fdqn součástí dvou skupin tak samozřejmě pro fdqn musí existovat jen jeden project_uid takže na úrovni skupin ansible koukne do první skupiny a přepíše proměnou, koukne do druhý skupiny a přepíše proměnou. Poslední kam koukne vyhrává.

viz: https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable

Ještě když kouknu co říká dokumentace o hosts v playbooku (https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html#basics a následně proklik na https://docs.ansible.com/ansible/latest/user_guide/intro_patterns.html).
Pokud si to vykládám správně tak hosts je vlastně obdobou kauzule --limit takže pokud play má hosts:projekt1 tak najde fdqn a o fdqn ví že je ve dvouch skupinách a jsme zase na začátku.

14
Trošku jsem se v tom pošťoural a jestli jsem to pochopil správně, tak moje odpověď bude podobná jako od kolegy tripplezero.

Kauzule limit nefunguje tak jak předpokládáte, pouze vytváří průnik existujících cílů (tj. strojů kde pustit tu magii)

Na daném příkladu
Kód: [Vybrat]
ansible-playbook -i /env/prod/ -l project1 apache2.yml
ansible-playbook -i /env/prod/ -l project2 apache2.yml

Kód: [Vybrat]
-l project1
-l project2
vlastně říká všechno co je ve skupine projektX takže v obouch případech fqdn

takže stejnej výsledek dostanete pokud (při těchto jednoduchých skupinách) použijete
Kód: [Vybrat]
-l fqdn
pokud by například v project1 bylo fdqn2 eqivalent by byl
Kód: [Vybrat]
-l fdqn,fdqn2
Z toho by mělo být patrné že --limit neovlivňuje/nepracuje se skupinou a tedy tímto způsobem ji nemůžete definovat. (respektivě skupina pro --limit funguje jako zástupný znak za x-y strojů abych jich po čárce nemusel vypisovat 10-ky nebo 100-ky)


Moje řešení tohoto problému by bylo předělat project1 a 2 na role. Případně za současné konstelace proměné z "group_vars" presunout do "play var" (tj do /apache2.yml respektivě z toho co bylo v PM do v rootu /projekt1.yml)

Odobně mi přijde řešení v rolích lepší neb proměné v "play vars" uz težko budete přepisovat. Snad jsem to pochopil dobře a trošku rozumě předal dal :-)

15
Pomohlo to nebo na to mám taky hodit ještě očko?

Stran: [1] 2

reklama