Mayor comprensión del sistema de archivos de Linux y el análisis de registros (número de inodo, respaldo de archivos xfs)

Uno, sistema de archivos

En primer lugar, el archivo se almacena en el disco duro, pero el archivo y el disco duro en el sistema Linux se subdividen en otros conceptos, comencemos a comprenderlos en detalle.

1. Sector (sector)

  • " Sector " es la unidad de almacenamiento más pequeña de un disco duro y cada sector puede almacenar 512 bytes.

2. Bloque

  • Cuando el sistema operativo lee el disco duro, lee varios sectores continuamente a la vez, es decir, lee uno o más bloques a la vez.
  • Un " bloque " generalmente se compone de ocho "sectores" consecutivos, por lo que un bloque tiene un tamaño de 4K, que es la unidad más pequeña de acceso a archivos.

3. Archivo de datos

  • Los datos del archivo incluyen datos reales y metainformación (como el creador del archivo, la fecha de creación, el tamaño del archivo, los permisos del archivo, etc.).
  • Los datos del archivo se almacenan en "bloques" y el área donde se almacenan los metadatos del archivo se llama inodo.

4. Inode (nodo índice o nodo i)

  • Un archivo debe ocupar un inodo y al menos un bloque.
  • El inodo no contiene el nombre del archivo. El nombre del archivo se almacena en el directorio. Todo en un sistema Linux es un archivo, por lo que un directorio también es una especie de archivo.
  • Cada inodo tiene un número y el sistema operativo usa el número de inodo para identificar diferentes archivos. El nombre del archivo no se usa internamente en el sistema Linux, pero el número de inodo se usa para identificar el archivo. Para el sistema, el nombre del archivo es solo otro nombre para una fácil identificación del número de inodo.El nombre del archivo y el número de inodo tienen una correspondencia uno a uno, y cada número de inodo corresponde a un nombre de archivo.

5. Resumen de conceptos relacionados

Inserte la descripción de la imagen aquí
Pasos para que el usuario acceda a los archivos (en el sistema)
Paso 1: El usuario accede a un archivo en el sistema Linux
Paso 2: El sistema encuentra el número de inodo correspondiente según el nombre del archivo
Paso 3: Obtenga la información de inodo a través del número de inodo
Paso 4: De acuerdo con la información de Inode, vea si el usuario tiene permiso para acceder al archivo; si es así, apunte al bloque de datos correspondiente y lea los datos.

2. Número de inodo

1. Tres atributos de tiempo principales

  • Los tres atributos de tiempo principales de los archivos del sistema Linux
    ctime (hora de cambio) #La hora en que el archivo o directorio (atributo) se modificó por última
    vez a la hora (hora de acceso) #La hora en que se accedió por última vez al archivo o directorio
    mtime (hora de modificación) # La última vez que se modificó el archivo o la hora del catálogo (contenido)

2. El tamaño del inodo

Inode también consume espacio en el disco duro, por lo que al formatear, el sistema operativo divide automáticamente el disco duro en dos áreas. Uno es el área de datos, que almacena los datos del archivo; el otro es el área de inodo, que almacena la información contenida en el inodo. El tamaño de cada inodo es generalmente de 128 bytes o 256 bytes.

  • El número total de inodos se determina cuando se formatea el sistema de archivos
  • El comando " df -i " puede ver el número total de inodos correspondientes a cada partición del disco duro y el número de inodos utilizados.
    Inserte la descripción de la imagen aquí

3. Consulta del número de inodo

查看文件名对应的 inode 号码有两种方式:
ls -i 文件名        #查普通文件
stat 文件名       #查普通文件和目录(这个好用)

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

4. El papel especial del inodo

Debido a la separación del número de inodo y el nombre del archivo, el sistema Linux tiene los siguientes fenómenos únicos:

  • El nombre del archivo contiene caracteres especiales y es posible que no se elimine normalmente. En este momento, eliminar el inodo directamente puede desempeñar el papel de eliminar el archivo;
  • Mueva archivos o cambie el nombre de los archivos, simplemente cambie el nombre del archivo sin afectar el número de inodo;
  • Después de abrir un archivo, el sistema utilizará el número de inodo para identificar el archivo, independientemente del nombre del archivo.
  • Después de que se modifiquen y guarden los datos del archivo, se generará un nuevo número de inodo.

5. Eliminar archivos por número de inodo

find ./ -inum 52305140 -exec rm -i {} \;
find ./ -inum 50464299 -delete

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Tres, procesamiento de fallas de agotamiento del nodo de inodo de simulación

步骤总汇
1、使用fdisk创建分区/dev/sdb1,分区大小30M即可
fdisk /dev/sdb   n→p→回车→+30M→w  #创建分区
mkfs.ext4 /dev/sdb1   #对于centos 7系统,节点耗尽故障处理的文件类型可以是ext3或ext4
mkdir /test
mount /dev/sdb1 /mnt
df -i
2、模拟inode节点耗尽故障
for ((i=1; i<=7680; i++));do touch /test/file$i;done  
或者   touch {1..7680}.txt
df -i
df -hT
3、删除文件恢复
rm -rf /test/*
df -i
df -hT

Ilustración:
1. Use fdisk para crear la partición / dev / sdb1 y móntela
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

2. Simular la falla del agotamiento del nodo de inodo
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Resumen: Cada archivo corresponde a un número de inodo Después de que se agota el número de inodo, incluso si hay mucho espacio en el disco, el archivo no se puede crear.

4. Recuperar archivos borrados por error (formato ext)

  • extundelete es una herramienta de recuperación de datos de Linux de código abierto que admite sistemas de archivos ext3 y ext4. (Ext4 solo se puede restaurar en la versión centos6)
操作步骤
1、使用fdisk创建分区/dev/sdb1,格式化ext3文件系统
fdisk /dev/sdb  
mkfs.ext3 /dev/sdb1
mkdir /test
mount /dev/sdb1 /test
df -hT

2、安装依赖包
yum -y install e2fsprogs-devel e2fsprogs-libs

3、编译安装 extundelete
cd /test  切换到test目录中
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2  #联网下载安装包
tar jxvf extundelete-0.2.4.tar.bz2   #解压tar包
cd extundelete-0.2.4/     #切换到解压出来的目录中
./configure --prefix=/usr/local/extundelete && make && make install  #指定安装目录,开始安装   
ln -s /usr/local/extundelete/bin/* /usr/bin/    #创建软连接,让系统识别命令

4、模拟删除并执行恢复操作
cd /test
echo a>a
echo a>b
echo a>c
echo a>d
ls
extundelete /dev/sdb1 --inode 2			#查看文件系统/dev/sdb1下存在哪些文件,i 节点是从 2 开始的,2 代表该文件系统最开始的目录。

rm -rf a b
extundelete /dev/sdb1 --inode 2	
cd ~
umount /test
extundelete /dev/sdb1 --restore-all		#恢复/dev/sdb1 文件系统下的所有内容
#在当前目录下会出现一个RECOVERED_FILES/目录,里面保存了已经恢复的文件
ls RECOVERED_FILES/

Ilustración:
1. Utilizo el sdb1 anterior directamente, primero lo desmonto y luego lo reformateo.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
2. Utilice yum para instalar el paquete dependiente
Inserte la descripción de la imagen aquí
3. Descargue el paquete de instalación e instálelo
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
4. Simule eliminar y restaurar
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Ver que a y b se han eliminado
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Cinco, copia de seguridad y recuperación de archivos tipo xfs

  • El sistema CentOS 7 usa archivos de tipo xfs de forma predeterminada, y los archivos de tipo xfs se pueden respaldar y restaurar usando las herramientas xfsdump y xfsrestore.
  • Hay dos niveles de respaldo para xfsdump: 0 significa respaldo completo; 1-9 significa respaldo incremental. El nivel de copia de seguridad predeterminado de xfsdump es 0.
xfsdump 的命令格式为:
xfsdump -f 备份存放位置 要备份的路径或设备文件

xfsdump使用限制:
1.只能备份已挂载的文件系统
2.必须使用root的权限才能操作
3.只能备份XFS文件系统
4.备份后的数据只能让xfsrestore解析
5.不能备份两个具有相同UUID的文件系统(可用 blkid命令查看)
Opciones de comando de uso común efecto
-F Especifique el directorio del archivo de respaldo
-L Especificar la etiqueta de sesión de etiqueta
-METRO Especificar etiqueta de dispositivo etiqueta de soporte
-s Realice una copia de seguridad de un solo archivo, la ruta no puede ser seguida directamente por -s

paso:

1、使用fdisk创建分区/dev/sdb1,格式化xfs文件系统
fdisk /dev/sdb
partprobe /dev/sdb   #重读分区表,磁盘查询不到时使用
mkfs.xfs [-f] /dev/sdb1
mkdir /data
mount /dev/sdb1 /data/
cd /data
cp /etc/passwd ./
mkdir test
touch test/a

2、使用 xfsdump 命令备份整个分区
rpm -qa | grep xfsdump
yum install -y xfsdump
xfsdump -f /opt/dump_sdb1 /dev/sdb1 [-L dump_sdb1 -M sdb1]

3、模拟数据丢失并使用 xfsrestore 命令恢复文件
cd /data/
rm -rf ./*
ls

xfsrestore -f /opt/dump_sdb1 /data/

Diagrama de pasos:
1. Preparación
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
2. Copia de seguridad de archivos, eliminar y restaurar
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Seis, registro del sistema

1. Archivos de registro

1) función de registro

  • Se utiliza para registrar varios eventos que ocurren durante el funcionamiento del sistema y los programas.
  • Al leer el registro, es útil diagnosticar y resolver fallas del sistema.

2) Clasificación de archivos de registro

  • Registros del kernel y del sistema
    • Gestión unificada por el servicio del sistema rsyslog, el formato de registro es básicamente similar
    • Archivo de configuración principal /etc/rsyslog.conf
  • Registro de usuario
    • Registre la información de inicio y cierre de sesión del usuario del sistema
    • Archivo de configuración principal / var / log / secure
  • Registro del programa
    • Archivos de registro administrados de forma independiente por varias aplicaciones, el formato de registro no es uniforme

3) Ubicación predeterminada para guardar

Los archivos de registro se colocan en el directorio / var / log / de forma predeterminada.

Inserte la descripción de la imagen aquí

2. Análisis de archivos de registro

1) Registros del kernel y del sistema

Gestión unificada por el servicio del sistema rsyslog

  • Paquete de software: rsyslog-7.4.7-16.el7.x86_64,
  • Programa principal: / sbin / rsyslogd
  • Archivo de configuración: /etc/rsyslog.cont

2) Prioridad del mensaje de registro

Nivel de prioridad de los mensajes de registro del kernel del sistema Linux (cuanto menor es el nivel de número, mayor es la prioridad, más importante es el mensaje):

Número de grado Nivel de prioridad Descripción
0 EMERG (emergencia) Hará que el sistema host no esté disponible.
1 ALERTA (alerta) Problemas que deben resolverse de inmediato.
2 CRIT (grave) Situación más grave.
3 ERR (error) Ocurrió un error durante la operación.
4 ADVERTENCIA Eventos importantes que pueden afectar las funciones del sistema y deben recordar a los usuarios.
5 DARSE CUENTA No afecta las funciones normales, pero es un evento que requiere atención.
6 INFO (información) Información general.
7 DEBUG (depuración) Información de depuración del programa o del sistema, etc.

3) Ver el archivo de configuración rsyslog.conf

vim /etc/rsyslog.conf		#查看rsyslog.conf配置文件
*.info;mail.none;authpriv.none;cron.none         /var/log/messages

*.info		#表示info等级及以上的所有等级的信息都写到对应的日志文件里
mail.none	#表示某事件的信息不写到日志文件里(这里比如是邮件)

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

4) El formato del registro

#公共日志/var/log/messages 文件的记录格式
时间标签:消息发出的日期和时间。
主机名:生成消息的计算机的名称。
子系统名称:发出消息的应用程序的名称。
消息:消息的具体内容。

Inserte la descripción de la imagen aquí

5) Registro de usuario

  • Registrar la información relacionada con el inicio y cierre de sesión del usuario del sistema
    / var / log / secure: Registra la información de eventos de seguridad relacionada con la autenticación del usuario.
    / var / log / lastlog: registra los últimos eventos de inicio de sesión de cada usuario. Formato binario
    / var / log / wtmp: registra cada inicio de sesión de usuario, cierre de sesión y eventos de inicio y apagado del sistema. Formato binario
    / var / run / btmp: registro fallido, intentos de inicio de sesión incorrectos y eventos de verificación. Formato binario

  • Usuarios de las herramientas de análisis , who, w, last, lastb
    last comando se usa para consultar los registros de usuario de
    inicios de sesión exitosos en el sistema. Lastb command se usa para consultar los registros de usuario de inicio de sesión fallido

6) Registro del programa

  • Archivos de registro administrados de forma independiente por varias aplicaciones, el formato de registro no es uniforme

    • Servicio web: Nar / log / httpd /
      • access_log // Registra los eventos de acceso de los clientes
      • error_log // Registra los eventos de error
    • Servicio de proxy: / var / log / squid /
      • access.log 、 cache.log
  • herramienta de análisis

    • Vista de texto, búsqueda de filtro grep, vista en la suite de administración de Webmin
    • Herramientas de edición, formato y filtrado de texto como awk y sed
    • Webalizer, Awstats y otras herramientas de análisis de registros dedicadas

7) Resumen de registro común

常见的一些日志文件:
#内核及公共消息日志:
/var/log/messages:记录Linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。

#计划任务日志:
/var/log/cron:记录crond计划任务产生的事件信息。

#系统引导日志:
/var/log/dmesg:记录Linux系统在引导过程中的各种事件信息。

#邮件系统日志:
/var/log/maillog:记录进入或发出系统的电子邮件活动。

#用户登录日志:
/var/log/secure:记录用户认证相关的安全事件信息。
/var/log/lastlog:记录每个用户最近的登录事件。二进制格式
/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。二进制格式
/var/run/btmp:记录失败的、错误的登录尝试及验证事件。二进制格式

3. Gestión de registros

  • Copia de seguridad y archivo oportunos
  • Extienda el período de retención de registros
  • Control de acceso al registro
    • Los registros pueden contener diversa información confidencial, como cuentas, contraseñas, etc.
  • Gestión centralizada de registros
    • Envíe el archivo de registro del servidor al servidor de archivos de registro unificado
    • Facilitar la recopilación, clasificación y análisis unificados de información de registro
    • Evite la pérdida accidental, la manipulación malintencionada o la eliminación de información de registro

Supongo que te gusta

Origin blog.csdn.net/weixin_51326240/article/details/110721613
Recomendado
Clasificación