Monthly Archives: Agosto 2018

Identificare, regolare la priorità ed uccidere i processi

Nota: questo è un obiettivo d’esame RHCSA 7.

Attività di sistema

Per ottenere un’immagine istantanea di un’attività del server (utilizzare ‘virt-top‘ su un hypervisor KVM), digitare:

# top
Per ottenere dettagli sui processi, digitare:
# ps -edf

Priorità del processo

Per avviare un processo (qui script.sh) con una priorità bassa, digitare:
# nice -n 10 ./script.sh

Per cambiare la priorità (qui +5) di un processo già in esecuzione, ottenere il suo PID (Process ID) tramite top o ps (qui 789) e digitare:

# renice +5 789

In alternativa:

# renice +5 `pgrep script.sh`

Processo di cancellazione

Per uccidere il processo, prendi il suo PID da sopra o ps (qui 789) e digita:

# kill -9 789

In alternativa:

# pkill script.sh

Segnalazione di sistema

Per visualizzare i dettagli sulle attività di I/O, digitare:

# iostat

Per mostrare le attività della scheda di rete, digitare:

# netstat -i

Per visualizzare le attività del socket, digitare:

# netstat -a

Per ottenere dettagli sulle attività di memoria virtuale (memoria, scambio, esecuzione coda, utilizzo della CPU, ecc.) Ogni 5 secondi, digitare:

# vmstat 5

Per ottenere un rapporto completo di un’attività del server, digitare:

# sar -A

RHEL7: Utilizzare la modalità single-user per ottenere l’accesso ad un sistema.

Nota: questo è un obiettivo critico dell’esame RHCSA 7 (se non puoi assumere il controllo di una VM attraverso un riavvio all’inizio dell’esame, fallirai del tutto).


Presentazione

In RHEL 7, la procedura per accedere a un sistema durante il processo di avvio e modificare la password di root è cambiata a causa dell’adozione di Systemd.

C’erano diverse procedure in giro per recuperare la password di root. Alcuni stavano lavorando con server fisici ma non con macchine virtuali, altri il contrario.

La seguente procedura funziona sempre.
Procedura

All’inizio del processo di avvio, nel menu GRUB 2, digitare il tasto e per modificare.

Quindi, vai alla linea del kernel (la riga che inizia con linux16) e aggiungi le seguenti dichiarazioni alla fine:

rd.break enforcing=0

Attenzione: i tasti da premere sono quelli di una tastiera americana (querty).
Nota: rd.break richiede un’interruzione in una fase iniziale del processo di avvio. enforcing=0 mette il sistema in SELinux Permissive mode. Non confondere con selinux=0 che disabilita completamente SELinux.

Premi Ctrl x per riprendere il processo di avvio.

Quindi, montare la partizione /sysroot in lettura/scrittura:

switch_root:/# mount –o remount,rw /sysroot

Esegui il comando chroot nella partizione /sysroot:

switch_root:/# chroot /sysroot

Cambia la password di root:

sh-4.2# passwd root
Changing password for user root.
New passwd: mypassword
Retype new password: mypassword
passwd: all authentication token updated successfully.
sh-4.2# exit
exit
switch_root:/# exit
logout

Collegati al tuo server dalla console (non riavviare ora!) Con l’utente root e la nuova password:

...
[  OK  ] Started Network Manager Script Dispatcher Service.
[  OK  ] Started Crash recovery kernel arming.
[  OK  ] Reached target Multi-User System.

CentOS Linux 7 (Core)
Kernel 3.10.0-229.14.1.el7.x86_64 on an x86_64

vm login: root
Password: mypassword
Quindi digitare:
# restorecon /etc/shadow
# reboot

Se si segue questa procedura in modo rigoroso, non è necessario forzare un relabel SELinux (# touch /.autorelabel o # fixfiles onboot) o caricare il criterio SELinux (# /usr/sbin/load_policy -i).

Non hai nemmeno bisogno di riavviare alla fine! In questo caso, digitare # setenforce enforcing

Per l’esame RHCSA, è necessario praticare intensamente questa procedura.

Risorse addizionali


La documentazione di Fedora ha una pagina su Reimpostare la password di root.
C’è anche una documentazione disponibile per le opzioni di avvio di Anaconda.

Configurare i sistemi e montare i file system all’avvio attraverso ID univoco universale (UUID) o attraverso l’etichetta

Nota: questo è un obiettivo d’esame RHCSA 7.


Montare con UUID


UUID sta per Universal Unique ID. È un valore a 128 bit che identifica in modo univoco un disco o una partizione di un disco.

Per ottenere l’elenco di UUID del disco, digitare:

# blkid


Per definire il disco o la partizione che si desidera montare (qui lv_vol) e aggiungerlo al file /etc/fstab, digitare:

# blkid | grep lv_vol >> /etc/fstab

 

Quindi, modifica il file /etc/fstab e modifica la nuova riga aggiunta con i parametri corretti (qui /mnt come punto di mount, ext4 come tipo di file system, ecc.).

UUID=".." /mnt ext4 defaults 1 2

 

Per montare il disco o la partizione, digitare:

# mount /mnt


Montare con etichetta


Oltre all’UUID, un disco o una partizione di un disco può ricevere un’etichetta. È una stringa lunga al massimo 16 caratteri nel caso di ext2 / ext3 / ext4.

Per assegnare un’etichetta a un disco o una partizione (qui /dev/vdb1), digitare:

# e2label /dev/vdb1 TEST
or
# tune2fs -L TEST /dev/vdb1


Per ottenere l’etichetta associata a un disco o una partizione (qui /dev/vdb1), digitare:

# e2label /dev/vdb1
TEST


Per montare una partizione formattata ext4 (qui /dev/vdb1), modificare il file /etc/fstab e incollare la seguente riga:

LABEL=TEST /mnt ext4 defaults 1 2


Per montare il disco o la partizione, digitare:

# mount /mnt

Creare e rimuovere i volumi fisici, assegnare i volumi fisici a gruppi di volumi, e creare ed eliminare volumi logici.

Nota: questo è un obiettivo d’esame RHCSA 7.


Prerequisiti


Prima di trattare volumi fisici, gruppi di volumi e volumi logici, è necessario sapere come creare partizioni su disco.
Presentazione LVM

LVM è l’acronimo di Logical Volume Manager. È il componente di sistema in grado di gestire le partizioni in modo moderno.

Tradizionalmente, i dischi Unix erano divisi in sezioni chiamate partizioni. È stato possibile decidere la dimensione di ogni partizione ma, una volta eseguita, non è possibile cambiarla senza distruggere tutti i dati su di essa.

Con LVM, è possibile allocare lo spazio su disco in modo flessibile.

LVM si basa su tre concetti principali:

volume fisico (phisical volume)o PV: un PV è un intero disco o una partizione di un disco,
gruppo di volumi (volume group) o vg: a vg contiene uno o più pv; un PV può appartenere solo a un VG,
volume logico (logical volume) o lv: a lv rappresenta una porzione di una vg; a lv può appartenere solo una vg; è su un lv che è possibile creare un file system.

LVM offre flessibilità rispetto al sistema precedente solo in base alle partizioni:

puoi aumentare facilmente le dimensioni di un volume logico se hai spazio disponibile nel gruppo di volumi associato,
se non si dispone più di spazio disponibile, è possibile aggiungere un nuovo disco come volume fisico, aggiungerlo al gruppo di volumi e aumentare la dimensione del volume logico: il volume       logico occuperà due o più dischi senza operazioni aggiuntive,
la creazione o l’estensione di volumi logici non richiede tempi di inattività.


Rapporto di configurazione

Prima di iniziare qualsiasi operazione, è necessario conoscere la configurazione corrente. Genere:

# lsblk -a
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda           252:0    0    6G  0 disk 
├─vda1        252:1    0  390M  0 part /boot
└─vda2        252:2    0  5.5G  0 part 
  ├─rhel-swap 253:0    0  552M  0 lvm  [SWAP]
  └─rhel-root 253:1    0    3G  0 lvm  /

Con il comando lsblk, ottieni rapidamente le seguenti informazioni:

è una macchina virtuale (vda, sda indica un server fisico),
c’è solo un disco /dev/vda di 6 GB,
il disco è diviso in due partizioni (vda1 e vda2) rispettivamente con una dimensione di 390 MB e 5,5 GB,
la partizione vda1 è montata sotto /boot,
la partizione vda2 consiste in due volumi logici (lvm) swap e root in un gruppo di volumi chiamato rhel,
il volume logico di scambio è utilizzato dal sistema come area di scambio ([SWAP]) di 552 MB,
il volume logico di root è montato in / con una dimensione di 3 GB,
ci sono circa 2 GB di spazio disponibile gratuito (5,5 GB-552 MB-3 GB = 2 GB) nella partizione vda2,
nessuna delle partizioni è in modalità di sola lettura (RO = 0) o ReMovable (RM = 0).

Nota 1: lsblk dovrebbe essere il primo comando da digitare quando si ha a che fare con le partizioni.
Nota 2: per impostazione predefinita, il comando lsblk non visualizza i dispositivi vuoti. L’opzione -a corregge questo problema.

 

Gestione del volume fisico (Phisical Volume)


Per creare un volume fisico (qui /dev/vda), digitare:

 

# pvcreate /dev/vda


Per rimuovere un volume fisico che non appartiene a nessun gruppo di volumi (qui /dev/vda), digitare:

 

# pvremove /dev/vda


Per ottenere l’elenco dei volumi fisici, digitare:

 

# pvs


Gestione del gruppo di volumi (Volume Group)


Per creare un gruppo di volumi (qui chiamato vg utilizzando un volume fisico /dev/vda) con una dimensione fisica di estensione di 8 MB, digitare:

 

# vgcreate -s 8m vg /dev/vda


Per aggiungere un volume fisico (qui / dev / vdb) a un gruppo di volumi esistente (qui vg), digitare:

 

# vgextend vg /dev/vdb


Per rimuovere un volume fisico (qui /dev/vdb) da un gruppo di volumi esistente (qui vg), digitare:

 

# vgreduce vg /dev/vdb


Per rimuovere un gruppo di volumi esistente (qui chiamato vg), digitare:

 

# vgremove vg


Per ottenere l’elenco dei gruppi di volumi, digitare:

 

# vgs

 

Gestione del volume logico (Logical Volume)


Per creare un volume logico (qui chiamato lv_vol con una dimensione di 1 GB nel gruppo di volumi vg), digitare:

 

# lvcreate --size 1G --name lv_vol vg


Per rimuovere un volume logico (qui chiamato lv_vol nel gruppo di volumi vg), digitare:

 

# lvremove /dev/vg/lv_vol


Per ottenere l’elenco dei volumi logici, digitare:

 

# lvs


Risorse addizionali


Oltre agli obiettivi RHCSA, è possibile leggere questo tutorial sulla creazione di un Thinly Provisioned Logical Volume.