Archivio

Posts Tagged ‘centos 5’

Upgrade postgresql 8.4.13 to postrgesl 9.2 centos 5

postgresql  vai a:  PostgreSQL nel blog 

Esempio di upgrade di postgresql dalla versione 8.4.13 alla versione 9.2.6 in Centos 5.8.  L’upgrade di versione necessita della fase di dump/restore oppure dell’utilizzo di pg_upgrade ( questo dalla versione 9.0) per consentire la migrazione della base dati alla nuova versione.  Per poter utilizzare il pg_update deve essere supportata l’esecuzione in parallelo di postgresql come avviene in debian o Centos 6. Centos 5 putroppo non la supporta pertanto sarà necessario utilizzare il dump/restore.

Creare una directory di backups, procedere al dump degli oggetti globali (roles e tablespaces) e di tutto il server, volendo si possono salavare in automatico i singoli db:

mkdir /home/pgsqlbck
chown postgres:postgres /home/psqlbck
su - postgres
pg_dumpall --globals-only > /home/pgsqlbck/dump-data_globals.sql 
pg_dumpall > /home/pgsqlbck/dump-data_alldb.sql
exit

I singoli db di postgresql 8.4 possono essere copiati utilizzando lo script nel link di seguito

Script per il backup dei database di postgresql

Fermiamo il servver postgresql

service postgresql stop
Visto che si tratta di upgrade di versione con cambi nella struttura dei dati possiamo conservare la directory dei dati di PostreSQL /var/lib/pgsql/data oppure al termine dell’upgrade rimuoverla

Per installare la nuova versione di postgresql utilizziamo  il repository yum per rpm. Nella pagina sotto  linkata sono disponibili le varie combinazioni di distribuzione e versione postgresql

PostgreSQL RPM Repository (with Yum)

Installiamo il repository di postgresql 9.2 per  centos 5 – i386

cd /usr/local/src
wget http://yum.pgrpms.org/9.2/redhat/rhel-5-i386/pgdg-centos92-9.2-6.noarch.rpm
rpm -ivh pgdg-centos92-9.2-6.noarch.rpm

Adesso escludiamo postgrsql dal processo standard di update dei pacchetti editando il file etc/yum.repos.d/CentOS-Base.repo aggiungendo la riga

exclude=postgresql*'

nelle sezioni [base] [updates]

ad esempio nella sezione base il risultato sarà del tipo:

[base]                                                                                         
name=CentOS-$releasever - Base 
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os 
gpgcheck=1               
...
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5   
exclude=postgresql*

Controlliamo i pacchetti disponibili

yum list | grep ‘postgresql’

nella lista saranno presenti pacchetti  postgres84 versione installata e i pacchetti della versione 92  di postgresql

postgresql84.i386                        8.4.13-1.el5_8                installed
postgresql84-contrib.i386                8.4.13-1.el5_8                installed
.....
postgresql92.i386                        9.2.2-1PGDG.rhel5             pgdg92   
postgresql92-contrib.i386                9.2.2-1PGDG.rhel5             pgdg92   
postgresql92-debuginfo.i386              9.2.2-1PGDG.rhel5             pgdg92

adesso rimuoviamo la versione precedente postgresql84

yum remove postgresql84*

installiamo la versione postgresql92

yum install postgresql92 postgresql92-server postgresql92-contrib postgresql92-libs

inizializziamo la base dati e avviamo il server postgresql-9.2

service postgresql-9.2 initdb

service postgresql-9.2 start

le basi dati di postgresql in Cenrtos sono localizzate in /var/lib/psql

:</var/lib/pgsql>$ ls -lhG
drwx------ 4 postgres 4.0K Dec 28 12:20 9.2
drwx------ 12 postgres 4.0K Dec 28 11:21 data

/data per il postgresql base e ovviamente /9.2 per la versione che si sta installando

su - postgres
psql < /home/pgbck/dumpalldb.sql

Ripristinare le modifiche ai files di configurazione /var/lib/pgsql/data/*.conf
in particolare postgresql.conf e pg_hba.conf

il file pg_hba.conf con le vecchie impostazioni relative alla autenticazione dei client, cioè il file che controllare quale host accede è a che cosa, può essere copiato dal precedente cluster che era stato rinominato:

cp /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/9.2/data/pg_hba.conf

per essere in linea con le nuove caratteristiche di postgresql 9.2 appendiamo il seguente nuovo blocco commentato, presente di default nel file pg_hba.conf della versione 9.2

# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident

La modifica può essere apportata utilizzando echo con comandi riportati di seguito. Possiamo usare tail -f pg_hba.conf su altro temrinale per seguire le modifiche in real time apportate a pg_hba.conf

:
cd /var/lib/pgsql/9.2/data
su postgres
echo '# Allow replication connections from localhost, by a user with the' >> pg_hba.conf 
echo '# replication privilege.' >> pg_hba.conf
echo '#local   replication     postgres                                peer' >> pg_hba.conf
echo '#host    replication     postgres        127.0.0.1/32            ident' >> pg_hba.conf 
echo '#host    replication     postgres        ::1/128                 ident' >> pg_hba.conf

possiamo anche modificare il permesso ident in peer della condizione

:
# TYPE  DATABASE        USER            ADDRESS                 METHOD                                                               

# "local" is for Unix domain socket connections only                                                                                 
local   all             all                                     ident

in

:                                                                            
local   all             all                                     peer 

riavviamo

service postgresql-9.1 restart

controlliamo il risultato scorrendo la lista dei db importati

su - postgres

vacuumdb --all --analyze-only
psql
\l

controlliamo e Impostiamo l’avvio automatico e il runlevel per il servizio postgresql 9.2

$ chkconfig --list | grep postgresql*
postgresql-9.2 	0:off	1:off	2:off	3:off	4:off	5:off	6:off

ora impostiamo l’avvio automatico con

chkconfig --level 35 postgresql-9.2 on

Altri post e risorse:

Annunci

VMware vCloud Schede di rete VM linux mancato riavvio e riconoscimento

Se dopo un update di un VM Linux esempio Centos 5 in Vmware vCloud le schede di rete non vengono più riconosciute rilanciare il comando

vmware-config-tools.pl 

in modo tale da ricompilare i moduli del kernel delle schede di rete dei vmware tools (lasciare tutto di default).

Alla fine basta riavviare e/o lanciare questi comandi come suggerito a terminale:

/etc/init.d/network stop
rmmod vmxnet
modprobe vmxnet
/etc/init.d/network start

In questo modo le interfaccie di rete saranno nuovamente disponibili.
Eventualmente riavviare il server per controllare che le impostazioni vengano consevate.

Talvolta dopo un riavvio, può accadere  che, anche senza un upgrade della VM,  le schede di rete non vengano riconosciute.

ETH_VMCloud_e

Per risolvere il mancato riavvio delle NIC  dall’interfaccia di controllo delle VM andare spostarsi in proprietà della VM > Hardware

VMware proprietà hardware

VMware proprietà hardware

deselezionare in Connected le schede di rete dare <OK>

quindi riselezionare le schede di rete è nuovamente <OK>

Categorie:Server Tag:, ,

Centos 5 comandi utili

Alcuni utili comandi in Centos  5

visualizzare versione CentOS

cat /etc/redhat-release
e 
uname -a

Come controllare i servizi in Centos 5

per avviare, fermare riavviare un servizio si utilizza il classico comando servicce

service nome-servizio start,restart,stop

Impostare l’avvio o lo stop permanentte dei servizi con chkconfig

Il gestore di servizi per Cento5 / Redhat chkconfig può essere installato agevolemtne da terminale con

yum install chkconfig

Per ottenre la lista dei servizi con indicate le impostazioni dei runlevel

chkconfig --list

Per lista dei servizi con indicate le impostazioni dei runlevel 3

chkconfig --list | grep 3:on

Per impostare l’avvio di postgresql-9.1 nei runlevel 3 e 5

chkconfig --level 35 postgresql on

Disattivare l’avvio di postgresql nei runlevel 35 con

chkconfig --level 35 postgresql off

Connessione a server remoto con ssh

Il comando per connettersi a un server remoto via ssh è il classico:

ssh root@182.93.35.165

Informazioni su partizioni, file system e visualizzazione della occupazione spazio su disco:

fdisk -l  # elencare tutte le partizioni 

df -ha  # dimensione in human readable format

du -sxm  /var/*  |  sort -nr

ls | sed s/:/'\n'/g | du -x

visualizzazione directory corrente

pwd

Tastiera

installare keymap con

yum install kbd

file con le impostazioni /etc/sysconfigl/keyboard editare con

nano /etc/sysconfigl/keyboard

KEYBOARDTYPE="pc"
KEYTABLE="it"

log files

Compressione log file messages nel formato .bz.

cd /var/log

tar jcvf messages-20120803.tar.bz2 messages

ridurre il file messages

tail -n 5 messages > messages1

mv messages1 message

split  -b 100m  messagges

monitorare le attività di sistema

top

controllare i file aperti e dai quali processi

lsof

/var/log/btmp   è un log file che registra tutti i tentativi falliti di login in Centos – Redhat.

mount di un filesystem windows samba mount

mount -t cifs -o username=-user-name //10.0.1.2/www.2 /media/www.2

Its a log file that contains all the last bad login attempts. More info is available by running “man lastb”.

Che cos’è il file btmp

/var/log/btmp   è un log file che registra tutti i tentativi falliti di login in Centos – Redhat.

Networking:
Situazione e configurazioni NIC scheda di rete

ifconfig

Quadro completo sulle connessioni di rete

netstat -tcp

Monitorare l’utilizzo di banda

vnstat
Configurare un scheda di rete

Per configurare le schede di rete  ( NIC : Network interface controller) è possibile utilizzare tool da linea di commando come system-config-network-tui

system-config-network-tui

oppure impostare il primo indirizzo di rete con

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
IPADDR=10.0.1.10
NETMASK=255.255.255.0
NETWORK=10.0.1.10
ONBOOT=yes

riavviare i servizi si rete

service network reload

Impostare un secondo indirizzo di rete sullo stesso NIC con

nano /etc/sysconfig/network-scripts/ifcfg-eth0:1

DEVICE=eth0:1
BOOTPROTO=static
IPADDR=10.0.1.151
NETMASK=255.255.255.0
NETWORK=10.0.1.0
ONBOOT=yes

riavviare i servizi si rete

service network reload

E possibile assegna fino a 16 IP virtuali per ogni scheda di rete. Utilizzare ipconfig per visualizzare gli IP assegnati 

ipconfig

se si desideera utilizzare un tool

Comandi per la gestione degli users:

last,  useradd, userdel, newusers, chage, chsh, lsof, chown, chmod.

Comandi per il monitoraggio della sicurezza

lsof, netstat,  tail, last, tcpdump, top, ps -ef,  sestatus,  w, history.

  • tail -f file-name.log command
  • ps -ef
  • w  # chi è loggato e cosa sta facendo

Gestione dei pacchetti

yum è il gestore dei pacchetti di default in Centos/RedHat.

Per aggiornare i pacchetti del SO

yum update

per installare un pacchetto

yum install mc

Yum troubleshooting

In caso di problemi con yum in  “Setting up repositories”

rpm --rebuilddb

or

rpm --initdb
yum clean all

un update con  spazio contenuto:

yum check-update | sed -n "4,\$p" | awk '{print $1}' | xargs -n 1 yum -y update

VMware:

Links utili:

Upgrade postgresql server 8.4.3 8.4.12 – Centos 5

postgresql  vai a:  PostgreSQL nel blog 

 

Procedura per l’aggiornamento di postgresql server 8.4.3 a 8.4.12 in Centos 5.8.
L’aggiornamento nell’ambito delle minor release di postgresql (versioni che incrementano la terza parte del numero di versione 8.4.3 8.4.12 non richiedono il dump restore dei database). Comunque è ovvio che bisogna sempre disporre di copie di backup della base dati.

Creare una directory di backups:

$ mkdir /home/pgbck
$ chown postgres:postgres /home/pgbck

Fare il dump solo degli oggetti globali (roles e tablespaces):

$ su - postgres
$ pg_dumpall --globals-only > /home/pgbck/globals.sql 
$ pg_dumpall > /home/pgbck/dumpalldb.sql
$ exit

per fare il backup dei singoli database è possibile utilizzare questo script

Script per il backup dei database di postgresql

Fermare il server postgresql:

service postgresql stop

Valutare la possibilità di creare un backup completo del database cluster (non è utilizzato nel processo di upgrading):

$ cp -a /var/lib/pgsql/data /home/pgbck/datacp_20100606

questo comando è compatibile con il ripristino cioè se fermiamo postgresql muoviamo i dati eseguendo il comando e poi li ripristiniamo con il comando inverso cp -a /home/pgbck/datacp_20100606 /var/lib/pgsql/data postgresql riparte normalmente

Adesso rimuoviamo  la versione corrente di postgresql e installiamo l’ultima postgresql 8. disponibile

$ su - 
$ yum remove postgresql*
$ yum install postgresql84 postgresql84-server postgresql84-contrib

avviare postgresql

service postgresql start

Impostare l’avvio automatico e il runlevel

chkconfig –level 35 postgresql on

Altri post:

								

Installare postgreSQL 8.4 in Centos 5

New_icons_17  Postgresql running in parallel postgresql 9.1 and 8.4 on Centos 6.3 64 bit
Pagina  dedicata a PostgreSQL con molti dei posts per postgresql presenti nel blog

———–
Ci sono più modalità per installare PostgreSQL 8.4 in Centos 5: scaricare lo specifico postgreSQL 8.4 repository, per le ultime versioni di Centos 5 installare con yum il pacchetto postgres84.

Installare PostgreSQL 8.4.x in CentOS 5 utilizzando lo specifico repository RPM

Download the PostgreSQL 8.4 repository RPM

wget wget http://yum.postgresql.org/8.4/redhat/rhel-5-i386/pgdg-centos-8.4-2.noarch.rpm
rpm -ivh pgdg-centos-8.4-2.noarch.rpm

oppure rpm -Uvh http://yum.pgsqlrpms.org/reporpms/8.4/pgdg-centos-8.4-2.noarch.rpm

Utilizzare yum per installare postgresql, postgresql-server valutare l’opportunitaà di installare anche postgresql-contrib:

yum install postgresql postgresql-server postgresql-contrib

Per Centos 5.5 e successivi installare utilizzando i pacchetti postgresql84

yum install postgresql84 postgresql84-server postgresql84-contrib

Configure PostgreSQL 8.4 Database Server

Inizializzare il cluster con initdb:

service postgresql initdb

Riavviare il database

service postgresql restart

Imposta il avvio automatico del database al boot

chkconfig postgresql on

Configurare postgresql controllando e modficando i principali parametri nei files:
postgres.conf
pg_hba.conf.

perchè postgresql ascolti tutti gli indirizzi uncomment o aggiungere le seguenti righe in
postgresql.conf percorso /var/lib/pgsql/data/postgresql.conf file:.

listen_addresses = ‘*’
port = 5432

Le modifiche possono essere apportate utilizzando nano

nano -w /var/lib/pgsql/data/postgresql.conf

oppure sempre con nano ma utilizzando il file manager mc

Valutare di eliminare il METHOD ident sostituendolo sempre con MD5 passwords:
il method trust va utilizzato solo per connessioni locali e per computer con singolo utente. Con il method trust basta indicare il role per poter accedere al database

#TYPE  DATABASE  USER   CIDR_ADDRESS    METHOD  
# local   all      all                  trust
local   all      all                    ident 
# Local networks
host	all	  all	xx.xx.xx.xx/xx	md5
# Example
host	all	  all	10.0.2.0/24	md5

E’ possibile utilizzare nano

nano -w /var/lib/pgsql/data/pg_hba.conf

Anche in caso di utilizzo di tunnel ssh conviene utilizzare come METHOD md5

local viene utilizzato solo se non si precisa l’host.
se si indica localhost o 127.0.0.1 ovviamente va usato -h e siamo nella condizione host non local.

Se si apportano modifiche ai file riavviare postgresql:

service postgresql start

Aprire la porta (5432) di PostgreSQL in Iptables Firewall

modificare  /etc/sysconfig/iptables file:

nano -w /etc/sysconfig/iptables

e aggiungere le seguente riga COMMIT:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

Restart Iptables Firewall:

service iptables restart
o
/etc/init.d/iptables restart

Altri post: