
day1 FTP文件服务器服务器初始化企业场景公司新上线一台 Linux 文件服务器需要完成服务器初始化并部署 FTP 文件服务。要求不同类型的用户拥有不同的访问权限同时对 FTP 访问进行安全控制。任务 1服务器初始化企业需求注意需要重装操作系统最小化安装之后开始做下面流程。新服务器交付运维人员后需要完成标准化初始化配置主机名rick配置网络配置国内 Yum 源关闭不需要的服务配置时间同步创建企业运维用户配置 SSH 远程登录配置 sudo 权限配置防火墙检查系统基础状态安装常用运维工具遇到的问题报错根源drm_kms_helper: flip_done timed outdrm_kms_helperLinux 内核图形显卡驱动模块场景VMware CentOS7 最小化安装无桌面本质虚拟机虚拟显卡模块持续超时不影响网络、用户、yum、chrony 等所有运维功能只是控制台刷屏属于 VMware CentOS7 经典 bug解决方法临时关闭控制台打印# 把内核日志级别调高不在终端输出报错 dmesg -n 1要求初始化完成后服务器必须能够正常SSH 远程登录Yum 安装软件时间正常同步运维用户执行指定管理操作网络正常防火墙策略正常任务 2FTP 服务器部署企业需求公司需要搭建 FTP 文件服务器满足以下三类业务场景场景一匿名用户用于企业内部公共资料下载。要求实验准备允许匿名用户登录匿名用户只能下载匿名用户不能删除服务器文件配置公共资料目录遇到的问题1.给/var/ftp/public777权限匿名用户依然不能上传删除文件2.如图报错解决方法1.给/var/ftp/public755权限2.给var/var/ftp/public更改属组为root场景二用户名 密码登录公司内部员工需要上传和下载业务文件。要求创建 FTP 业务用户用户必须使用用户名 密码登录用户只能访问自己的目录默认用户只能访问自己的目录可以上传、下载文件默认用户可以上传、下载文件不能访问其他用户目录遇到的问题530报错ftpuser没法登录查grep ftpuser /etc/passwdftpuser:x:1003:1003::/home/ftpuser:/sbin/nologin末尾是/sbin/nologin这就是 530 登录报错的元凶。 CentOS7 vsftpd 默认 PAM 认证规则用户 shell 必须在/etc/shells列表内/sbin/nologin不在里面直接拒绝 FTP 登录就算密码完全正确也报530 Login incorrect解决方案执行这条命令修改用户 shellusermod -s /bin/bash ftpuser把 ftpuser 的登录 shell 改成/bin/bash这个 shell 在系统允许列表里FTP 就可以正常登录了。场景三FTP 黑白名单企业安全部门要求只有指定 IP 地址可以访问 FTP其他 IP 禁止访问。要求完成如果没有先 yum install tcp_wrappers配置vsftpd文件启用tcp_wrappers配置 FTP 白名单测试白名单 IP 可以访问测试非白名单 IP 无法访问根据企业安全要求调整访问策略按需修改黑白名单验证要求至少完成匿名用户 → 登录测试 → 下载测试普通用户 → 登录测试 → 上传测试 → 下载测试非法用户 → 登录失败测试白名单 IP → 访问成功非白名单 IP → 访问失败day2 阿里云企业部署ECS部署企业场景公司准备将部分业务迁移到阿里云需要运维人员完成基础云资源创建及网络配置。任务 1创建 VPC企业需求创建一个企业专用 VPC 网络。要求创建 VPC规划企业网段记录 VPC 网段记录 VPC 名称任务 2创建交换机在同一个 VPC 中创建两个不同区域的交换机。例如企业要求两个交换机必须属于同一个 VPC不同可用区不同交换机网段任务 3购买 ECS企业需求购买两台 ECS 服务器ECS01 → 交换机 A图片为ecs_aECS02 → 交换机 B同理可得ecs_b要求完成ECS 购买选择操作系统配置 CPU/内存配置磁盘配置安全组配置登录方式获取公网 IP任务 4实现不同区域服务器互通企业需求公司要求ECS01和ECS02虽然部署在不同可用区、不同交换机但必须能够进行内网通信。要求完成ECS01 │ 交换机 A │ VPC │ 交换机 B │ ECS02实现ping ECS02内网IP并验证ssh ECS02内网IP验证要求至少证明ECS01 可以访问 ECS02ECS02 可以访问 ECS01两台服务器可以 SSH 通信安全组规则符合企业要求根据需求放行疑问为什么两个不同区的网络能直接相互通讯阿里云 VPC专有网络是一个独立的私有网络同一个 VPC 内不管 ECS 放在哪个可用区、哪个子网交换机VPC 自带的路由表默认就已经配置好了子网互通路由内网流量在阿里云机房内部骨干网转发不走公网所以能直接通信。day3 企业服务器性能故障处理课程目标监控 压测 调优进行企业故障场景处理。课程中的性能分析思路是按照 CPU → 内存 → 磁盘 IO → 网络 → 应用 进行观察和定位。场景 1服务器 CPU 持续高负载企业故障运维人员收到告警服务器 CPU 使用率持续升高业务访问变慢。要求人为制造 CPU 压力stress -c 2 -t 60启动 2 个 CPU 压力进程-c持续压 60 秒要求完成找出 CPU 占用最高的进程top实时查看cpu占用情况分析 load average平均1、5、15分别为1.320.640.28说明近一分钟压力激增结合命令占用两个完整cpu可知平均一分钟压力应该是往2靠的查看每个 CPU 核心状态top页面中按1查看每个cpu核心情况可以看到其中cpu1和cpu4被占用满判断是否属于 CPU 瓶颈属于且属于用户态计算瓶颈给出处理方案查看异常占用高cpu的进程是哪些kill无用的进程场景 2服务器内存不足企业故障业务服务器运行一段时间后系统可用内存越来越少部分业务响应变慢。要求制造内存压力stress -m 2 --vm-bytes 512M -t 60启动 2 个内存压力进程-m每个进程申请 512M 内存--vm-bytes持续 60 秒-t重点判断系统是否出现内存不足以及 Swap 压力没有出现内存不足或swap压力当把内存压力进程加到8个时虚拟机突然卡顿物理可用内存剩余不到400Mswap使用了约1.4G出现内存不足以及swap压力场景 3服务器磁盘 IO 过高企业故障业务服务器访问突然变慢CPU 并没有明显异常但是系统 IO 等待升高。要求制造磁盘 IOdd if/dev/zero of/test.dbf bs1M count1024 oflagdirectdd底层块复制工具制造压测文件参数1.if/dev/zeroif input file输入源/dev/zeroLinux 虚拟设备会源源不断输出二进制 0空数据专门用来生成测试数据不占用磁盘读 IO。2.of./test.dbfof output file输出文件./test.dbf在当前目录创建名叫test.dbf的文件写入的数据全部存到这个文件。3.bs1Mbs block size块大小单次读写的数据块大小每次一次性写入 1MB 的数据。4.count1024总共读写多少次块总数据量 bs × count1M × 1024 1024MB 1GB5.oflagdirectoflag输出文件的属性标记direct绕过操作系统 Page Cache内存缓存不加这个参数数据先写到内存缓存很快就返回成功后台慢慢落盘不会产生真实磁盘压力达不到模拟磁盘 IO 故障的目的。 加了 direct数据跳过内存缓存直接写入物理磁盘真正打满磁盘 IO产生 iowait (wa) 升高。要求完成找出哪个磁盘 IO 最高sda对应逻辑卷dm-0哪个进程产生 IO用iotop -oP命令查看pid为6498的dd进程产生IOwa 是否升高升高%iowait从0升到2.64是否存在磁盘 IO 瓶颈存在%util84.30%awaitiio总等候时间1.19mssvctm磁盘硬件实际处理io耗时0.91msawaitsvctm说明存在io排队场景 4服务器网络流量异常企业故障IDC 收到流量告警发现服务器对外网络流量突然增加需要运维人员定位异常进程。iperf3 -c IP -t 60iperf3IP 网络性能测试工具-cclient 客户端模式后面接服务端 IP-t 60持续压测60 秒60s 后自动停止要求找出哪块网卡流量异常sar -n DEV 1ens33异常哪个进程占用网络带宽nethogsiperf3占用网络宽带判断是否属于正常业务iperf3不属于正常服务是压测工具如果属于异常程序制定处理方案使用nethogs查到异常占用流量的进程的PID使用kill -9杀死该进程场景 5Web 服务器高并发企业故障公司 Web 服务器访问量突然增加需要验证服务器在高并发情况下的性能。要求部署 HTTP 服务然后进行ab -n 5000 -c 50 http://服务器IP/ab模拟大量用户并发访问 Web 服务-n 5000总请求数一共发送 5000 次 HTTP 请求-c 50并发数同时模拟 50 个用户并发发起请求http://服务器IP/被测 Web 服务地址Web 服务器首页故障观察要求分析CPU 变化近期平均负载激增网络变化传输速率6694.94 Kbytes/sec并发变化50条并发响应时间平均响应时长36.962msFailed Requests错误请求0是否存在性能瓶颈暂时没有性能瓶颈场景 6服务器资源综合压力企业故障公司业务高峰期服务器同时出现 CPU、内存、IO 压力需要运维人员判断主要瓶颈。要求执行stress-ng --cpu 2 --vm 2 --vm-bytes 256M --io 2 --timeout 60s使用 stress-ng 命令同时模拟 CPU、内存、磁盘 IO 混合压力参数说明--cpu 2 启动 2 个 CPU 压力进程--vm 2 --vm-bytes 256M 启动 2 个内存压力进程每个占用 256M 内存--io 2 启动 2 个磁盘 IO 压力进程--timeout 60s 压力持续 60 秒。本次混合压力场景磁盘 IO 最可能成为首要瓶颈。原因stress-ng 的 io 工作进程持续读写磁盘磁盘读写速度远低于 CPU 和内存容易产生 iowait造成进程阻塞本次内存占用总量小CPU 压力进程数量少网络无压力因此磁盘 IO 优先触达性能瓶颈。总结day1复习linux系统基础指令day2购买阿里云服务器day3预习压测相关命令