内容简介
随着开源技术的不断进步与创新,整个IT行业中越来越多的企业愿意采用开源产品,而基于Linux的操作系统为这些开源产品提供了一个的操作平台。本书将围绕Linux操作系统这样一个基础平台,讲解如何使用操作系统实现各种开源产品的应用案例。全书主要从运维工作中的应用服务入手,全面讲解基本Linux操作系统以及各种软件服务的运维工作。
现在的商业环境是一个充满竞争的环境,很多企业的业务量在不断地增长,而对服务质量的要求也越来越高。是互联网企业为了满足客户更高的需求,提升用户使用体验。IT部门维护的设备往往数以万计,如此庞大的设备维护量,通常会让IT管理人员头疼不已。本书介绍的自动化运维的内容可以让我们快速掌握大规模批量处理的简单方法。仅仅依靠自动化运维还不足以发挥出这些设备能效,因此,我们还需要将这个服务器设备有机地结合在一起,为客户提供更加安全、快捷、的服务,于是集群技术应运而生。本书将围绕集群技术介绍目前比较流行的开源产品部署案例。
本书从基础讲到服务器的应用,适合于Linux运维人员、Linux爱好者阅读,可作为Linux运维人员的一本的案头书。
目录
第1篇 基础知识
第1章 部署操作系统 2
1.1 光盘安装Linux操作系统 2
1.1.1 操作系统版本的选择 2
1.1.2 光盘安装Linux系统案例 2
1.2 无人职守自动安装Linux操
作系统 15
1.2.1 大规模部署案例 15
1.2.2 PXE简介 16
1.2.3 Kickstart技术 17
1.2.4 配置安装服务器 18
1.2.5 自动化安装案例 19
1.3 常见问题分析 27
第2章 命令工具 30
2.1 基本命令 31
2.1.1 目录及文件的基本操作 31
2.1.2 查看文件内容 35
2.1.3 链接文件 37
2.1.4 压缩及解压 38
2.1.5 命令使用技巧 39
2.1.6 帮助 40
2.2 Vim文档编辑 42
2.2.1 Vim工作模式 42
2.2.2 Vim光标操作 43
2.2.3 Vim编辑文档 43
2.2.4 Vim查找与替换 44
2.2.5 Vim保存与退出 45
2.2.6 Vim小技巧 45
2.3 账户与安全 46
2.3.1 账户及组的概念 46
2.3.2 创建账户及组 46
2.3.3 修改账户及组 48
2.3.4 删除账户及组 49
2.3.5 账户与组文件解析 49
2.3.6 文件及目录权限 51
2.3.7 账户管理案例 53
2.3.8 ACL访问控制权限 54
2.4 存储管理 55
2.4.1 磁盘分区 56
2.4.2 格式化与挂载文件系统 60
2.4.3 LVM逻辑卷概述 62
2.4.4 创建LVM分区实例 64
2.4.5 修改LVM分区容量 68
2.4.6 删除LVM分区 69
2.4.7 RAID磁盘阵列概述 69
2.4.8 RAID级别 70
2.4.9 创建与管理软RAID实例 74
2.4.10 RAID性能测试 77
2.4.11 RAID故障模拟 78
2.5 软件管理 79
2.5.1 Linux常用软件包类型 79
2.5.2 RPM软件包管理 79
2.5.3 使用YUM安装软件包 81
2.5.4 YUM使用技巧 83
2.5.5 源码编译安装软件 84
2.5.6 常见问题分析 85
2.5.7 服务管理 86
2.6 计划任务 88
2.6.1 at一次性计划任务 88
2.6.2 cron周期性计划任务 89
2.6.3 计划任务权限 90
2.7 性能监控 90
2.7.1 监控CPU使用情况
uptime命令 90
2.7.2 监控内存及交换分区使用
情况free命令 91
2.7.3 监控磁盘使用情况
df命令 91
2.7.4 监控网络使用情况
ifconfig和netstat命令 92
2.7.5 监控进程使用情况
ps和top命令 94
2.8 网络配置 95
2.8.1 命令行设置网络参数 95
2.8.2 文件修改网络参数 97
2.8.3 网络故障排错 99
2.9 内核模块 101
2.9.1 内核模块存放位置 101
2.9.2 查看已加载内核模块 102
2.9.3 加载与卸载内核模块 102
2.9.4 修改内核参数 103
摘要与插图
5.1.2 Cacti监控应用案例
1.被监控端配置
Cacti监控其他主机是通过简单的网络管理协议(SNMP)收集被监控端的数据信息的,因此,被监控端Web1与Web2服务器都需要安装net-snmp以及依赖包lm_sensors,并设置SNMP配置文件。lm_sensors软件可以帮助我们监控硬件信息(如CPU的工作电压等数据),具体步骤如下。
安装snmp主程序及相关的依赖软件包,被监控主机仅需要修改snmp主配置文件即可(根据模板文件,本书对需要修改的地方用黑体字表示)。
[root@web1 ~]# yum -y install net-snmp lm_sensors
[root@web1 ~]# vim /etc/snmp/snmpd.conf
# First, map the community name "public" into a "security name".
com2sec notConfigUser default rose0011
# Second, map the security name into a group name.
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
# Third, create a view for us to let the group have rights to.
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
# Finally, grant the group read-only access to the all view.
access notConfigGroup "" any noauth exact all none none
view all included .1 80
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes
#备注,以上黑色加粗部分为需要修改的内容
SNMP配置文件主要包括四部分内容需要修改。第一步,映射通信名称到安全用户名称;第二步,将用户加入到组中;第三步,为组创建systemvies视图;第四步,创建all视图并赋予组只读访问权限。主配置文件设置完成后重启服务,即可通过客户端访问该服务器获得系统信息,SNMP使用的端口号为UDP 161端口以及TCP 199端口,我们需要在防火墙规则中开放这些端口数据。
[root@web1 ~]# iptables -I INPUT -p udp --dport 161 -j ACCEPT
[root@web1 ~]# iptables -I INPUT -p tcp --dport 199 -j ACCEPT
[root@web1 ~]# service iptables save
[root@web1 ~]# service snmpd start
[root@web1 ~]# chkconfig snmpd start
Web1与Web2被监控主机均启动snmpd服务后,可以在Cacti主机上执行snmpwalk命令验证SNMPD服务是否运行正常,如果出现如下提示,则说明一切正常(命令输出仅为部分信息):
[root@cacti ~]# snmpwalk -v 1 192.168.0.101 -c rose0011 system
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-baseD-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-frameWORK-MIB::snmpframeworkMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::