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
Last revisionBoth sides next revision
sysadmin:index [2019/12/04 14:08] – [Introduzione a GIT] ferodasysadmin:index [2021/12/27 22:29] – Creazione nuovi certificati con acme.sh feroda
Line 210: Line 210:
 == Comandi base == == Comandi base ==
  
-  git init - Crea un repository Git vuoto o reinizializza uno esistente+Se si è creata una directory e la si vuole far diventare un repository Git
  
-  git log permette di tenere traccia delle nostre versioni.+  git init 
 +   
 +Una volta fatte le modifiche:
  
-  git checkout + codice univoco  permette di spostarsi dentro la repository+  git add  
      
-  git checkout master ti riporta al ramo principale +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 add  Indica a Git che si desidera includere gli aggiornamenti di un determinato file nel prossimo  +  git commit
-  commit. Tuttavia le modifiche non vengono effettivamente registrate fino a quando non si esegue git  +
-  commit+
  
-  git status permette di determinare lo stato dei tuoi file. +Per vedere la traccia di tutti i commit nel branch corrente (di default è "master")
  
-  git commit viene utilizzato per salvare le modifiche nel repository locale+  git log
  
-=== Creazione di un nuovo server ===+Per vedere i file aggiunti/modificati/eliminati:
  
-We need LVM setup. Here is a proposal:+  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/
 +</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/
 +</code> 
 + 
 +==== Esempio di creazione partizioni per un nuovo server ==== 
 + 
 +<code>
 20GB / 20GB /
 5GB /dev/mapper/vg--hosting-home /home 5GB /dev/mapper/vg--hosting-home /home
 50GB /dev/mapper/vg--hosting-var /var 50GB /dev/mapper/vg--hosting-var /var
-```+</code>
  
 remaining disk blocks could be unpartitioned to allow LVM partition resizing on demand. 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)+In order to achieve this goal you have to create a volume group (VG) ''hosting'' bound to /dev/sda 
-* `hostingbound to /dev/sda+ 
 + 
 +===== Installazioni nuovi certificati con acme.sh ===== 
 + 
 + 
 +  acme.sh --issue --standalone -d example.org 
 +  mkdir -p /etc/nginx/certificates/example.org/ 
 +  acme.sh --install-cert -d example.org --cert-file /etc/nginx/certificates/example.org/cert.pem --key-file /etc/nginx/certificates/example.org/privkey.pem --fullchain-file /etc/nginx/certificates/example.org/fullchain.pem  
  
-  
sysadmin/index.txt · Last modified: 2022/06/16 09:00 by feroda