Rescan de discos con iscsi

Problema:

Por problemas de espacio necesitamos hacer un rescan de nuestro disco iscsi.

Solución:

Para ello ejecutamos el siguiente comando

iscsiadm -m node -R

A continuación mostramos la secuencia completa de comandos:

Contenido original del disco

# fdisk -l /dev/sdc

Disk /dev/sdf: 506.09 GB, 98212254720 bytes
64 heads, 32 sectors/track, 30720 cylinders
Units = cylinders of 2048 * 512 = 221048576 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/sdf           1       30720    31457264   83  Linux

Reescaneo de discos

iscsiadm -m node -R
Rescanning session [sid: 1, target: iqn.1992-08.com.netapp:sn.3f3d51deaa9900a0988def83:vs.90, portal: 172.168.125.221,3260]
Rescanning session [sid: 2, target: iqn.1992-08.com.netapp:sn.3f3d51deaa900a0988def83:vs.90, portal: 172.168.125.220,3260]

Disco duro con espacio aumentado

# fdisk -l /dev/sdj
Disk /dev/sdj: 966.5 GB, 966490324992 bytes, 1887676416 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 65536 bytes

 

 

Logs creación bases de datos en ODA

Problema:

En nuestro ODA (Oracle Database Appliance X7-2HA), se necesita crear una base de datos, pero en algún momento de la instalación esta finaliza con el siguiente error:

ERROR: 2019-01-14 08:30:43: Failed to run /u01/app/12.2.0.1/grid/bin/sqlplus -L / as sysasm @/opt/oracle/oak/log/oda1/utils/12.2.1.3.0/sql/checkdg_redundancy_70817.sql
Died at /opt/oracle/oak/lib/oakutilslib/SqlUtils.pm line 95.

Para la creación de la base se ha usado la siguiente orden:

[root@oda1 dbconf]# oakcli create database -db test -oh OraDb12102_home1 -params dataguard 

Donde dataguard son los paremetros para la creación de nuestra base de datos

Solución:

Para tener mas información y saber en que ha fallado o donde puede estar el problema, los logs de la creación de la base de datos en ODA están en la ruta «/opt/oracle/oak/log/inca1/tools/12.2.1.3.0/ » donde 12.2.1.3.0 es la version de nuestro demonio de OAK

Instalar Fortune y Cowsaid en Centos

Problema:

Tener una terminal personalizada con Fortune y Cowsay

Solucion:

Instalamos los paquetes cowsay y fortune con los comandos:

 
[root@charles ~]# yum install cowsay 
[root@charles ~]# yum install fortune-mod

 

Una vez hecho esto, ya solo tenemos que modificar el bashrc para tener un mensaje personalizado cada vez que iniciamos sesión. Añadimos al basrc la siguiente linea

 
if [ -x /usr/bin/cowsay -a -x /usr/bin/fortune ]; then
fortune | cowsay
fi

Por ultimo cada vez que accedamos tendremos un mensaje del siguiente tipo

 
Last login: Tue Dec  4 10:13:24 2018 from trumph-laptop
 _________________________________________
/ Don't be concerned, it will not harm    \
| you, It's only me pursuing something    |
| I'm not sure of, Across my dreams, with |
| neptive wonder, I chase the bright      |
\ elusive butterfly of love.              /
 -----------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
[root@charles ~]# 

Backup export oracle de uno o varios esquemas

Problema:

Necesitas hacer un export de un esquema de nuestra bases de datos Oracle, sin necesidad de hacer un backup completo de toda la base de datos

SOLUCIÓN:

Para solucionar este problema lo que debemos de hacer es especificarle el schema del cual queremos hacer backup

 

test:/home/oracle $ expdp schemas=myschema directory=EXPORT dumpfile=schema.dmp logfile = schemas.log

Export: Release 12.1.0.2.0 - Production on Mon Oct 29 08:35:40 2018

Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.

Username: system

Processing object type SCHEMA_EXPORT/JOB
Processing object type SCHEMA_EXPORT/REFRESH_GROUP

Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:
  /backup_exports/uxxiace/schema-RAC.dmp
Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at Mon Oct 29 08:37:07 2018 elapsed 0 00:00:53

Con esto ya tendríamos el backup de un solo esquema

Logrotate para forzar el rotado de logs

PROBLEMA:

Necesitamos rotar un fichero de logs, no en la fecha y hora indicada, sino en el momento para vaciar espacio

SOLUCIÓN:

Ejecutamos el siguiente comando y con esto forzamos el rota de logs que se ejecutara normalmente con el cron.daily

 

[root@test ~]# logrotate --force /etc/logrotate.d/tomcat 

En este caso para el fichero que previamente hemos creado para los logs del tomcat

 

 

F5 irule permitir acceso por IP a un Virtual Server

Problema:

En nuestro BigIP F5, tenemos un virtual server, al que por ejemplo queremos limitar el acceso para actualizaciones del aplicativo y solo permitimos el acceso a una IP, es este caso la del administrados y restringimos el acceso al resto de usuarios

SOLUCION:

Con la siguiente irule, asignadola al profile del virtual server solo la ip que indiquemos podrá acceder. Se podría mejorar redirigiendo a un sorry server en caso de que la IP no fuera la nuestra (Administrador)

 

when CLIENT_ACCEPTED {

if { [IP::addr [IP::client_addr] equals 253.47.84.211] } {
}else
{drop}
}

Tamaño de una base de datos

Problema:

Necesitamos saber el espacio que nos ocupa una base de datos, para por ejemplo poder clonarla en otro entorno

Solución:

Para ello lo que haremos será sumar los tamaños de los data_files, dba_temp_files, redo_logs y control_file

 SQL> SELECT SUM(bytes)/1024/1024/1024 data_size from dba_data_files;

 DATA_SIZE
----------
38.2902832

SQL> select nvl(sum(bytes),0)/1024/1024/1024 temp_size from dba_temp_files.
  2      
SQL> select nvl(sum(bytes),0)/1024/1024/1024 temp_size from dba_temp_files;

 TEMP_SIZE
----------
32.0693207

SQL> select sum(bytes)/1024/1024/1024 redo_size from sys.v_$log.
  2  ^C

SQL> select sum(bytes)/1024/1024/1024 redo_size from sys.v_$log;

 REDO_SIZE
----------
         4

SQL> select sum(BLOCK_SIZE*FILE_SIZE_BLKS)/1024/1024/1024 controlfile_size from v$controlfile;

CONTROLFILE_SIZE
----------------
      .017944336

Realizamos la suma de todas las querys y con esto tenemos el tamaño total de la base de datos

Routing asimétrico en RHEL7 con varias tarjetas en la misma subred

Problema:

Tenemos varias tarjetas de red, de la misma subred por supuesto solo tenemos definida una unica puerta de enlace. El problema nos viene cuando el tráfico de vuelta, por ejemplo a un ping en vez de volver por la misma tarjeta de ida, nos vuelve por otra tarjeta. En este caso observaremos incosistencias o que perdemos paquetes o que solo nos funciona el principio

Solución:

Para ello lo que haremos será activar el siguiente parametro del kernel, y con esto nuestro problema estará solucionado

 [root@web ~]$ sudo sysctl net.ipv4.conf.all.rp_filter=2
net.ipv4.conf.all.rp_filter = 2

 

Ejecutar cron.dayli directamente en rhel 7 o centos7

Problema:

Queremos ejecutar todos los scripts que estan dentro de la carpeta /etc/cron.daily sin tener que ir ejecutandolos uno a uno

SOLUCION:

Para solucionar este problema, usaremos el comando run-parts. Este comando ejecuta todos los ficheros con permisos dentro de un directorio. Añadir que este comando nos vale igual para ejecutar los cron diarios, semanales o mensuales

[root@test01 ~]# run-parts /etc/cron.daily/

Depende del contenido del directorio la ejecución del comando puede variar

Estado del raid de arranque en ODA x7

Problema:

En nuestro oda, despues de un tiempo sin reinciar y antes un proceso crítico en las proximas fechas, necesitamos saber si una vez apagado, al arrancar de nuevo el raid de discos donde se encuentra el boot funcioná de manera correcta

SOLUCIÓN:

Para realizar esta tarea, lo haremos con el comando mdad sobre los dispositivos «/dev/md0» y «/dev/md1» que son los discos que tienen el boot de arranque (En raid 0)

[root@test-node1 ~]##NODO 0
[root@node0-x7 ~]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.0
Creation Time : Thu May 3 20:48:11 2018
Raid Level : raid1
Array Size : 511936 (499.94 MiB 524.22 MB)
Used Dev Size : 511936 (499.94 MiB 524.22 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Jun 24 01:00:04 2018
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Name : localhost.localdomain:0
UUID : f208c90f:1aeddba4:5aab5a39:da7f9f34
Events : 43

Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 18 1 active sync /dev/sdb2
[root@node0-x7 ~]# mdadm --detail /dev/md1
/dev/md1:
Version : 1.1
Creation Time : Thu May 3 20:48:12 2018
Raid Level : raid1
Array Size : 467694592 (446.03 GiB 478.92 GB)
Used Dev Size : 467694592 (446.03 GiB 478.92 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Wed Jun 27 09:29:54 2018
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Name : localhost.localdomain:1
UUID : ce4fb3e0:2af57fa0:7608ff49:cf4e9e5f
Events : 4171

Number Major Minor RaidDevice State
0 8 3 0 active sync /dev/sda3
1 8 19 1 active sync /dev/sdb3

##NODO 1
[root@node1-x7 ~]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.0
Creation Time : Thu May 3 20:44:44 2018
Raid Level : raid1
Array Size : 511936 (499.94 MiB 524.22 MB)
Used Dev Size : 511936 (499.94 MiB 524.22 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Tue Jun 26 15:27:01 2018
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Name : localhost.localdomain:0
UUID : 3d087a10:957b48ba:8f50c397:b5a34ea3
Events : 43

Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 18 1 active sync /dev/sdb2
[root@node1-x7 ~]# mdadm --detail /dev/md1
/dev/md1:
Version : 1.1
Creation Time : Thu May 3 20:44:45 2018
Raid Level : raid1
Array Size : 467694592 (446.03 GiB 478.92 GB)
Used Dev Size : 467694592 (446.03 GiB 478.92 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Wed Jun 27 09:28:56 2018
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Name : localhost.localdomain:1
UUID : 74e59374:1639f352:fea3567d:5efacab3
Events : 4098

Number Major Minor RaidDevice State
0 8 3 0 active sync /dev/sda3
1 8 19 1 active sync /dev/sdb3

</pre class>

En la salida del comando, tenemos que ver que la etiqueta "Working devices" está en 2 y que la etiqueta "Failed devices" está a 0

Esta comprobación hay que realizarla en los dos nodos para asegurarnos