【Linux运维】磁盘告警排查过程及常用磁盘命令

目录

查看服务器总磁盘大小

磁盘占用大小Top10

磁盘清理、磁盘扩容

引申技术点

常用磁盘命令

查看总磁盘

查看磁盘占用大小top10

Linux 中的/var/log/journal/ 是什么,主要用于存放什么日志?

journalctl 命令参数详解及vacuum-size指定journal日志大小

Linux常见路径作用


查看服务器总磁盘大小

df -h 会显示服务器上每个挂载点的磁盘使用情况,包括总磁盘空间、已用空间和可用空间。选项 -h 以人类可读的方式显示磁盘大小。

如下可知 总磁盘接近200G

[footstone@apigatewaystorm02 ~]$ df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/vda1        99G   82G   12G  88% /

devtmpfs         16G     0   16G   0% /dev

tmpfs            16G     0   16G   0% /dev/shm

tmpfs            16G  488K   16G   1% /run

tmpfs            16G     0   16G   0% /sys/fs/cgroup

tmpfs           3.2G     0  3.2G   0% /run/user/1000

tmpfs           3.2G     0  3.2G   0% /run/user/0

磁盘占用大小Top10

du -h / | sort -rh | head -n 10 

由次命令发现/var占用86G的磁盘空间,因为/var主要用于存放linux 变量文件如日志文件、数据库文件、邮件队列等。所以/var下肯定是例如日志 通过设置logrotate定期清理的。部分服务经常忽略该配置,所以长期下来便会消耗很多磁盘空间。

基于这种思路,则可指定/var 依次向下寻找 看具体哪个路径占用空间较大。确定清理的源头。通过排查 /var/log下有3G的storm日志、及5G的/var/log/journal/可执行清理。

[footstone@apigatewaystorm01 /]$ du -h --max-depth=1 /var | sort -rh | head -n 10

86G /var

59G /var/lib

27G /var/log

364M /var/cache

108K /var/tmp

100K /var/spool

20K /var/db

12K /var/kerberos

8.0K /var/empty

4.0K /var/yp

磁盘清理、磁盘扩容

引申技术点

常用磁盘命令

查看总磁盘

df -h

会显示服务器上每个挂载点的磁盘使用情况,包括总磁盘空间、已用空间和可用空间。选项 -h 以人类可读的方式显示磁盘大小。

du -sh /path/to/directory

使用 du(disk usage 命令查看特定目录或文件夹的磁盘使用情况,这会显示指定目录的磁盘使用情况,包括总大小。将 /path/to/directory 替换为你要检查的目录的路径

lsblk

使用 lsblk 命令查看块设备信息,包括硬盘和分区的详细信息以及它们的大小、挂载点等信息。

[root@tencent-beta17 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0     11:0    1  8.8M  0 rom
vda    253:0    0  500G  0 disk
└─vda1 253:1    0  500G  0 part /
fdisk -l

parted -l

使用 fdiskparted 命令来查看分区信息,会列出服务器上的磁盘和分区的详细信息,包括分区类型、大小和挂载点。

查看磁盘占用大小top10

可以使用 du命令结合 sorthead 命令来列出磁盘上占用空间最大的文件或目录的 top 10 列表

du -h /path/to/search | sort -rh | head -n 10

  • du -h /path/to/search 用于计算指定目录(/path/to/search 替换为你的目标path)下的每个文件和目录的磁盘使用情况,并以人类可读的格式显示结果。
  • sort -rh , -r 选项表示反向排序,从大到小;-h 选项表示按人类可读格式的数字大小排序。
  • head -n 10 用于显示排序后的结果中的前 10 条记录。

Linux的journal service

Linux 中的/var/log/journal/ 是什么,主要用于存放什么日志?

/var/log/journal/ 目录是 systemd-journald 服务的默认日志存储位置,用于存放 systemd 日志。

这些日志文件使用了一种二进制格式(*.journal)进行存储,而不是传统的文本格式(如 /var/log/messages)。这种二进制格式的日志文件具有更高的性能和更好的可读性。

journalctl 命令参数详解及vacuum-size指定journal日志大小

通过使用 journalctl 命令,可以访问和查询这些日志文件。

journalctl 是一个 Linux 系统日志查询工具,用于查看系统日志。

-u <unit>:仅显示与指定单元(unit)相关的日志。单元可以是一个系统服务、套接字、挂载点等。
-b 或 --boot=<ID>:仅显示指定引导 ID 相关的日志。可以使用数字(如 -b 0 表示当前引导)或 reboot-time(最后一次引导)。
-p <priority>:仅显示指定优先级的日志。优先级可以是一个整数或一个优先级名称(如 emerg、alert、crit、err、warning、notice、info、debug)。
-k 或 --dmesg:仅显示内核日志。
-n <num> 或 --lines=<num>:仅显示指定数量的日志条目。
-f 或 --follow:持续输出新的日志条目,类似于 tail -f 命令。
-o <format> 或 --output=<format>:指定输出格式。支持的格式有 short、short-iso、short-precise、short-iso-precise、verbose、export 和 json。
--since=<date>:仅显示指定日期之后的日志。
--until=<date>:仅显示指定日期之前的日志。
--disk-usage:显示日志的磁盘使用情况统计。
--list-boots:显示可用的引导 ID 列表。

其中,journalctl --vacuum-size 可用于设置系统日志的磁盘空间限制。如上问题,/var/log/journal/下日志文件过大,那便可设定journalctl --vacuum-size=500M,因为系统日志会随时间不断增长占用磁盘空间。--vacuum-size 参数可以帮助限制日志占用的磁盘空间大小。通过指定一个大小值,journalctl 将删除旧的日志条目,以使日志保持在指定的大小范围内。

用法示例:journalctl --vacuum-size=500M。

在上述示例中,500M 是一个大小值,表示磁盘空间的限制为500M。当日志大小超过这个限制时,journalctl 将删除一些旧的日志条目,以减小日志的总体大小。

--vacuum-size 参数只控制日志的总体大小,并不会删除特定时间范围内的日志条目。如果你需要根据时间来删除日志条目,请使用 --since 和 --until 参数。

Linux常见路径作用

/(根目录):根目录是整个文件系统的起点,包含了所有其他文件和目录。它是 Linux 文件系统的顶级目录。

/bin(二进制文件):这个目录包含系统启动和维护所需的二进制可执行文件,如 shell 命令和系统工具。

/etc(配置文件):系统配置文件存放在这个目录中,包括各种应用程序和服务的配置文件,网络配置、用户帐户信息等。

/home(用户主目录):每个用户的主目录都位于此目录下,通常以用户名命名。用户在这里存储自己的文件和配置。

/var(变量文件):这个目录包含经常变化的数据,如日志文件、数据库文件、邮件队列等。

/tmp(临时文件):这个目录用于存储临时文件,通常在系统重启时会清空。

/dev(设备文件):这个目录包含系统中的设备文件,用于与硬件设备通信,如磁盘驱动器、键盘、鼠标等。

/proc(进程信息):这个虚拟目录包含系统内核和正在运行的进程的信息,可用于监控和管理系统状态。

/sys(系统文件):类似于 /proc,这个目录包含有关系统硬件和内核参数的信息。

/lib 和 /lib64(库文件):这些目录包含共享库文件,用于程序的运行时链接。

/usr(用户系统资源):这个目录通常包含用户安装的应用程序、库文件、文档和其他资源。它包含了用户级的系统文件。

/opt(可选软件包):用于存放可选的应用程序或软件包,通常由用户或管理员手动安装。

/mnt(挂载点):这个目录用于临时挂载其他文件系统,如外部硬盘、网络共享等。

/srv(服务数据):包含服务所需的数据,例如网站数据或文件共享服务的数据。

/boot(引导文件):包含引导加载程序(bootloader)和内核文件,用于系统的引导过程。

珍视排查一个看似简单问题的过程,通过排查问题,记录问题的排查思路,引申出新的知识点,并且回顾旧有知识, 温故知新 不断夯实沉淀。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统的运维排查错误思路主要包括以下步骤: 1. 状态检查:首先,需要检查服务器的硬件和网络状态,包括CPU、内存、硬盘等是否正常运行。通过查看系统日志和执行命令如top、dmesg、ifconfig等,可以获取相关信息。 2. 进程和服务检查:检查系统中运行的进程和服务是否正常。使用命令如ps、netstat、systemctl等,查看是否有异常或启动失败的进程,以及监听的端口是否正常。 3. 网络连接检查:通过使用命令如ping、traceroute、telnet等,检查服务器与其他主机之间的网络连接是否正常。可以排查网络问题,如是否能够正常访问互联网、与其他主机是否能够建立连接等。 4. 文件系统检查:检查文件系统是否存在错误或损坏。使用命令如df、du、fsck等,查看文件系统的使用情况和磁盘空间是否足够,以及修复文件系统错误。 5. 日志分析:仔细分析系统和应用程序的日志,以找出可能的错误原因。特别关注错误日志和警告信息,定位问题所在并解决。 6. 配置文件检查:检查系统和应用程序的配置文件是否正确。例如,检查网络配置、服务配置、权限配置等。如果有错误配置,及时进行修复。 7. 安全检查:检查系统是否受到了恶意攻击或存在安全漏洞。通过使用命令如netstat、grep、iptables等,查看网络连接情况和日志,及时发现并处理安全问题。 8. 性能优化:分析系统性能问题,查找系统资源的瓶颈。通过使用命令如top、vmstat、sar等,了解系统的负载情况和性能指标,进行相应的优化。 9. 更新和升级:及时更新系统和应用程序的补丁和版本,修复已知的漏洞和问题,提高系统的稳定性和安全性。 总结来说,对于Linux系统的运维排查错误,需要综合利用各种命令和工具,结合分析日志和配置文件,找出问题的根源,然后采取相应的措施解决问题。同时,定期进行系统维护和更新,保持系统的稳定性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值