源动力
源动力
发布于 2025-10-04 / 20 阅读
0
0

Linux 系统管理与运维全面指南

本文整理了 Linux 系统管理、网络配置、性能优化和安全加固的全面参考资料,适合系统管理员和运维工程师日常使用。

一、系统监控与性能分析

1. 实时监控命令


# 系统整体监控

top        # 经典系统监控工具

htop       # 增强版top(需安装)

atop       # 高级监控工具

glances    # 综合监控工具

# 内存监控

free -h    # 查看内存使用情况

vmstat 1   # 每秒输出一次系统状态

# CPU监控

mpstat 1   # CPU统计信息

sar -u 1   # 系统活动报告

# 磁盘I/O监控

iostat -x 1         # 磁盘I/O统计

iotop               # 磁盘I/O进程监控

sar -b 1            # I/O活动统计

# 网络监控

nethogs             # 按进程监控网络流量

iftop               # 实时网络带宽监控

bmon                # 网络带宽监控工具

2. 系统信息查看


# 硬件信息

lscpu               # CPU架构信息

lsblk               # 块设备信息

lspci               # PCI设备信息

lsusb               # USB设备信息

# 系统信息

uname -a            # 系统内核信息

hostnamectl         # 主机名和信息

cat /etc/os-release # 系统版本信息

# 内存信息

cat /proc/meminfo   # 详细内存信息

cat /proc/cpuinfo   # 详细CPU信息

# 内核参数

sysctl -a           # 查看所有内核参数

3. 日志分析


# 常用日志文件

/var/log/messages   # 系统主日志文件

/var/log/syslog     # 系统日志

/var/log/auth.log   # 认证日志

/var/log/secure     # 安全日志(RedHat系)

/var/log/dmesg      # 内核日志

# 日志分析命令

tail -f /var/log/messages      # 实时跟踪日志

grep "error" /var/log/messages # 搜索错误信息

journalctl -f                  # systemd日志实时查看

journalctl --since "2023-01-01" --until "2023-01-02"

journalctl -u nginx.service    # 查看特定服务日志

二、磁盘与文件系统管理

1. 磁盘分区与管理


# 磁盘分区

fdisk -l              # 查看分区表

parted -l             # 查看分区信息

cfdisk                # 交互式分区工具

# 文件系统创建

mkfs.ext4 /dev/sdb1   # 创建ext4文件系统

mkfs.xfs /dev/sdb2    # 创建XFS文件系统

# 磁盘检查修复

fsck /dev/sda1        # 检查修复文件系统

xfs_repair /dev/sdb2  # 修复XFS文件系统

# 磁盘挂载

mount /dev/sdb1 /mnt/data   # 挂载磁盘

umount /mnt/data           # 卸载磁盘

# 自动挂载配置

blkid                      # 查看磁盘UUID

# 编辑 /etc/fstab 添加自动挂载

2. LVM 逻辑卷管理


# 物理卷管理

pvcreate /dev/sdb          # 创建物理卷

pvdisplay                  # 显示物理卷

# 卷组管理

vgcreate vg_data /dev/sdb  # 创建卷组

vgdisplay                  # 显示卷组

# 逻辑卷管理

lvcreate -L 100G -n lv_data vg_data  # 创建逻辑卷

lvdisplay                              # 显示逻辑卷

# 扩展逻辑卷

lvextend -L +50G /dev/vg_data/lv_data  # 扩展逻辑卷

resize2fs /dev/vg_data/lv_data         # 调整文件系统大小

3. RAID 阵列管理


# 创建RAID阵列

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc

# RAID管理

mdadm --detail /dev/md0    # 查看RAID详情

mdadm --stop /dev/md0      # 停止RAID阵列

mdadm --assemble /dev/md0  # 重新组装RAID

# 监控RAID状态

cat /proc/mdstat          # 查看RAID状态

三、网络配置与诊断

1. 网络配置


# 网络接口配置

ip addr show              # 显示IP地址

ip link show              # 显示网络接口

# 路由配置

ip route show             # 显示路由表

ip route add default via 192.168.1.1  # 添加默认路由

# 网络绑定(Bonding)

# 编辑 /etc/network/interfaces 或 /etc/sysconfig/network-scripts/

2. 网络诊断工具


# 连通性测试

ping example.com          # ICMP连通性测试

traceroute example.com    # 路由跟踪

mtr example.com          # 增强版路由跟踪

# 端口扫描

nmap example.com          # 基本扫描

nmap -p 1-1000 example.com # 指定端口范围扫描

nmap -A example.com       # 激进扫描

# 网络统计

netstat -tuln             # 监听端口

ss -tuln                  # 新式监听端口查看

netstat -s                # 网络统计信息

# 带宽测试

iperf3 -s                 # 服务器端

iperf3 -c server_ip       # 客户端

3. 网络性能优化


# 内核网络参数优化

sysctl -w net.core.rmem_max=16777216

sysctl -w net.core.wmem_max=16777216

sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"

sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"

# 连接跟踪优化

sysctl -w net.netfilter.nf_conntrack_max=1000000

四、系统安全与加固

1. 用户与权限管理


# 用户管理

useradd username          # 添加用户

passwd username           # 设置密码

usermod -aG groupname username  # 添加用户到组

# 权限管理

chmod 600 filename       # 设置文件权限

chown user:group filename # 更改文件所有者

# Sudo配置

visudo                   # 编辑sudo配置

2. SSH 安全配置


# SSH服务器配置(/etc/ssh/sshd_config)

Port 2222                # 更改默认端口

PermitRootLogin no       # 禁止root登录

PasswordAuthentication no  # 禁用密码认证

AllowUsers username      # 只允许特定用户

# SSH密钥管理

ssh-keygen -t rsa        # 生成密钥对

ssh-copy-id user@host    # 部署公钥

3. 系统审计与监控


# 审计工具配置

auditctl -l              # 查看审计规则

aureport -l              # 生成审计报告

# 文件完整性检查

aide                    # 高级入侵检测环境

tripwire               # 文件完整性检查工具

# 进程监控

psad                   # 端口扫描检测

fail2ban              # 防止暴力破解

五、备份与恢复

1. 文件备份


# tar备份

tar -czvf backup-$(date +%Y%m%d).tar.gz /path/to/backup

# rsync同步

rsync -avz --delete source/ user@host:destination/

# dd完整磁盘备份

dd if=/dev/sda of=/backup/sda.img bs=4M

# 增量备份

rsnapshot             # 基于rsync的增量备份工具

2. 数据库备份


# MySQL备份

mysqldump -u root -p --all-databases > full-backup.sql

# PostgreSQL备份

pg_dumpall > full-backup.sql

# MongoDB备份

mongodump --out /backup/mongodb-$(date +%Y%m%d)

3. 恢复策略


# 文件恢复

tar -xzvf backup.tar.gz -C /restore/path

# MySQL恢复

mysql -u root -p < full-backup.sql

# 磁盘恢复

dd if=/backup/sda.img of=/dev/sda bs=4M

六、容器与虚拟化

1. Docker 容器管理


# 容器生命周期

docker run -d --name myapp nginx:latest

docker stop myapp

docker start myapp

docker restart myapp

docker rm myapp

# 容器监控

docker stats

docker logs myapp

docker inspect myapp

# 资源限制

docker run -d --memory=512m --cpus=1 nginx:latest

2. Kubernetes 集群管理


# 集群管理

kubectl cluster-info

kubectl get nodes

# 资源管理

kubectl get pods --all-namespaces

kubectl describe pod pod-name

# 应用部署

kubectl apply -f deployment.yaml

kubectl scale deployment myapp --replicas=3

3. 虚拟化管理


# KVM管理

virsh list --all         # 列出所有虚拟机

virsh start vmname       # 启动虚拟机

virsh shutdown vmname    # 关闭虚拟机

# VirtualBox管理

VBoxManage list vms      # 列出虚拟机

VBoxManage startvm vmname  # 启动虚拟机

七、故障排查与修复

1. 系统启动问题


# 启动修复

journalctl -xb           # 查看启动日志

systemctl --failed       # 查看失败的服务

# 救援模式

chroot /mnt/sysimage     # 进入救援环境

fsck -y /dev/sda1        # 修复文件系统

# 内核参数调整

grub2-editenv list       # 查看GRUB环境变量

2. 性能问题排查


# CPU问题

pidstat 1               # 进程CPU使用率

perf top                # 性能分析

# 内存问题

vmstat 1                # 内存使用统计

slabtop                 # 内核slab缓存

# I/O问题

iostat -x 1             # I/O统计

blktrace                # 块设备跟踪

3. 网络问题排查


# 连接问题

tcpdump -i eth0 port 80  # 抓包分析

tshark -i eth0           # Wireshark命令行版

# DNS问题

dig example.com          # DNS查询

nslookup example.com     # 域名解析

# 防火墙问题

iptables -L -n -v        # 查看iptables规则

firewall-cmd --list-all  # 查看firewalld配置

八、自动化与脚本编写

1. Shell 脚本技巧


#!/bin/bash

# 脚本调试

set -e                  # 遇到错误退出

set -x                  # 显示执行的命令

# 日志记录

exec > >(tee -a /var/log/script.log) 2>&1

# 错误处理

trap 'echo "Error at line $LINENO"; exit 1' ERR

# 参数处理

while getopts "a:b:" opt; do

  case $opt in

    a) arg1=$OPTARG ;;

    b) arg2=$OPTARG ;;

    \?) echo "Invalid option: -$OPTARG" >&2 ;;

  esac

done

2. 计划任务管理


# Cron配置

crontab -l              # 查看当前任务

crontab -e              # 编辑任务

# Systemd定时器

systemctl list-timers    # 查看systemd定时器

这份全面的 Linux 系统管理指南涵盖了从基础操作到高级运维的各个方面,适合不同水平的系统管理员参考使用。建议根据实际需求选择合适的技术和工具。


评论

页脚信息显示系统