User Tools

Site Tools


sysadmin:index

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sysadmin:index [2019/10/09 10:33] andreisysadmin:index [2022/06/16 09:00] (current) – [Installazioni nuovi certificati con acme.sh] acme-renew.sh script feroda
Line 194: Line 194:
      
   Ctrl+b n Passa alla finestra successiva   Ctrl+b n Passa alla finestra successiva
 +  
 +===== Introduzione a GIT  =====
 +
 +Git è un strumento di versionamento che ci permette di tenere traccia delle versione di un file,questo ci permette di poter richiamare una specifica versione in un secondo momento.
 +
 +Utilizza una interfaccia a riga di comando.
 +
 +La prima volta di fare il primo commit con git:
 +
 +  git config --global user.name "Andrei Calapod"
 +  git config --global user.email "andrei@befair.it"
 +
 +Tale configurazione consentirà di applicare correttamente nome ed email dell'autore ad ogni commit
 +
 +== Comandi base ==
 +
 +Se si è creata una directory e la si vuole far diventare un repository Git
 +
 +  git init
 +  
 +Una volta fatte le modifiche:
 +
 +  git add  
 +  
 +Indica a Git che si desidera includere gli aggiornamenti di un determinato file nel prossimo commit. Le modifiche vengono effettivamente registrate nel repository locale dopo che viene eseguito il comando
 +
 +  git commit
 +
 +Per vedere la traccia di tutti i commit nel branch corrente (di default è "master")
 +
 +  git log
 +
 +Per vedere i file aggiunti/modificati/eliminati:
 +
 +  git status
 +
 +
 +Per spostarsi "nel tempo e nello spazio", ossia andare in una situazione temporale di codice differente (ad es: la versione di codice di 3gg fa)
 +
 +  git checkout <codice hash del commit>
 +
 +Per rispostarsi alla versione "principale":
 +  
 +  git checkout master
 +
 +
 +===== Esportazione cartelle sul nextcloud con occ dal terminale =====
 +
 +Questo comando ti mostra la lista completa di tutte le cartelle condivise su nextcloud.
 +
 +  sudo -u apache /opt/rh/rh-php72/root/bin/php /usr/share/nextcloud/occ files_external:list -all
 +  
 +
 +===Per aggiungere una cartella condivisa si usa files_external:create===
 +
 +esempio: 
 +  sudo -u apache /opt/rh/rh-php72/root/bin/php /usr/share/nextcloud/occ files_external:create Labidee 'smb' password::sessioncredentials -c host=localhost -c share=Labidee --users=7DF8102E-A6DF-4E0E-870F-7E523564FCAC
 +
 +"smb": (smb per sistemi Windows), in questo campo viene inserito il Back-end di archiviazione disponibili
 +
 +password: qui va inserito il tipo di autenticazione 
 +
 +===Per vedere che tipi di autenticazioni sono supportati digitare questo comando===
 +
 +  sudo -u apache /opt/rh/rh-php72/root/bin/php /usr/share/nextcloud/occ files_external:backends
 +
 + -c: ti permette di aggiungere più valori
 +
 + host: l'url del server Samba
 +
 + share: nome della cartella
 +
 + --users= + codice univoco del utente
 +
 + ===Per vedere i codici del utente usare questo comando=== 
 +
 +  sudo -u apache /opt/rh/rh-php72/root/bin/php /usr/share/nextcloud/occ user:list
 +
 + esempio di un codice univoco: "4A96FE56-8373-403C-BA53-1B8D64C3660E"
 +
 +=== Per cancellare una configurazione usare il comando ===
 +
 +  sudo -u apache /opt/rh/rh-php72/root/bin/php /usr/share/nextcloud/occ files_external:delete + il <mount_id>
 +
 +
 +===== Ridimensionare una partizione LVM =====
 +
 +LVM - Logical Volume Manager consente di gestire in modo logico le partizioni. Questo vuol dire che le partizioni si possono ridimensionare al bisogno. È più facile ingrandirle che ridurle, però si può fare.
 +
 +Ora vi elenco le componenti base:
 +
 +  - **pv**: Physical Volume, sono i dispositivi a blocchi partizioni/dischi inizializzati per LVM;
 +  - **vg**: Volume Group, sono i gruppi di **pv** hanno un nome. Rappresentano "il mucchio" di blocchi allocabili. Per convenzione in beFair il primo lo chiamiamo proprio ''vg''
 +  - **lv**: Logical Volume, sono le partizioni create dentro i **vg** e sono queste che vengono formattate con il filesystem, ad esempio ''ext4''
 +
 +==== Ridimensionare un Logical Volume perché esaurito lo spazio ====
 +
 +Questo è il caso critico più frequente che quindi ci interessa descrivere qui. Spazio esaurito, come si affronta con LVM? Semplice!
 +
 +  - Visualizzo i blocchi non allocati nel Volume Group con il comando ''vgdisplay'';
 +  - Ridimensiono il Logical Volume corrispondente con ''lvresize'';
 +  - Estendo la partizione che nel caso di ''ext4'' può essere fatto senza smontarla con ''resize2fs'';
 +
 +=== Esempio ===
 +
 +Spazio esaurito su server database:
 +
 +<code>
 +postgres@T-FTSQL01:~/exports$ df -h
 +Filesystem               Size  Used Avail Use% Mounted on
 +udev                     7.9G      7.9G   0% /dev
 +tmpfs                    1.6G   25M  1.6G   2% /run
 +/dev/mapper/vg-root       15G  1.8G   12G  14% /
 +tmpfs                    7.9G  8.0K  7.9G   1% /dev/shm
 +tmpfs                    5.0M      5.0M   0% /run/lock
 +tmpfs                    7.9G      7.9G   0% /sys/fs/cgroup
 +/dev/mapper/vg-var        27G  292M   25G   2% /var
 +/dev/mapper/vg-home      922M  2.4M  856M   1% /home
 +/dev/mapper/vg--data-db  393G  373G     0 100% /var/lib/postgresql
 +tmpfs                    1.6G      1.6G   0% /run/user/0
 +</code>
 +
 +In questo caso il device è identificato da ''/dev/mapper/vg--data-db'' dove ''vg-data'' è il Volume Group e ''db'' è il nome del Logical Volume (o partizione logica).
 +
 +NOTA: il volume group si chiama ''vg-data'' perché Luca ha deciso di crearne uno apposito per il database. Non sappiamo se è la scelta migliore, ma è sembrato utile separare in quel momento.
 +
 +Quindi guardo i blocchi disponibili con ''vgdisplay'' e vedo che in ''vg-data'' ce ne sono 25599 ossia ''<100GB''
 +
 +<code>
 +root@T-FTSQL01:/var/lib/postgresql# vgdisplay
 +  --- Volume group ---
 +  VG Name               vg-data
 +  System ID
 +  Format                lvm2
 +  Metadata Areas        1
 +  Metadata Sequence No  2
 +  VG Access             read/write
 +  VG Status             resizable
 +  MAX LV                0
 +  Cur LV                1
 +  Open LV               1
 +  Max PV                0
 +  Cur PV                1
 +  Act PV                1
 +  VG Size               <500,00 GiB
 +  PE Size               4,00 MiB
 +  Total PE              127999
 +  Alloc PE / Size       102400 / 400,00 GiB
 +  Free  PE / Size       25599 / <100,00 GiB
 +  VG UUID               MEJIEI-FCew-cjqa-Hxhw-NRC5-97Vb-5LnW75
 +
 +  --- Volume group ---
 +  VG Name               vg
 +  System ID
 +  Format                lvm2
 +  Metadata Areas        1
 +  Metadata Sequence No  4
 +  VG Access             read/write
 +  VG Status             resizable
 +  MAX LV                0
 +  Cur LV                3
 +  Open LV               3
 +  Max PV                0
 +  Cur PV                1
 +  Act PV                1
 +  VG Size               <80,00 GiB
 +  PE Size               4,00 MiB
 +  Total PE              20479
 +  Alloc PE / Size       10942 / 42,74 GiB
 +  Free  PE / Size       9537 / 37,25 GiB
 +  VG UUID               zY74Qj-dd6d-udes-2rMX-B80a-UYVQ-Q5RHdY
 +</code>
 +
 +Poi ridimensiono con ''lvresize'' aumentando di 20G la partizione e ridimensiono il filesystem con ''resize2fs''
 +
 +<code>
 +root@T-FTSQL01:/var/lib/postgresql# lvresize -L+20G /dev/mapper/vg--data-db
 +  Size of logical volume vg-data/db changed from 400,00 GiB (102400 extents) to 420,00 GiB (107520 extents).
 +  Logical volume vg-data/db successfully resized.
 +root@T-FTSQL01:/var/lib/postgresql# resize2fs /dev/mapper/vg--data-db
 +resize2fs 1.44.5 (15-Dec-2018)
 +Filesystem at /dev/mapper/vg--data-db is mounted on /var/lib/postgresql; on-line resizing required
 +old_desc_blocks = 50, new_desc_blocks = 53
 +The filesystem on /dev/mapper/vg--data-db is now 110100480 (4k) blocks long.
 +</code>
 +
 +Ultimo passo fondamentale: verifico se effettivamente lo spazio è aumentato
 +
 +<code>
 +root@T-FTSQL01:/var/lib/postgresql# df -h
 +Filesystem               Size  Used Avail Use% Mounted on
 +udev                     7,9G      7,9G   0% /dev
 +tmpfs                    1,6G   33M  1,6G   3% /run
 +/dev/mapper/vg-root       15G  1,8G   12G  14% /
 +tmpfs                    7,9G  8,0K  7,9G   1% /dev/shm
 +tmpfs                    5,0M      5,0M   0% /run/lock
 +tmpfs                    7,9G      7,9G   0% /sys/fs/cgroup
 +/dev/mapper/vg-var        27G  292M   25G   2% /var
 +/dev/mapper/vg-home      922M  2,4M  856M   1% /home
 +/dev/mapper/vg--data-db  413G  373G   19G  96% /var/lib/postgresql
 +tmpfs                    1,6G      1,6G   0% /run/user/0
 +</code>
 +
 +==== Esempio di creazione partizioni per un nuovo server ====
 +
 +<code>
 +20GB /
 +5GB /dev/mapper/vg--hosting-home /home
 +50GB /dev/mapper/vg--hosting-var /var
 +</code>
 +
 +remaining disk blocks could be unpartitioned to allow LVM partition resizing on demand.
 +
 +In order to achieve this goal you have to create a volume group (VG) ''hosting'' bound to /dev/sda
 +
 +
 +===== Installazioni nuovi certificati con acme.sh =====
 +
 +È presente lo script ''acme-renew.sh'' che si può usare con ''acme-renew.sh befair.it www.befair.it''
 +
 +Il funzionamento in dettaglio è il seguente:
 +
 +  acme.sh --issue --standalone -d befair.it -d www.befair.it
 +  mkdir -p /etc/nginx/certificates/befair.it/
 +  acme.sh --install-cert -d befair.it --cert-file /etc/nginx/certificates/befair.it/cert.pem --key-file /etc/nginx/certificates/befair.it/privkey.pem --fullchain-file /etc/nginx/certificates/befair.it/fullchain.pem 
 +
 +
sysadmin/index.1570617237.txt.gz · Last modified: 2019/10/09 10:33 by andrei