运维笔记:系统基础

一、操作系统概述

操作系统是管理计算机硬件与软件资源的核心程序,它为应用程序提供运行环境,同时负责处理硬件分配、进程调度、内存管理等关键任务。在运维领域,操作系统的选择直接影响系统的稳定性、安全性和性能,常见的操作系统主要分为 Linux、Windows Server 两大类。其中,Linux 凭借开源免费、高度可定制、稳定性强等特点,在服务器领域占据主导地位;Windows Server 则以易用性和对 Windows 生态的良好支持,在部分企业级应用中得到广泛应用。

二、Linux 系统深入解析

2.1 主流 Linux 发行版特点及应用场景

  • CentOS:基于 Red Hat Enterprise Linux(RHEL)源代码编译而成,完全兼容 RHEL,稳定性极高,是企业级服务器的常用选择,尤其在传统服务器环境中应用广泛。不过,CentOS 8 已于 2021 年底停止维护,后续衍生版本如 Rocky Linux、AlmaLinux 成为替代选择。
  • Ubuntu Server:以 Debian 为基础,更新频繁,对新技术支持较好,在云计算、容器化环境中应用较多,社区活跃,文档丰富,适合快速部署和开发测试场景。
  • Debian:以稳定性和安全性著称,软件包管理严格,适合对系统稳定性要求极高的场景,如金融、科研领域的服务器。
  • SUSE Linux Enterprise Server(SLES):在欧洲市场应用广泛,对企业级应用支持完善,尤其在虚拟化和云计算方面有一定优势。

2.2 深入理解 Linux 文件系统

Linux 采用树形目录结构,根目录 “/” 是所有目录和文件的起点,各子目录有着明确的功能定位:

  • /bin:存放系统必备的二进制可执行文件,如ls、cp等,普通用户可执行。
  • /sbin:存放系统管理所需的二进制可执行文件,如ifconfig、reboot等,通常只有 root 用户可执行。
  • /etc:包含系统所有配置文件,如网络配置(/etc/network/interfaces)、用户配置(/etc/passwd)、服务配置(/etc/systemd/system)等,对系统运维至关重要。
  • /home:普通用户的主目录,每个用户在该目录下有一个以用户名命名的子目录,用于存放用户个人文件和配置。
  • /root:root 用户的主目录,不同于普通用户,root 用户主目录直接位于根目录下。
  • /var:用于存放经常变化的数据,如日志文件(/var/log)、邮件(/var/spool/mail)、缓存文件(/var/cache)等,该目录需要足够的磁盘空间。
  • /tmp:临时文件目录,系统重启后该目录下的文件会被清空,所有用户均可读写。
  • /usr:存放用户应用程序和文件,类似于 Windows 的 “Program Files” 目录,其中/usr/bin存放用户常用命令,/usr/lib存放程序运行所需的库文件。
  • /proc:虚拟文件系统,不占用实际磁盘空间,包含系统进程和硬件的实时信息,如/proc/cpuinfo显示 CPU 信息,/proc/meminfo显示内存信息。

2.3 高级文件操作与权限管理

  • 文件查找与处理
    • find:强大的文件查找命令,可根据文件名、大小、修改时间等条件查找文件。例如,find /home -name "*.txt"在/home目录下查找所有以.txt结尾的文件;find / -size +100M查找系统中大于 100MB 的文件。
    • xargs:与find等命令配合使用,将前一个命令的输出作为后一个命令的参数。例如,find /tmp -name "temp*" | xargs rm -f删除/tmp目录下所有以 “temp” 开头的文件。
    • file:查看文件类型,如file test.txt显示test.txt是文本文件还是二进制文件。
  • 权限管理进阶
    • 特殊权限:除了读(r)、写(w)、执行(x)权限外,Linux 还有 Set UID(SUID)、Set GID(SGID)、Sticky Bit 三种特殊权限。
      • SUID:当一个可执行文件设置了 SUID 权限,用户执行该文件时会以文件所有者的身份运行。例如,passwd命令设置了 SUID 权限,普通用户执行时能临时获得 root 权限修改密码。设置命令:chmod u+s file。
      • SGID:对文件设置 SGID,执行文件时以文件所属组的身份运行;对目录设置 SGID,该目录下新建的文件和目录继承所属组。设置命令:chmod g+s file/dir。
      • Sticky Bit:通常用于公共目录,如/tmp,设置后只有文件所有者和 root 用户能删除该目录下的文件。设置命令:chmod +t dir。
    • 访问控制列表(ACL):当基本权限无法满足复杂的权限管理需求时,可使用 ACL 进行更精细的权限控制。例如,setfacl -m u:test:rwx /data给用户test赋予/data目录的读、写、执行权限;getfacl /data查看/data目录的 ACL 权限。

2.4 进程与服务管理深度剖析

  • 进程状态与优先级:进程在 Linux 中有多种状态,包括运行(R)、睡眠(S)、僵尸(Z)、停止(T)等。ps aux命令可查看进程状态,其中STAT列表示进程状态。进程优先级通过 nice 值控制,范围为 - 20(最高优先级)到 19(最低优先级)。使用nice命令启动进程时设置优先级,如nice -n 5 ./program以 nice 值 5 启动program程序;renice命令调整正在运行的进程优先级,如renice 10 -p 1234将 PID 为 1234 的进程 nice 值改为 10。
  • systemd 服务管理:目前主流 Linux 发行版均采用 systemd 作为系统初始化系统,替代了传统的 SysV init。
    • 服务单元文件:存放于/etc/systemd/system和/usr/lib/systemd/system目录,以.service为后缀,定义了服务的启动脚本、依赖关系等。例如,nginx 服务的单元文件nginx.service包含[Unit](描述信息和依赖)、[Service](服务启动命令、用户等)、[Install](安装信息)等部分。
    • 常用命令:systemctl enable nginx设置 nginx 服务开机自启;systemctl disable nginx取消开机自启;systemctl status nginx查看服务状态,包括是否运行、最近日志等;systemctl restart nginx重启服务;systemctl reload nginx重新加载配置文件,不中断服务。

2.5 Linux 系统启动流程

以采用 systemd 的 Linux 系统为例,启动流程主要包括:

  1. BIOS/UEFI 初始化:计算机开机后,首先进行 BIOS/UEFI 自检,检测硬件设备(如 CPU、内存、硬盘)是否正常,然后从启动设备(通常是硬盘)加载引导程序。
  1. GRUB 引导:GRUB(Grand Unified Bootloader)是主流的引导程序,读取/boot/grub2/grub.cfg配置文件,显示启动菜单,用户选择要启动的内核后,GRUB 将内核和初始化 ramdisk(initramfs)加载到内存。
  1. 内核初始化:内核启动后,检测并初始化硬件设备,挂载临时根文件系统(initramfs),然后切换到实际的根文件系统。
  1. systemd 启动:内核启动完成后,运行/sbin/init,而init是systemd的软链接,因此 systemd 成为第一个进程(PID=1)。systemd 根据default.target(通常链接到multi-user.target或graphical.target)启动相应的服务和程序。
  1. 登录系统:系统启动完成后,显示登录界面,用户通过用户名和密码登录。

三、Windows Server 系统深入解析

3.1 Windows Server 版本及特点

  • Windows Server 2019:支持混合云环境,增强了安全性(如 Windows Defender Advanced Threat Protection)、虚拟化功能(Hyper-V 改进)和容器支持,适合企业级数据中心和云计算场景。
  • Windows Server 2022:基于 Windows Server 2019 构建,进一步提升了安全性(默认启用 TLS 1.3、SMB 加密等)、性能(支持更大的内存和处理器)和云集成能力,是目前最新的稳定版本。

3.2 服务器角色与功能管理

通过服务器管理器可以添加和管理各种服务器角色,常见角色包括:

  • Active Directory Domain Services(AD DS):用于创建和管理域,实现用户、计算机、组的集中管理,是企业网络的核心服务。安装后可创建域控制器,管理域内资源。
  • IIS(Internet Information Services):Web 服务器,用于托管ASP.NET、PHP 等 Web 应用,支持 HTTP、HTTPS、FTP 等协议。可通过 “IIS 管理器” 配置网站、虚拟目录、应用池等。
  • DHCP 服务器:如前文网络管理部分所述,用于自动分配 IP 地址等网络参数,在服务器管理器中添加 DHCP 角色后,需进行授权(在域环境中)并配置作用域。
  • DNS 服务器:负责域名解析,安装后可创建正向查找区域、反向查找区域,添加资源记录(A 记录、CNAME 记录等)。

3.3 注册表管理

注册表是 Windows 系统的核心数据库,存储了系统和应用程序的配置信息。注册表由多个根键组成,如:

  • HKEY_LOCAL_MACHINE(HKLM):存储本地计算机的配置信息,对所有用户有效,包括硬件、软件、系统设置等。
  • HKEY_CURRENT_USER(HKCU):存储当前登录用户的配置信息,如桌面设置、应用程序偏好等。
  • HKEY_USERS:包含所有用户的配置信息,HKCU 是其中的一个子项。
  • HKEY_CLASSES_ROOT(HKCR):存储文件关联、COM 组件等信息,用于确定不同文件类型的打开方式。

修改注册表需谨慎,错误的修改可能导致系统故障。可通过regedit命令打开注册表编辑器进行操作,也可通过命令行工具reg进行管理,如reg add "HKLM\SOFTWARE\Test" /v "ValueName" /t REG_SZ /d "ValueData"添加注册表项。

3.4 事件日志管理

Windows Server 的事件日志记录了系统、应用程序和安全相关的事件,是故障排查和安全审计的重要依据。事件日志分为:

  • 系统日志:记录系统组件的事件,如服务启动 / 停止、硬件故障等。
  • 应用程序日志:记录应用程序产生的事件,如应用程序崩溃、错误信息等。
  • 安全日志:记录与安全相关的事件,如用户登录 / 注销、权限变更、资源访问等,需要适当的权限才能查看。

通过 “事件查看器” 可以查看和筛选事件日志,也可通过命令行工具wevtutil进行管理,如wevtutil qe System /c:10查看系统日志中最近的 10 条事件。

3.5 PowerShell 在 Windows Server 中的应用

PowerShell 是 Windows 系统的命令行外壳和脚本语言,功能强大,适合自动化运维。

  • 常用命令:Get-Service查看服务状态;Start-Service -Name "nginx"启动 nginx 服务;Get-Process查看进程;Stop-Process -Name "notepad"停止记事本进程;Get-ChildItem(类似 Linux 的ls)查看目录内容。
  • 脚本示例:批量启动服务
$services = @("nginx", "mysql", "iisadmin")

foreach ($service in $services) {

if ((Get-Service -Name $service).Status -ne "Running") {

Start-Service -Name $service

Write-Host "服务 $service 已启动"

} else {

Write-Host "服务 $service 已在运行"

}

}

四、系统性能监控与优化

4.1 Linux 系统性能监控工具

  • vmstat:实时监控系统的进程、内存、I/O 等信息。例如,vmstat 2 5每隔 2 秒输出一次统计信息,共输出 5 次。其中,r列表示等待运行的进程数,过高说明 CPU 繁忙;si和so列表示内存交换情况,非零说明内存不足。
  • iostat:监控磁盘 I/O 性能。iostat -x 2显示磁盘的详细 I/O 统计,%util列表示磁盘利用率,接近 100% 说明磁盘 I/O 饱和;await列表示 I/O 请求的平均等待时间,过高可能存在 I/O 瓶颈。
  • sar:系统活动报告工具,可收集和报告 CPU、内存、磁盘、网络等性能数据。例如,sar -u 1 10监控 CPU 使用率,每秒一次,共 10 次;sar -r查看内存使用情况。需要安装sysstat包。
  • htop:top命令的增强版,支持鼠标操作、进程树显示、彩色显示等,更直观地查看系统资源占用情况。

4.2 Windows 系统性能监控工具

  • 性能监视器(Performance Monitor):通过添加计数器(如 CPU 使用率、内存可用字节数、磁盘 I/O 每秒读写次数)实时监控系统性能,可创建数据收集器集记录性能数据供后续分析。
  • 资源监视器(Resource Monitor):整合了 CPU、内存、磁盘、网络的监控信息,能查看每个进程的资源占用详情,方便定位资源瓶颈。
  • 任务管理器:简单直观的监控工具,在 “性能” 标签页可查看 CPU、内存、磁盘、网络的实时使用情况;“详细信息” 标签页可查看进程的 PID、CPU 占用、内存使用等。

4.3 系统优化策略

  • Linux 系统优化
    • CPU 优化:避免进程过度占用 CPU,可通过nice和renice调整进程优先级;关闭不必要的服务,减少 CPU 消耗。
    • 内存优化:合理设置 swap 分区大小,一般为物理内存的 1-2 倍;清理缓存(sync; echo 3 > /proc/sys/vm/drop_caches,谨慎使用);优化应用程序的内存使用,避免内存泄漏。
    • 磁盘 I/O 优化:使用 SSD 替代 HDD 提升 I/O 性能;合理规划文件系统,如大文件适合 XFS 文件系统;避免频繁的小文件读写,可使用缓存工具(如vmtouch)。
  • Windows 系统优化
    • 服务优化:禁用不必要的服务,如 “远程注册表”“打印后台处理程序”(未使用打印机时)等,通过msconfig或服务控制台设置。
    • 启动项优化:减少开机启动程序,在 “任务管理器” 的 “启动” 标签页禁用不必要的启动项。
    • 虚拟内存设置:根据系统内存大小设置合适的虚拟内存,通常为物理内存的 1.5 倍,建议设置在非系统盘。
    • 电源计划:在服务器环境中,选择 “高性能” 电源计划,避免 CPU 降频影响性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值