La distribuzione Linux/GNU Red Hat e' una delle piu' diffuse negli ambienti Enterprise.
La distribuzione Red Hat offre un ambiente operativo Linux standard. Sono tuttavia parecchie le funzionalita' e le caratteristiche aggiuntive che lo distinguono dagli altri sistemi operativi Unix.
In questo documento vengono riportati gli elementi e le caratteristiche di maggior interesse. La versione di riferimento e' la 5.x, ma sono riportate indicazioni valide anche per le altre versioni.
Inoltre il sistema operativo e' fornito con un affidabile e completo Volume Manager (LVM) molto, molto simile a quello di HP-UX. Per la gestione dei volumi di dischi si utilizzano i comandi vg lv ... (eg. vgdisplay -v riporta la configurazione completa dei Volume Group).
Ma al posto di tante parole... meglio un esempio:
# Configurare le partizioni del disco come 8e (Linux LVM) fdisk /dev/sdb fdisk -l # Creazione Volume Group, Logical Volume, formattazione FSs e mount pvcreate /dev/sdb1 vgcreate vg_oradata /dev/sdb1 vgdisplay lvcreate -n lv_oradata -l 7679 vg_oradata /* oppure */ lvcreate -l 100%FREE -n lv_oracle vg_oracle lvdisplay mkfs.ext3 -m 1 /dev/vg_oradata/lv_oradata mkdir /ora01 mount /dev/vg_oradata/lv_oradata /ora01/ # configurare il mount al boot vi /etc/fstab
Una volta creati i FS appoggiati su LVM la gestione e' molto flessibile. E' possibile allargare un file system senza modificare il partizionamento e neanche smontare il file system:
lvextend -L+4G /dev/VolGroup00/LogVol01 resize2fs /dev/VolGroup00/LogVol01Per ridurre la dimensione di un FS va smontato, ridotto il FS, ridotto il volume "contenitore" e rimontato tutto. Comunque si fa in pochi secondi con:
umount /home e2fsck -f /dev/VolGroup00/LogVol02 resize2fs /dev/VolGroup00/LogVol02 69G lvreduce -L-11G /dev/VolGroup00/LogVol02 mount /homeGeneralmente funziona tutto senza problemi. In ogni caso i FS ext3 sono journaled e quindi robusti. In qualche caso il journal puo' essere troppo piccolo; per aumentarne le dimensioni basta cancellarlo e ricrearlo:
dumpe2fs /dev/VolGroup00/LogVol02 | grep Journal tune2fs -O ^has_journal /dev/VolGroup00/LogVol02 tune2fs -j /dev/VolGroup00/LogVol02 dumpe2fs /dev/VolGroup00/LogVol02 | grep Journal
Gli utenti ed i gruppi vengono tipicamente creati con i comandi useradd groupadd.
hostaname myhost.mydomain vi /etc/sysconfig/network vi /etc/sysconfig/network-scripts/ifcfg-eth0 vi /etc/sysconfig/network-scripts/ifcfg-eth0:0 vi /etc/resolv.confOvviamente eth0:0 e' un IP virtuale e l'ultimo comando serve per impostare il DNS...
In tal caso i Volume Group debbono essere configurati per "puntare" a dischi visti in comune da due sistemi.
Come fare? Cosi':
# Check space, configuration and usage free swapon -s top df -h cat /proc/sys/vm/swappiness sar -B # Allocate and use swap space fallocate -l 16G /swapfile01 chmod 600 /swapfile01 mkswap -f /var/swapfile01 swapon /swapfile01 # /etc/fstab /swapfile01 swap swap sw 0 0 # /etc/sysctl.conf vm.swappiness = 0
Il bootstrap utilizza tipicamente il grub che e' configurato
nel file /boot/grub/grub.conf dove trovano posto gli eventuali
parametri del kernel passati da linea di comando.
Nella sequenza di boot il grub carica il kernel. Quindi il processo 1 (init)
si occupa di far partire tutti i servizi come configurato in /etc/inittab
(che contiene anche l'avvio degli script rc).
Le configurazioni statiche dei parametri del kernel vengono poste nel
file /etc/sysctl.conf.
Il file system /proc contiene l'immagine di tutte le strutture del sistema
a runtime e consente il controllo e la modifica dei parametri del kernel in ogni momento.
Ad esempio per impostare i parametri relativi ai
semafori (semmsl, semmns, semopm, semmni) e controllare le caratteristiche delle CPU presenti:
echo 256 32000 100 128 > /proc/sys/kernel/sem cat /proc/cpuinfoLa configurazione dello ulimit si effettua nel file /etc/security/limits.conf
* soft nproc 2047 * hard nproc 16384 * soft nofile 2048 * hard nofile 16384La configurazione dei parametri di tuning dell'I/O puo' essere effettuata on line. Ad esempio con echo deadline > /sys/block/sda/queue/scheduler si imposta l'elevator a deadline (il default e' cfq). Nelle versioni precedenti la configurazione non poteva essere effettuata online (4.X) oppure richiedeva comandi specifici (elvtune).
Per effettuare l'installazione/aggiornamento di programmi si utilizzano i comandi rpm (comando introdotto da RH e poi diventato molto comune su tutti i Linux) e yum (che scarica direttamente da Internet gli ultimi aggiornamenti). Con rpm -qa si ottiene l'elenco completo dei pacchetti installati.
Sui sistemi RH un disco ha generalmente il nome /dev/hdisk55.
Per controllare la dimensione dell'area di swap: swapon -s.
La memoria di sistema si controlla con free -t.
Le patch possone essere scaricate da Internet dal sito
http://redhat.com
se si ha un contratto di supporto.
Per il debug di applicazioni o il problem solving sono disponibili
su RH molti SW comuni in ambiente unix
(eg. strace (analogo del truss su SUN),
lsof, top, ...).
Alcuni sono SW di pubblico dominio e
debbono essere scaricati da Internet.
La gestione dei moduli caricati dinamicamente nel kernel
si effettua con sysctl.
L'elenco delle schede di rete si ottiene con il comando ifconfig -a.
Attualmente le versione supportate del sistema operativo sono 4.x, 5.x e 6.x. Con RH non si acquisisce una licenza ma il supporto annuale che da diritto al download dei binari, all'aggiornamento automatico ed, ovviamente al supporto. RH e' disponibile nella versione base "Enterprise Linux" (fino a 2 CPU socket) ed "Advanced Platform" con livelli di supporto differenti.
Un documento molto piu' recente e sempre aggiornato sulle versioni di Red Hat e' questa pagina.
Si trova tutto sul sito ufficiale http://www.redhat.com o cercando su Google...
Testo: Linux Red Hat
Data: 31 Aprile 2009
Versione: 1.0.2 - 14 Febbraio 2013
Autore: mail@meo.bogliolo.name