Friday, 29 November 2013

Mysql 5.6 e Oracle Linux 6.4

Oggi un post su come installare velocemente una istanza mysql 5.6 Community su un server linux versione Oracle Linux 6.4.

1) Download di  mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz e Oracle Linux 6.4 (x86, 64-bit).

2)  Rimozione binario installato di default:
       rpm -e mysql-server-5.1.66-2.el6_3.x86_64
        rpm -e mysql-5.1.66-2.el6_3.x86_64
        rpm -e mysql-connector-odbc-5.1.5r1144-7.el6.x86_64


3) Creazione utente mysql User and Group (come root SO) :
       groupadd -g 3000 mysql
        useradd -u 3000 -g 3000 -d /home/mysql -s /bin/bash -c "MySQL DBA" mysql
        passwd mysql   


4) Creazione directory  mysql e privilegi (root):
       mkdir -p /mysql/mysql5.6/data
        mkdir -p /mysql/mysql5.6/logs
        mkdir -p /mysql/mysql5.6/data/data
        mkdir -p /mysql/mysql5.6/data/innodata
        mkdir -p /mysql/mysql5.6/logs/binlogs
        mkdir -p /mysql/mysql5.6/logs/innologs
        mkdir -p /mysql/mysql5.6/admin
        mkdir -p /mysql/mysql5.6/backup
        chown -R mysql:mysql /mysql/mysql5.6


5)  Copia del binario in  /usr/local e creazione link simbolico:

       cp mysql-5.6.14-linux-glibc2.5-x86_64.tar /usr/local
        cd /usr/local
        tar xvf mysql-5.6.14-linux-glibc2.5-x86_64.tar
        chown -R mysql:mysql mysql-5.6.14-linux-glibc2.5-x86_64
        ln -s mysql-5.6.14-linux-glibc2.5-x86_64 mysql-5.6
        chown -R mysql:mysql mysql


6) Creazione del .bash_profile (mysql):
      export MYSQL_HOME=/usr/local/mysql
       export MYSQL_BASE=/mysql/mysql5.6
       export MYSQL_NAME="Nodo 1"
       PATH=$PATH:$MYSQL_HOME/bin


7) Riepilogo  MySQL Directory Organization
      /usr/local/mysql                         - Symbolic link to software directory location
        /mysql/mysql5.6/data/data        - Data directory for MySQL database (mysql, performance_schema)
        /mysql/mysql5.6/data/innodata   - InnoDB location data (ibdata1)
        /mysql/mysql5.6/logs/binlogs      - Binary log files location ()
        /mysql/mysql5.6/logs/innologs    - InnoDB transaction logs (ib_logfile0, ib_logfile1)
        /mysql/mysql5.6/admin               - Administration files location (mysql01.err, mysql01.pid,1-slow.log)
        /mysql/mysql5.6/backup            - Backup files location

       
8) Creazione /etc/my.cnf (Generico)
         [client]
            port            = 3306
            socket          = /tmp/mysql.sock
            default-character-set=utf8

            [mysqld_safe]
            socket          = /tmp/mysql.sock
            nice            = 0
            log-error=/mysql/mysql5.6/admin/MysqlVm01.err
            pid-file=/mysql/mysql5.6/admin/MysqlVm01.pid

            [mysqld]
            user            = mysql
            pid-file=/mysql/mysql5.6/admin/MysqlVm01.pid
            socket          = /tmp/mysql.sock
            port            = 3306
            basedir=/usr/local/mysql
            datadir=/mysql/mysql5.6/data/data
            log-error=/mysql/mysql5.6/admin/MysqlVm01.err
            tmpdir          = /tmp

            #Impostazione character set del server utf8 & collate (utf8_general_ci) default
            character-set-server = utf8

            # Generic cache settings
            # InnoDB settings
            innodb_stats_persistent = 1         # Also use ANALYZE TABLE for all tables periodically
            innodb_read_io_threads = 16
            innodb_write_io_threads = 4
            table_open_cache_instances = 16
            metadata_locks_hash_instances = 256
            innodb_log_file_size=2048M
            innodb_checksum_algorithm=strict_crc32
            innodb_buffer_pool_size=2048M
            innodb_data_home_dir=/mysql/mysql5.6/data/innodata
            innodb_data_file_path=ibdata1:2048M:autoextend:max:4096M
            innodb_log_group_home_dir=/mysql/mysql5.6/logs/innologs

            # MyISAM cache settings
            #key_buffer              = 1024M (deprecato)
            key_buffer_size              = 1024M
            myisam_sort_buffer_size = 32M

            # Per connection cache settings
            sort_buffer_size = 32k

            # Slow Log settings
            long_query_time=10
            log_queries_not_using_indexes=0
            slow-query-log
            slow-query-log-file=/mysql/mysql5.6/admin/MysqlVm01-slow.log

            read_buffer_size = 262144
            read_rnd_buffer_size=1M
            sort_buffer_size=64K


9)    Installazione delle MySQL system tables...
        su – mysql
          cd /usr/local/mysql/scripts
          ./mysql_install_db --datadir=/mysql/mysql5.6/data/data --basedir=/usr/local/mysql 

10)  Avvio come utente mysql: 
        mysqld_safe &


11) Cambio pwd di root mysql:
        Come utente root  SO :
          export PATH=$PATH:/usr/local/mysql/bin
          cd /usr/local/mysql/bin
           ./mysql_secure_installation



Alla prossima.


Ciaoaoaoaao
 

Friday, 22 November 2013

VMware vSphere Hypervisor


Recentemente  mi sono trovato nella necessità di aggiungere un disco ad un virtual machine ESXi 5.5 dedicata ad istanze MySQL e Oracle.

Caratteristiche :

  • VMware vSphere Hypervisor (ESXi 5.5) 
  • Server Fisico DELL 2950
  • Storage : x dischi fisici in RAID 5 divisi in 2 dischi logici da 2 Tb e 1Tb.

Il disco logico da aggiungere era il secondo da 1Tb.

Avvio quindi il client VMware vSphere Client e provo ad aggiungerlo con l'apposito wizard ad un nuovo datastore, da poter quindi successivamente utilizzare per creare nuove Guest Server Linux.

Tutti gli step sembrano procedere con successo ma al momento di eseguire il comando ricevo il seguente errore "vim.host.diskpartitioninfo.spec"  e l'aggiunta del nuovo datastore fallisce.

Googling in rete e osservando i log dell' ESXi server arrivo alla conclusione che una possibile causa è la presenza sul disco che stavo cercando di aggiungere, di una partizione, che il wizard dell'aggiunta del datastore non riesce a gestire.


Di seguito i comandi usati sull' ESXi per risolvere il problema:

ESXi:> esxcli storage core device list


   naa.60022190a00337001a18b630260c0552
   Display Name: Local DELL Disk (naa.60022190a00337001a18b630260c0552)

   Devfs Path: /vmfs/devices/disks/naa.60022190a00337001a18b630260c0552
   SCSI Level: 5



    naa.60022190a00337001a18b5e2216abd0e

    Display Name: Local DELL Disk (naa.60022190a00337001a18b5e2216abd0e)

    Devfs Path: /vmfs/devices/disks/naa.60022190a00337001a18b5e2216abd0e


I disco da aggiungere era quello definito come :

  Devfs Path: /vmfs/devices/disks/naa.60022190a00337001a18b630260c0552

 Verifico quindi la presenza della partizione :



ESXi:> fdisk -l /vmfs/devices/disks/naa.60022190a00337001a18b630260c0552





Disk /vmfs/devices/disks/naa.60022190a00337001a18b630260c0552: 1006.6 GB, 1006666579968 bytes

255 heads, 63 sectors/track, 122386 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes



                                                    Device Boot      Start         End      Blocks  Id System

/vmfs/devices/disks/naa.60022190a00337001a18b630260c0552p1               1      122387   983071744  8e Linux LVM



 Si tratta di una vecchia partizione Linux di una precedente installazione che per un qualche motivo il wizard della creazione del datastore non riusciva a cancellare.


Ho quindi provveduto alla cancellazione della suddetta partizione con :



ESXi:> partedUtil delete /vmfs/devices/disks/naa.60022190a00337001a18b630260c0552 1




 A questo punto ho rieseguito il wizard e aggiunto con successo il nuovo datastore.




Alla prossima.


Ciaoaoaoaao