• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    INDIANCentralizovaná správa stanic a ostatních prvků v síti - automation/monitoring/alerting a dalsi devops nastroje
    VESNACH
    VESNACH --- ---
    tak zkusim dalsi a predesilam, ze jsem na ansible uplna lama...

    mam tenhle playbook

    Ansible apt update all packages on Ubuntu / Debian Linux - nixCraft
    Ansible apt update all packages on Ubuntu / Debian Linux - nixCraft
    https://www.cyberciti.biz/faq/ansible-apt-update-all-packages-on-ubuntu-debian-linux/

    ten jsem dal do /ansible/roles/updates/tasks/ubuntu.yml

    a chci tim aktualizovat skupiny [ubuntu_20] [ubuntu_18] [debian_10] co mam definovane v /ansible/hosts

    melo by stacit upravit hosts v playbooku na

    hosts: ubuntu_20:ubuntu_18:debian_10

    jestli jsem to pochopil korekt a pokud budu chtit aktualizovat centos, vytvorim si obdobne /ansible/roles/updates/tasks/centos.yml akorat pouziju yum modul, nebo to mam udelat jinak a lip?
    RAGNAROK
    RAGNAROK --- ---
    MAJA:
    ano bylo to pravama. dekuji
    MAJA
    MAJA --- ---
    RAGNAROK: práva ? do jiného adresáře (/home) se to chová stejně ?
    RAGNAROK
    RAGNAROK --- ---
    Zkousim ansiblem clonovat git repo na remote.
    - name: clone test repo
    git:
    repo: "https://{{gitUser}}:{{gitPassword}}@reposerver/username/repo.git"
    dest: "/tmp/testdest/"

    to napise nasledujici:
    Failed to set a new url for orign: error: could not lock config file .git/config
    MAJA
    MAJA --- ---
    AQUARIUS: prošlo mi na posledním Debianu Buster, Ansible 2.9.19 ...
    CHOROBA
    CHOROBA --- ---
    AQUARIUS: na to sem este nemel koule, furt 2.9 a starej python2.7. Holt debian no ;)
    AQUARIUS
    AQUARIUS --- ---
    MAJA: koukam, ze pouzivas ansible.builtin.package, to je ale syntaxe 2.10 a novejsi... v CentOSu najdes standardne spis 2.9 (EPEL) nebo 2.8 (RHEL), coz me privadi k otazce do plena: kdo jste uz zmigrovali na Ansible 2.10? Tim, ze 2.9 je porad jeste supportovana, se do toho zrovna moc nehrnu.
    AQUARIUS
    AQUARIUS --- ---
    AQUARIUS: v praxi pak spis
    include "{{ ansible_distribution }}{{ ansible_distribution_major_version }}.yml"
    nebo
    include "{{ ansible_os_family }}{{ ansible_distribution_major_version }}.yml"
    protoze major verze maji tendenci se dost zasadne lisit, casto i ve jmenech baliku.
    RUDOLF
    RUDOLF --- ---
    RUDOLF: Jo, ale možná to dát do blocku, tomu jde asi dát podmínku.
    RUDOLF
    RUDOLF --- ---
    AQUARIUS: jj, já bych to taky udělal přes include, ale pochopil jsme že to tak nechce..
    AQUARIUS
    AQUARIUS --- ---
    RUDOLF: lepsi bude include "{{ ansible_distribution }}.yml", tim zredukujes pocet tasku, ktery se prochazi
    RUDOLF
    RUDOLF --- ---
    MAJA: myslím že můžeš použít něco jako when {{ansible_distribution}} u tasků, kde se to mezi distrama líší. Ale na ansible jsem měsíce nešáh, tak už si to nepamatuji..
    MAJA
    MAJA --- ---
    Tahle moje role instaluje a nastavuje zabbix agenta a instaluje to dvě package, které jsem zatím nenašel, že by se měly jmenovat jinak :-)

    O moc víc věcí to dělat nebude a nechci to zbytečně komplikovat.
    Samozřejmě není problém přidat pár řádků, spíš to chci tak jednoduše/stupidně/simple, jak to jen jde :-)
    INDIAN
    INDIAN --- ---
    MAJA: modul package ti nevyresi rozdily jmen balicku mezi distribucema, viz ucebnicovej pripad instalace apache a plno ruznejch pythonnich nebo vseobecne lib* baliku
    CHOROBA
    CHOROBA --- ---
    dyk sou to dva radky, proboha :D
    MAJA
    MAJA --- ---
    CHOROBA: tomu jsem se chtěl vyhnout právě :-) A Ansible ansible.builtin.package mi dal naději ...
    CHOROBA
    CHOROBA --- ---
    si pust na zacatku SETUP module a pak si udelej include_tasks playbook/{{ansible_distribution }}-repository.yml
    a udelej si debian-repository,yml, ubuntu-repository.yml.......
    MAJA
    MAJA --- ---
    Pomocí Ansible potřebuju přidat repository a nainstalovat package - ovšem nezávisle na druhu Linuxu. Zatím mi to procházelo, protože stroje byly buď Debian nebo Ubuntu (tj. APT), ale teď se mi tam připletly do cesty nějaké CentOS.

    Nainstalovat nezávisle package jde přes ansible.builtin.package u nových verzí Ansible. Ale přidat repository nezávisle na tom, jestli je to třeba yum nebo apt netuším.
    VESNACH
    VESNACH --- ---
    ok :D s tim si poradim, ale zkusim jeste jednu otazku, pouziva nekdo pki encryptaci v bacule? Kdyz nastavim tohle do konfigu bacula-fd

    PKI Signatures = Yes
    PKI Encryption = Yes
    PKI Keypair = "/etc/bacula/keys/test.pem"
    PKI Master Key = "/etc/bacula/keys/master.cert"

    tak ty data to sice asi zasifruje, ale pri pokusu o restore to vyblije do logu

    Error: restore.c:1723 Missing cryptographic signature for

    zkousel jsem xy x pregenerovat klice, odebrat z klicu fraze etc., zmenit cestu kam to ma provest ten restore, ale chyba porad stejna...
    VESNACH
    VESNACH --- ---
    CHOROBA: jo, to sem moh napsat rovnou sry

    bacula-hw - storage kde bezi proxmox, na tom:
    vm bacula-dir - director baculy
    vm bacula-sd - storage daemon, kde mam mountnuty raid
    vm bacula-sd (s3) - storage daemon, kde je s3fs mount do aws jako offside backup, (+ v aws img os bacula-dir, jako ec2 instanci)

    na directoru mam configy v jednom fajlu v /servers

    @|"sh -c 'cat /etc/bacula/schedules/*.conf'"
    @|"sh -c 'cat /etc/bacula/jobdefs/*.conf'"
    @|"sh -c 'cat /etc/bacula/servers/*.conf'"

    nejak takhle...

    Client {
    Name = cli-xxx
    Address = xxx
    FDPort = 9102
    Catalog = bacula
    Password = "xxx"
    File Retention = 125 days
    Job Retention = 6 months
    AutoPrune = yes
    }

    FileSet {
    Name = "fs-xxx"
    Include {
    Options {
    signature = MD5
    compression = GZIP
    WildDir = "*/.logs"
    Exclude = yes
    }
    File = /var/xxx
    File = /opt/xxx
    File = /opt/backup-bacula/xxx
    }
    }

    Job {
    Name = "job-xxx"
    JobDefs = "JobFullAt2"
    Client = "cli-xxx"
    FileSet = "fs-xxx"
    Pool = "pool-incremental-xxx"
    Full Backup Pool = "pool-full-xxx"
    Allow Mixed Priority = yes
    Differential Backup Pool = "pool-differential-xxx"
    Storage = "sto-xxx"
    Client Run Before Job = "/usr/local/bin/pre_script.sh"
    Client Run After Job = "/usr/local/bin/post_script.sh"
    }

    Job {
    Name = "res-xxx"
    Type = Restore
    Client = "cli-xxx"
    FileSet = "fs-xxx"
    Storage = "sto-xxx"
    Where = /tmp/bacula-restores
    Messages = Standard
    Pool = Default
    }

    Pool {
    Name = "pool-full-xxx"
    Pool Type = Backup
    Recycle = yes
    AutoPrune = yes
    Volume Retention = 63 days
    Use Volume Once = yes
    Maximum Volumes = 5
    LabelFormat = "FB-xxx-"
    # Maximum Volume Bytes = 100G
    }

    Pool {
    Name = "pool-incremental-xxx"
    Pool Type = Backup
    Recycle = yes
    AutoPrune = yes
    Volume Retention = 59 days
    Use Volume Once = yes
    Maximum Volumes = 60
    LabelFormat = "IB-xxx-"
    }

    Pool {
    Name = "pool-differential-xxx"
    Pool Type = Backup
    Recycle = yes
    AutoPrune = yes
    Volume Retention = 59 days
    Maximum Volumes = 11
    Use Volume Once = yes
    LabelFormat = "DB-xxx-"
    }

    Storage {
    Name = "xxx"
    Address = xxx
    SDPort = 9103
    Device = "xxx"
    Media Type = File
    Maximum Concurrent Jobs = 3
    Password = "xxx"
    }

    a vsechno co je nejak kriticka vec, tak ma na bacula-dir v /servers druhy konfig pro bacula-sd (s3), takze se pro to spousti fakticky dva joby v rozdilnych intervalech, s rozdilnou retenci, kazdy na jinou storage...
    Kliknutím sem můžete změnit nastavení reklam