简介:这份资源是一套面向IT运维、云计算与项目管理方向学习者的选择题练习文档,内容覆盖项目管理流程、金融业务合规、OSI参考模型、VLAN与以太网标准、OpenStack组件、AWS云服务、Docker与Linux命令等核心考点,适合备考相关认证或梳理基础知识体系的读者自测使用。压缩包内共1个docx文件,约23KB,以题目与参考答案的形式呈现,涵盖单选与多选两类题型,涉及路由分层、EBS卷跨可用区迁移、收尾过程顺序、RDS支持的数据库引擎、NAT容器通信吞吐率等具体知识点,便于快速定位薄弱环节。目前已有71人学习下载。读者可借助这份题库检验对云计算与项目管理知识的掌握程度,对照答案理解每个选项的判定依据,适合作为考前冲刺或日常查漏补缺的练习材料。
1. 从一份题库文档说起:这套题到底在考什么
如果你正在准备云计算运维或系统集成相关的认证考试,大概率会遇到这样一份文档:40 道选择填空加 15 道实操题,内容横跨项目管理、网络协议、Linux 系统管理、容器技术和 OpenStack 云平台。这不是一份普通的练习题,它更像是一张技能地图——每一道题背后都对应着真实工作场景中的一个操作环节。
这份题库文档最值得关注的地方在于它的实操题部分。从 eNSP 模拟器配置 VLAN 和静态路由,到 LVM 卷组扩容、NFS 共享挂载、Samba 服务配置,再到 MariaDB 主从同步、Docker 私有仓库搭建和 OpenStack 各组件管理,15 道实操题覆盖了运维工程师日常工作中最高频的操作场景。选择题部分则补充了项目管理流程、AWS 云服务特性和分布式系统理论等知识点。
适合谁看?如果你是刚入行的运维人员,想系统梳理自己的知识盲区;或者你正在备考相关认证,需要一份带答案和操作命令的参考材料;又或者你带新人,想找一份能直接上手练的题目集——这份文档都能派上用场。接下来我会按技术模块拆解,把每类题目的考点、操作逻辑和容易翻车的地方讲清楚。
2. 网络配置实操:VLAN 划分与静态路由的完整命令链
2.1 VLAN 批量创建与端口模式配置
题库第 41 题要求用一条命令在 S5700 交换机上创建 vlan100 和 vlan101,并分别配置网关、trunk 口和 access 口。这道题考的是华为交换机的基本操作逻辑,命令本身不难,但顺序和参数容易出错。
先看完整操作流程:
# 批量创建 VLAN,比逐条创建效率高 [SW1]vlan batch 100 101 # 配置 VLANif 接口地址,这是 VLAN 的网关 [SW1]interface Vlanif 100 [SW1-Vlanif100]ip address 172.16.100.254 24 [SW1]interface Vlanif 101 [SW1-Vlanif101]ip address 172.16.101.254 24 # 配置 trunk 口,只放行 vlan100 [SW1]interface GigabitEthernet 0/0/1 [SW1-GigabitEthernet0/0/1]port link-type trunk [SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 100 [SW1-GigabitEthernet0/0/1]quit # 配置 access 口,划入 vlan101 [SW1]interface GigabitEthernet 0/0/2 [SW1-GigabitEthernet0/0/2]port link-type access [SW1-GigabitEthernet0/0/2]port default vlan 101 [SW1-GigabitEthernet0/0/2]quit这里有几个参数需要说清楚。vlan batch后面跟的是 VLAN ID 列表,用空格分隔,取值范围是 1 到 4094——题库第 23 题专门考了这个范围,注意 0 和 4095 都是保留值,不能用于普通 VLAN 配置。port trunk allow-pass vlan如果不加all参数,默认只放行指定的 VLAN,这在多 VLAN 环境中是精细控制流量的关键。port default vlan是 access 口的默认 VLAN 配置命令,和 trunk 口的allow-pass是两套逻辑,别搞混。
常见做法是配置完 VLAN 后用display vlan和display interface brief验证状态。如果 trunk 口没放行对应 VLAN,即使物理链路 up,业务流量也过不去,这是新手最容易踩的坑。
2.2 静态路由配置与下一跳选择
第 42 题考的是 AR2220 路由器上配置接口地址和静态路由。题目要求 g0/0/1 配 192.168.101.1/30,g0/0/2 配 12.12.12.2/30,然后添加两条静态路由分别去往 192.168.1.0/24 和 192.168.2.0/24。
# 配置接口地址,注意 /30 掩码对应 255.255.255.252 [R1]interface GigabitEthernet 0/0/1 [R1-GigabitEthernet0/0/1]ip address 192.168.101.1 30 [R1-GigabitEthernet0/0/1]quit [R1]interface GigabitEthernet 0/0/2 [R1-GigabitEthernet0/0/2]ip address 12.12.12.2 30 [R1-GigabitEthernet0/0/2]quit # 添加静态路由,下一跳地址必须和本机接口在同一网段 [R1]ip route-static 192.168.1.0 24 192.168.101.2 [R1]ip route-static 192.168.2.0 24 12.12.12.1ip route-static命令的参数格式是「目标网段 + 掩码长度 + 下一跳地址」。这里的关键约束是:下一跳地址必须和路由器某个接口的 IP 在同一子网内,否则路由表不会生效。比如 192.168.101.2 必须落在 192.168.101.0/30 这个网段里,而 /30 只有两个可用地址(.1 和 .2),所以下一跳只能是 .2。
验证时用display ip routing-table查看路由是否成功注入。如果路由没出现,先检查接口状态是不是 up,再检查下一跳地址是否可达。题库第 4 题考了路由发生在 OSI 模型的网络层,这个知识点和静态路由配置是配套的——路由决策依赖 IP 地址,不依赖 MAC 地址,所以配置时关注的是三层可达性。
3. Linux 存储与服务管理:从 LVM 到 NFS 的落地操作
3.1 LVM 卷组创建与在线扩容
第 44 题是 LVM 管理的典型场景:新增一块 20G 硬盘,分两个 5G 分区,创建名为 xcloudvg 的卷组,再扩容到 15G。这道题的价值在于它模拟了生产环境中磁盘空间不足时的标准处理流程。
# 对 /dev/sdb 进行分区,分出两个 5G 主分区 [root@xserver1 ~]# fdisk /dev/sdb # 交互式操作:n -> p -> 1 -> 回车 -> +5G # n -> p -> 2 -> 回车 -> +5G # w 保存退出 # 创建物理卷 [root@xserver1 ~]# pvcreate /dev/sdb[1-2] # 创建卷组 [root@xserver1 ~]# vgcreate xcloudvg /dev/sdb[1-2] # 再分一个 5G 分区 /dev/sdb3,扩容卷组 [root@xserver1 ~]# vgextend xcloudvg /dev/sdb3 # 查看卷组信息 [root@xserver1 ~]# vgdisplaypvcreate把普通分区标记为物理卷,vgcreate把多个物理卷聚合成一个存储池,vgextend往池子里加新盘。这套流程的核心价值是「在线扩容」——生产环境不需要停机就能加磁盘。注意fdisk分区时最后要按w写入,如果按q退出则所有操作作废,这是血泪经验。
vgdisplay输出里要关注三个字段:VG Size 是卷组总大小,Alloc PE / Size 是已分配空间,Free PE / Size 是剩余可用空间。扩容后 VG Size 应该从 9.99G 变成 14.99G,说明第三个 5G 分区成功加入。
3.2 NFS 共享配置与挂载验证
第 45 题要求在两台虚拟机之间配置 NFS 共享。xserver1 共享 /mnt/share 目录,xserver2 挂载到 /mnt。
# xserver1 上安装 NFS 服务端 [root@xserver1 ~]# yum install -y nfs-utils rpcbind [root@xserver1 ~]# mkdir -p /mnt/share [root@xserver1 ~]# echo "/mnt/share 192.168.100.0/24(rw,sync)" >> /etc/exports [root@xserver1 ~]# systemctl start rpcbind nfs-server [root@xserver1 ~]# exportfs -rv # xserver2 上挂载 [root@xserver2 ~]# yum install -y nfs-utils [root@xserver2 ~]# mount -t nfs 192.168.100.11:/mnt/share /mnt [root@xserver2 ~]# df -h/etc/exports的格式是「共享目录 + 允许的客户端网段 + 权限选项」。rw表示读写,sync表示同步写入,这两个是最常用的组合。exportfs -rv重新加载配置,不用重启服务。
验证环节有两个命令必须掌握:服务端执行showmount -e 192.168.100.11查看共享列表,客户端执行df -h确认挂载点出现。如果客户端挂载报access denied,先检查服务端防火墙是否放行了 2049 端口和 rpcbind 的 111 端口。题库第 38 题考了 NFS 的组成部分——用户空间工具、内核模块和 RPC 服务,这三者缺一不可,配置时任何一环出问题都会导致挂载失败。
3.3 Samba 共享与端口监听检查
第 46 题考 Samba 配置,核心是/etc/samba/smb.conf中的共享段落定义。
# 安装 Samba [root@xserver1 ~]# yum install -y samba samba-client # 编辑配置文件,添加共享段 [share] path = /opt/share browseable = yes public = yes writable = yes # 启动服务并检查端口 [root@xserver1 ~]# systemctl start smb [root@xserver1 ~]# netstat -ntpl | grep smbdSamba 启动后会监听 139 和 445 两个端口。139 是 NetBIOS 会话服务,445 是 SMB over TCP。netstat -ntpl的输出里要能看到smbd进程绑定在这两个端口上。如果只看到 139 没有 445,通常是配置文件语法错误导致服务没完全启动,用testparm命令检查配置。
public = yes允许匿名访问,writable = yes允许写入。生产环境一般会加上valid users和write list做权限控制,但考试场景下按题目要求配置即可。
4. 数据库与容器:主从同步和私有仓库搭建
4.1 MariaDB 主从复制配置
第 47 题要求配置 MariaDB 主从同步,这是数据库高可用的基础操作。
# 主节点 xserver1 配置 [root@xserver1 ~]# vim /etc/my.cnf # 添加以下内容 [mysqld] server-id=30 log-bin=mysql-bin # 重启后创建复制用户 MariaDB [(none)]> GRANT REPLICATION SLAVE ON *.* TO 'user'@'%' IDENTIFIED BY 'password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> SHOW MASTER STATUS; # 从节点 xserver2 配置 [root@xserver2 ~]# vim /etc/my.cnf [mysqld] server-id=31 relay-log=mariadb-relay-bin # 重启后配置主节点信息 MariaDB [(none)]> CHANGE MASTER TO -> MASTER_HOST='mysql1', -> MASTER_USER='user', -> MASTER_PASSWORD='password', -> MASTER_LOG_FILE='mysql-bin.000004', -> MASTER_LOG_POS=547; MariaDB [(none)]> START SLAVE; MariaDB [(none)]> SHOW SLAVE STATUS\Gserver-id在主从架构中必须唯一,主节点和从节点不能相同。log-bin开启二进制日志,这是复制的基础。SHOW MASTER STATUS输出的 File 和 Position 两个值要填到从节点的CHANGE MASTER TO语句里。
验证复制状态看SHOW SLAVE STATUS\G中的两个关键字段:Slave_IO_Running和Slave_SQL_Running都必须是 Yes。如果 IO 线程是 Connecting 状态,检查网络连通性和复制用户权限;如果 SQL 线程是 No,看Last_SQL_Error字段的具体报错。Seconds_Behind_Master为 0 表示主从无延迟。
4.2 Docker 私有仓库部署
第 53 题要求用 Docker.tar.gz 安装 Docker,然后启动 registry 容器作为私有仓库。
# 解压安装包并安装 [root@xserver1 ~]# tar -zxvf Docker.tar.gz [root@xserver1 ~]# yum localinstall -y docker/*.rpm # 启动 Docker 服务 [root@xserver1 ~]# systemctl start docker [root@xserver1 ~]# systemctl enable docker # 加载 registry 镜像 [root@xserver1 ~]# docker load -i registry_latest.tar # 启动 registry 容器 [root@xserver1 ~]# docker run -d \ -v /opt/registry:/var/lib/registry \ -p 5000:5000 \ --restart=always \ --name registry \ registry:latest-v /opt/registry:/var/lib/registry把容器内的镜像存储目录映射到宿主机,这样容器重建后镜像数据不会丢失。-p 5000:5000把内部端口暴露出来,其他节点才能推送镜像。--restart=always保证 Docker 服务重启后容器自动拉起。
验证时执行docker info查看 Docker 运行状态,关注 Storage Driver 和容器数量。题库第 10 题考了查看容器属性的命令是docker inspect,这个命令在排查容器网络和挂载问题时非常有用,输出是 JSON 格式,可以用-f参数提取特定字段。
题库第 18 题考了 Dockerfile 中RUN和CMD的区别:RUN在构建镜像时执行,CMD在容器启动时执行。这个知识点在搭建私有仓库时很关键——registry 镜像的 Dockerfile 里用CMD指定了启动命令,所以docker run时不需要额外指定入口。
5. OpenStack 组件管理:认证、镜像与实例类型
5.1 Keystone 用户创建与 Glance 镜像上传
第 49 和 50 题分别考 Glance 镜像管理和 Keystone 用户管理。这两道题的前提是 OpenStack 各服务状态正常,所以第一步永远是检查服务。
# 检查 OpenStack 服务状态 [root@controller ~]# openstack service list [root@controller ~]# openstack endpoint list # 上传镜像到 Glance [root@xserver1 ~]# glance image-create \ --name mycirros \ --disk-format qcow2 \ --container-format bare \ --file cirros-0.3.4-x86_64-disk.img # 查看镜像详情 [root@xserver1 ~]# glance image-show <image-id> # 创建 Keystone 用户 [root@controller ~]# openstack user create --password password testuser [root@controller ~]# openstack user show testuserglance image-create的参数中,--disk-format指定镜像格式(qcow2 是 KVM 常用格式),--container-format一般用 bare。上传后glance image-show的返回结果里要关注status字段,active表示镜像可用。
Keystone 是 OpenStack 的认证服务,题库第 8 题专门考了这个知识点。openstack user create创建用户后,openstack user show可以查看用户的 domain_id、enabled 状态和 id。如果创建用户时报权限错误,通常是环境变量没 source 对,检查openrc文件是否加载。
5.2 Nova 实例类型与 Swift 对象存储
第 51 和 52 题考 Nova 和 Swift 的基本操作。
# 创建云主机类型 [root@controller ~]# nova flavor-create exam 1234 1024 20 2 # 查看类型详情 [root@controller ~]# nova flavor-show 1234 # Swift 创建容器并上传文件 [root@controller ~]# swift post examcontainer [root@controller ~]# swift upload examcontainer test.txt [root@controller ~]# swift listnova flavor-create的参数顺序是:名称、ID、内存(MB)、磁盘(GB)、vCPU 数量。题目要求 ID 为 1234,内存 1024M,硬盘 20G,vcpu 为 2,对应命令就是nova flavor-create exam 1234 1024 20 2。
Swift 的操作更简单:swift post创建容器,swift upload上传文件,swift list列出所有容器。题库第 17 题考了 Ceilometer 的数据存储位置是 MongoDB,这是 OpenStack 监控组件,和 Swift 的对象存储是两回事,别混淆。
6. 避坑与排查:那些年我踩过的配置陷阱
6.1 VLAN 配置后业务不通
现象:交换机上 VLAN 创建成功,接口状态 up,但同一 VLAN 内的主机互相 ping 不通。
原因:最常见的是 access 口和 trunk 口的 VLAN 放行不匹配。比如 access 口划到了 vlan101,但上行 trunk 口只放行了 vlan100,流量到了 trunk 口被丢弃。
解决:用display port vlan查看每个接口的 VLAN 配置,确认 trunk 口的allow-pass列表包含所有需要通过的 VLAN。如果用的是 Hybrid 模式,还要检查untagged和tagged的配置。
6.2 LVM 扩容后文件系统没变大
现象:vgextend执行成功,vgdisplay看到 VG Size 增加了,但df -h显示文件系统大小没变。
原因:LVM 扩容分两步——先扩卷组(VG),再扩逻辑卷(LV),最后还要扩文件系统。只做第一步,上层感知不到空间变化。
解决:完整流程是vgextend扩卷组 →lvextend -l +100%FREE /dev/xcloudvg/lv_name扩逻辑卷 →xfs_growfs或resize2fs扩文件系统。XFS 用xfs_growfs,ext4 用resize2fs,用错了会报错。
6.3 NFS 挂载报 access denied
现象:客户端执行mount -t nfs时报access denied by server。
原因:三种可能——服务端/etc/exports里允许的网段和客户端 IP 不匹配;服务端防火墙没放行 2049 和 111 端口;rpcbind服务没启动。
解决:先showmount -e <服务端IP>确认共享列表可见,如果这个命令都失败,说明网络或 rpcbind 有问题。然后检查服务端firewall-cmd --list-all是否放行了 nfs 和 rpcbind 服务。最后确认/etc/exports里的网段写法,192.168.100.0/24和192.168.100.*是等价的,但192.168.100.11只允许单个 IP。
6.4 Docker 私有仓库推送镜像失败
现象:docker push到私有仓库时报http: server gave HTTP response to HTTPS client。
原因:Docker 默认要求仓库使用 HTTPS,但本地 registry 容器通常只配了 HTTP。
解决:在 Docker 配置文件/etc/docker/daemon.json中添加"insecure-registries": ["192.168.100.11:5000"],然后重启 Docker 服务。注意这个配置要加在需要推送镜像的客户端上,不是仓库服务端。
6.5 OpenStack 命令报环境变量错误
现象:执行openstack user list时报Missing value auth-url required。
原因:没有加载 OpenStack 的环境变量文件,命令不知道连哪个 Keystone 端点。
解决:执行source /root/keystonerc_admin或对应的 openrc 文件。如果文件不存在,手动 export 几个关键变量:OS_AUTH_URL、OS_USERNAME、OS_PASSWORD、OS_PROJECT_NAME。这些变量指向 Keystone 的认证地址和凭证,缺一不可。
7. 用 curl 验证 WordPress 部署:一个被低估的排查技巧
题库第 48 题要求部署 WordPress 后用curl ip验证首页返回结果。这道题表面考部署,实际考的是「怎么确认服务真的起来了」。很多人部署完看到浏览器能打开就以为万事大吉,但考试环境往往没有图形界面,curl就是你的眼睛。
# 部署完成后,用 curl 检查首页返回内容 [root@xserver1 ~]# curl -I http://192.168.100.11 HTTP/1.1 200 OK Server: nginx/1.16.1 Content-Type: text/html; charset=UTF-8 # 如果返回 502,说明 PHP-FPM 没起来 [root@xserver1 ~]# systemctl status php-fpm # 如果返回 404,检查 nginx 的 root 指向 [root@xserver1 ~]# nginx -T | grep rootcurl -I只取响应头,比curl全量输出更清爽。重点看 HTTP 状态码:200 表示正常,502 表示后端 PHP 处理失败,404 表示路径配置错误,403 表示权限问题。这套排查逻辑不只适用于 WordPress,任何 Web 应用部署后都可以先用curl -I快速判断服务状态。
我一般会按这个顺序排查:先curl -I看状态码,再systemctl status看服务进程,然后ss -ntlp看端口监听,最后查日志。这个习惯帮我省了很多来回折腾的时间。
还有一个细节:WordPress 的站点标题设置。题目要求改成自己的姓名加 BLOG,这个操作在后台「设置 → 常规」里改。改完后curl返回的 HTML 里应该能搜到标题内容,用curl -s http://ip | grep -i title可以快速验证。
从那以后我每次部署完 Web 应用,都强制走一遍curl -I→systemctl status→ss -ntlp的检查流程,不管浏览器能不能打开。希望帮到你。
本文还有配套的精品资源,点击获取