domingo, 17 de marzo de 2024

Archivos borrados no liberados ( lsof | grep deleted)

 

No liberaba espacio en el /home y el du -sh /home me mostraba que habia solo 1.8gb ocupado.

[root@p home]# df -h .
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-lv_home
                      7.8G  6.5G  877M  89% /home
[root@ home]# 
[root@p home]# /usr/sbin/lsof | grep deleted
java       1570  x001187    1w      REG            253,105          292     525209 /var/log/ambari-server/ambari-server.out (deleted)
java       1570  x001187    2w      REG            253,105          292     525209 /var/log/ambari-server/ambari-server.out (deleted)
java       1570  x001187  131w      REG            253,105        10837     524293 /var/log/ambari-server/ambari-eclipselink.log (deleted)
sas       11849  x001186    4u      REG            253,104      1656927       1008 /tmp/sctEpm73H (deleted)
sas       11849  x001186   49uW     REG            253,103   5096518424     130491 /home/x001186/PR_CONV_PuntScore.lst (deleted)
elssrv    11892     root    3w      REG            253,104            0       1000 /tmp/edscan.lck (deleted)
elssrv    11892     root    4u      REG            253,104      1656927       1008 /tmp/sctEpm73H (deleted)

Una busqueda mas fina , directamente sobre el fs /home

[root@ home]# /usr/sbin/lsof | grep deleted |grep home
sas       11849  x001186   49uW     REG            253,103   5103541064     130491 /home/x001186/PR_CONV_PuntScore.lst (deleted)
[root@phome]# ps -ef|grep 11849
root      8908 14726  0 10:34 pts/15   00:00:00 grep 11849
x001186  11849 11844 97 Feb19 ?        2-05:58:59 /sasbin94/SASHome/SASFoundation/9.4/sasexe/sas /sasFiles/PANA/bin/Jobs/PR_CONV_PuntScore.sas -log /sasFiles/PANA/bin/Logs/PR_CONV_PuntScore_190220_0322.log -autoexec /sasFiles/PANA/bin/Parametros/appserver_autoexec.sas
root     11892 11849  0 Feb19 ?        00:00:00 sasels  14 11 15 2 49589
[root@ home]#

Si quiero saber el tamaño total en Bloques, de los archivos borrados en el filesystem /home

[root@ home]# lsof -Fn -Fs |grep -B1 -i deleted | grep ^s  | cut -c 2- | awk '{s+=$1} END {print s}'
5494756694
[root@ home]# 

Ya identificamos el proceso que quedo estaba ejecutandose y cuanto ocupaba, ahora vamos a liberar ese espacio.

[root@home]# /usr/sbin/lsof | grep deleted |grep /home
sas       11849  x001186   49uW     REG            253,103   5119778048     130491 /home/x001186/PR_CONV_PuntScore.lst (deleted)
[root@ home]#
[root@home]# df -h .
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-lv_home
                      7.8G  5.4G  2.1G  73% /home
[root@ home]# file /proc/11849/fd/49
/home/x001186/PR_CONV_PuntScore.lst (deleted)
[root@ home]#  echo > /proc/11849/fd/49
[root@ home]# df -h .
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-lv_home
                      7.8G  542M  6.9  3% /home
[root@ home]#

Restoreando desde cero

 Este fue un caso de restore distinto a lo habitual. En principio la idea era desarmar un cluster y como los discos estaban compartidos no me dejaba clonarlo (porque no los puede bloquear para tomar un snapshot). Por eso hice un backup y un restore con nuestro viejo servidor de backup 

 

Primero voy a armar el tema de los comandos utilizados y despues tratare de emprolijar el posteo.

Lo primero que hago es crear en el vcenter una maquina virtual con la cantidad de procesadores, memoria y disco que necesite. En este caso fue 32g RAM, 6Vcpus un par de discos de 100gb y un par de placas de red la que usamos es la de la vlan22. Creada la maquina fuerzo que en el primer booteo vaya a bios setup. Le attacho via iso una iso de redhat y boteo en recovery sin configurar red ni montar nada hasta que me dropea a una shell.

blkid # Con esto puedo ver los discos mas prolijo

# Creo las particiones en sda (la del /boot y la del VolGroup00)
fdisk /dev/sda

# Chequeo que haya creado sda1 y sda2 sino hago partprobe /dev/sda
ls -tlra /dev/sd*

# Creo el / y lo monto
mkfs.ext4 /dev/sda1
tune2fs -i 0 /dev/sda1
tune2fs -c 0 /dev/sda1
mkdir /a
mount /dev/VolGroup00/lv_root /a

# Creo todos los demas
vgcreate VolGroup00 /dev/sda2
lvcreate -n lv_home -L2g VolGroup00
lvcreate -n lv_root -L20g VolGroup00
lvcreate -n lv_swap -L8g VolGroup00
lvcreate -n lv_tmp -L2g VolGroup00
lvcreate -n lv_usr -L4g VolGroup00
lvcreate -n lv_var -L20g VolGroup00

# Creo aca el disco del vg de datos
fdisk -l
fdisk /dev/sdb
vgcreate vg_store /dev/sdb1
lvcreate -n lv_store -l100%FREE vg_store

# Hago todo el resto de filesystems
mkfs.ext4 /dev/VolGroup00/lv_home
mkfs.ext4 /dev/VolGroup00/lv_root
mkfs.ext4 /dev/VolGroup00/lv_tmp
mkfs.ext4 /dev/VolGroup00/lv_usr
mkfs.ext4 /dev/VolGroup00/lv_var
mkfs.ext4 /dev/vg_store/lv_store
tune2fs -i0 -c0 /dev/VolGroup00/lv_home
tune2fs -i0 -c0 /dev/VolGroup00/lv_root
tune2fs -i0 -c0 /dev/VolGroup00/lv_tmp
tune2fs -i0 -c0 /dev/VolGroup00/lv_usr
tune2fs -i0 -c0 /dev/VolGroup00/lv_var
tune2fs -i0 -c0 /dev/VolGroup00/lv_store
tune2fs -i0 -c0 /dev/vg_store/lv_store

# Configuro la red
ifconfig eth0 192.168.214.57 netmask 255.255.255.0 up
route add default gw 192.168.214.1

# Restoreo el barra
cd /a
ssh -l root 192.168.201.20 cat /backupsos/smtp-app-db-01/smtp-app-db-01.root.dump.20190928.gz | gzip -dc | restore -rf -

# Ya creados los puntos de montaje puedo montar todo el resto
mount /dev/sda1 /a/boot
mount /dev/VolGroup00/lv_home /a/home
mount /dev/VolGroup00/lv_tmp /a/tmp
mount /dev/VolGroup00/lv_usr /a/usr
mount /dev/VolGroup00/lv_var /a/var
mount /dev/vg_store/lv_store /a/store/

# Restoreo el /boot y el resto de los fs que tengo
cd /a/boot
ssh -l root 192.168.201.20 cat /backupsos/smtp-app-db-01/smtp-app-db-01.boot.dump.20190928.gz | gzip -dc | restore -rf -
cd ../home
ssh -l root 192.168.201.20 cat /backupsos/smtp-app-db-01/smtp-app-db-01.home.dump.20190928.gz | gzip -dc | restore -rf -
cd ../var
ssh -l root 192.168.201.20 cat /backupsos/smtp-app-db-01/smtp-app-db-01.var.dump.20190928.gz | gzip -dc | restore -rf -
cd ../usr
ssh -l root 192.168.201.20 cat /backupsos/smtp-app-db-01/smtp-app-db-01.usr.dump.20190928.gz | gzip -dc | restore -rf -

# Ya estan los restore monto fs especiales para hacer chroot
mount /proc /a/proc -o bind
mount /dev /a/dev -o bind
mount /sys /a/sys -o bind
chroot /a

# Cambio la pass de root para tenerla para el proximo boot
passwd root

# Corrijo o chequeo la configuracion de la red
cd /etc/sysconfig/network-scripts/
cp -p ifcfg-eth0 ifcfg-eth0:1
vi ifcfg-eth0:1
vi ifcfg-eth0:2
vi ifcfg-eth0

# Corrijo o chequeo el sticky bit
chmod 1777 /tmp

# Deshabilito AccessControl SI O SI!
chmod 000 /opt/CA/AccessControl/bin/seosd

# Deshabilito todos los servicios que considere necesarios.
chkconfig cman off
chkconfig clvmd off
chkconfig gfs2 off
chkconfig rgmanager off
cd /etc/cluster/
mv cluster.conf cluster.conf.20190929

# Modifico el /etc/fstab
vi /etc/fstab
## saco el fs de datos y modifico/corrijo el /boot

Reinstall grub ejecutamos grub y escribimos lo de la siguiente imagen:

# Reinstall del /boot/initrd
ls -ltra /boot/initrd-*

# Hago una copia del ultimo
cp -p /boot/initrd-2.6.18-308.11.1.el5.img /boot/initrd-2.6.18-308.11.1.el5.img.bak
mkinitrd -f -v /boot/initrd-2.6.18-308.11.1.el5.img 2.6.18-308.11.1.el5

sábado, 16 de marzo de 2024

extender el barra con particion tradiciona y lvm

 

este tipo de instalacion es la habitual, parte del / es particion tradicional y otra parte es lvm

echo 1 > /sys/block/sda/device/rescan
fdisk /dev/sda
n,p,3 , t , 3, (con t cambiar a tipo: 8e)
w
partprobe /dev/sda
partx -a /dev/sda
vgextend rhel /dev/sda3
lvextend -l +100%FREE /dev/mapper/rhel/root
resize2fs /dev/mapper/rhel/root


Verificar en que Switch y puerto esta conectado un Linux coneja Avatar

 

# tcpdump -vvi em3| grep -ib5 pac
tcpdump: listening on em3, link-type EN10MB (Ethernet), capture size 262144 bytes
108221-   0x0000:  0078
108238- Port Description TLV (4), length 41: topology/pod-1/paths-209/pathep-[eth1/10]
108318-   0x0000:  746f 706f 6c6f 6779 2f70 6f64 2d31 2f70
108370-   0x0010:  6174 6873 2d32 3039 2f70 6174 6865 702d
108422-   0x0020:  5b65 7468 312f 3130 5d
108457: System Name TLV (5), length 21: PAC-L209.datanet.corp

La opcion del tcpdump fue, –vvi nombre de la placa en linux | grep -ib5, esto es 5 lineas before , si le pusiera -ia5 significa 5 lineas after y pac es porque se que el switch se llama pac-algo

Otra opcion que puedo poner, si no conozco el nombre del switch es buscar por System Name

[root@plcuzcoapp1 ~]# tcpdump -vvi eth0| grep -ib5 "System Name"
tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
20452741-       Port Description TLV (4), length 54: topology/pod-1/paths-217/extpaths-105/pathep-[eth1/15]
20452834-         0x0000:  746f 706f 6c6f 6779 2f70 6f64 2d31 2f70
20452886-         0x0010:  6174 6873 2d32 3137 2f65 7874 7061 7468
20452938-         0x0020:  732d 3130 352f 7061 7468 6570 2d5b 6574
20452990-         0x0030:  6831 2f31 355d
20453017:       System Name TLV (5), length 21: PAC-L217.datanet.corp
20453072-         0x0000:  5041 432d 4c32 3137 2e64 6174 616e 6574
20453124-         0x0010:  2e63 6f72 70
20453149-       System Description TLV (6), length 23
20453188-         topology/pod-1/node-217
20453215-         0x0000:  746f 706f 6c6f 6779 2f70 6f64 2d31 2f6e
^C81230 packets captured
81272 packets received by filter
36 packets dropped by kernel

[root@plcuzcoapp1 ~]#

Falla control-m luego de actualizacion de centrify

 

Cuando fallan las conexiones del control-m por actualización o parcheo del centrify. Esta acción la tiene que hacer SI pero por las dudas aca queda.

Control-m usa algoritmo de sssh antiguo que no contemplan las nuevas versiones de ssh

editar:
/etc/centrifydc/ssh/sshd_config

agregar al final:
KexAlgorithms +diffie-hellman-group14-sha1

reiniciar:
centrify-sshd

Extender /dev/sda2 (o cualquier partición) con el comando growpart

 

esto solo aplica a RHEL7 y RHEL8 

Primero lo instalamos si aun no esta:

# yum install cloud-utils-growpart

Si el disco ya esta extendido en VMWARE se puede continuar

# growpart /dev/sda 2

esto va agregar todo el espacio libre en /dev/sda (también esta la posibilidad de crear el /dev/sda3 con un fdisk tradicional)

por ultimo hacemos el resize del pv

# pvresize /dev/sda2

con estos simples paso podes ampliar cualquier FS del disco de booteo o cualquier otro disco