Unix系统管理
分類: 图书,计算机/网络,操作系统/系统开发,UNIX Solaris ,
作者: 王朋鹏 等译
出 版 社: 人民邮电出版社
出版时间: 2003-4-1字数: 691千版次: 1版1次页数: 332印刷时间: 2003-4-1开本:印次:纸张: 胶版纸I S B N : 9787115108746包装: 平装编辑推荐
本书是一本关于Unix系统管理的教程和参考指南,特别适合已经或准备成为Unix系统管理员的读者阅读。由于系统管理的许多基本要素是通用的,因此本书也适合其他系统管理员和科技人员阅读。此外,本书还可以帮助各种机构的管理人员和IT部门更好地分析机构内IT基础设施上的投资成效或应该如何在IT基础设施上投资。对于大专院校的计算机与信息技术专业的学生来说,本书亦可作为将所学知识投入实际应用的指南。
内容简介
本书结合来自作者经验的实例,对Unix系统管理的基本要素进行全面而深入的阐述,内容涵盖Unix系统的设计、部署、维护和升级。全书共分四个部分,第一部分讲述系统规划过程;第二部分讲述系统维护;第三部分讲述系统优化、安全防护和系统自动化;第四部分讲述人的因素在Unix系统管理中的影响和作用。
本书是一本关于Unix系统管理的教程和参考指南,特别适合已经或准备成为Unix系统管理员的读者阅读。由于系统管理的许多基本要素是通用的,因此本书也适合其他系统管理员和科技人员阅读。此外,本书还可以帮助各种机构的管理人员和IT部门更好地分析机构内IT基础设施上的投资成效或应该如何在IT基础设施上投资。对于大专院校的计算机与信息技术专业的学生来说,本书亦可作为将所学知识投入实际应用的指南。
作者简介
目录
第一部分 从零开始
第1章 规划系统体系结构2
1.1 定义项目范围2
1.2 系统分类4
1.2.1 桌面工作站5
1.2.2 交互式登录服务器5
1.2.3 应用服务器5
1.2.4 数据库服务器5
1.2.5 计算服务器6
1.2.6 文件服务器6
1.2.7 管理服务器6
1.3 收集技术规范6
1.3.1 将业务目标转化为技术解决方案7
1.3.2 收集具体业务目标的详细信息7
1.3.3 定义基本的项目参数8
1.4 评估兼容性需要9
1.5 选择软件和硬件9
1.5.1 选择应用软件10
1.5.2 选择操作系统软件11
1.5.3 分析硬件需求12
1.6 评估供应商技术支持合同12
1.6.1 硬件支持13
1.6.2 软件支持13
1.6.3 供应商的责任14
1.7 小结14
1.8 复习题14
第2章 设计数据中心基础设施15
2.1 是否应该构建自己的数据中心15
2.2 数据中心的环境控制16
2.2.1 温度控制16
2.2.2 湿度控制17
2.2.3 空气质量维护18
2.2.4 消防设施18
2.2.5 噪音限制19
2.3 选择活动地板还是固定地板19
2.3.1 固定地板19
2.3.2 活动地板19
2.3.3 根据需要选择地板类型20
2.4 选择和使用机架20
2.4.1 双支柱机架21
2.4.2 四支柱机架22
2.4.3 机柜22
2.4.4 硬件安装24
2.4.5 电缆管理25
2.4.6 配线板26
2.5 确保数据中心的访问安全27
2.5.1 周边安全27
2.5.2 机架安全27
2.5.3 组件安全27
2.6 电源管理28
2.6.1 管理冗余电源28
2.6.2 使用和管理电源线28
2.6.3 使用不间断电源29
2.7 维护和维修的带外管理31
2.7.1 使用控制台对Unix服务器进行带外管理31
2.7.2 用于带外管理和远程访问的其他硬件32
2.8 紧急远程访问33
2.9 小结33
2.10 复习题34
第3章 系统部署35
3.1 订购过程35
3.1.1 确定硬件和软件需求35
3.1.2 编制所需软件和硬件的目录36
3.1.3 管理许可证36
3.1.4 选择供应商37
3.1.5 索取报价和完成订购单37
3.2 收货38
3.2.1 验货38
3.2.2 设备保管38
3.2.3 设备的温差适应39
3.3 记录系统的部署过程39
3.4 硬件安装40
3.4.1 开箱40
3.4.2 为硬件贴标签41
3.4.3 安装硬件41
3.4.4 连接电缆和适配器43
3.4.5 测试硬件44
3.5 安装软件44
3.5.1 使用软件安装过程更新日志簿44
3.5.2 从光盘安装45
3.5.3 从软盘安装45
3.5.4 从网络安装45
3.5.5 安装应用程序49
3.5.6 管理未打包的软件的安装49
3.5.7 使用Solaris和Linux软件包管理器51
3.5.8 在Solaris和Red Hat Linux上安装操作系统补丁53
3.6 将完成部署的系统移交给用户55
3.6.1 准备程序文档56
3.6.2 常见问题解答56
3.6.3 提供联系信息56
3.7 小结57
3.8 复习题57
第二部分 维护
第4章 系统测试59
4.1 测试过程59
4.1.1 系统测试和产品测试的类型59
4.1.2 安排测试60
4.1.3 记录和分析测试结果60
4.2 单元测试61
4.2.1 决定需要测试的内容61
4.2.2 执行单元测试61
4.2.3 单元测试实例62
4.3 兼容性测试65
4.3.1 决定测试内容65
4.3.2 执行兼容性测试65
4.3.3 兼容性测试实例66
4.4 负载测试66
4.4.1 确定负载测试参数66
4.4.2 执行负载测试67
4.4.3 在技术规范要求之内运行68
4.4.4 判断断点69
4.4.5 确定负载增长和系统压力之间是线性关系还是几何关系70
4.5 回归测试71
4.5.1 执行回归测试71
4.5.2 评估回归测试结果71
4.5.3 回归测试实例71
4.6 Alpha和Beta测试72
4.6.1 为测试征募用户72
4.6.2 Alpha测试73
4.6.3 Beta测试73
4.6.4 测试预发布版73
4.7 小结74
4.8 复习题74
第5章 技术支持管理75
5.1 将技术支持部门与业务规模和客户需求相结合75
5.1.1 确定客户76
5.1.2 提供服务台支持76
5.1.3 使用其他技术支持人员77
5.1.4 提供三层技术支持77
5.1.5 形成灵活的技术支持体系78
5.2 制定待命程序78
5.2.1 授权79
5.2.2 规章制度的制定79
5.2.3 沟通80
5.3 问题上报程序80
5.3.1 使服务台受控于掌握之中80
5.3.2 凭单分派81
5.3.3 状态更新82
5.3.4 提供有关上报的问题的信息82
5.3.5 做好突发事件计划83
5.3.6 问题上报流程图83
5.4 管理不同技术级别之间的沟通84
5.4.1 使用技术沟通工具84
5.4.2 在服务台上使用FAQ(常见问题解答)列表85
5.4.3 保持技术支持沟通礼仪85
5.5 支持工具86
5.5.1 大型ISP使用的支持工具86
5.5.2 小型市场调查公司使用的支持工具87
5.6 宣传技术支持部门88
5.7 小结88
5.8 复习题89
第6章 监控服务90
6.1 监控的概念90
6.1.1 主动监控90
6.1.2 被动监控91
6.2 主机监控91
6.3 网络监控91
6.3.1 监控链接状态92
6.3.2 监控网络带宽93
6.3.3 监控流量内容95
6.4 服务监控96
6.4.1 监控端口连接96
6.4.2 监控POP Internet服务97
6.4.3 监控域名服务97
6.4.4 超时与重复98
6.5 系统日志99
6.5.1 syslog99
6.5.2 syslog-ng101
6.5.3 应用程序日志104
6.6 日志管理104
6.6.1 位置104
6.6.2 文件大小105
6.6.3 轮替105
6.6.4 归档106
6.7 日志监控106
6.7.1 日志监控软件106
6.7.2 通知107
6.8 内部监控与外部监控109
6.9 监控应用程序109
6.9.1 Micromuse Netcool(r)109
6.9.2 NetSaint111
6.9.3 Big Brother112
6.10 小结112
6.11 复习题112
第7章 补丁、升级和退役113
7.1 预先在沙箱环境进行测试113
7.2 对操作系统应用补丁114
7.2.1 对操作系统应用补丁的最佳方法114
7.2.2 战胜补丁应用失败115
7.2.3 从应用补丁后的重启失败中恢复116
7.2.4 bug交换117
7.2.5 撤销补丁118
7.3 硬件升级118
7.3.1 确保硬件兼容性118
7.3.2 确保硬件拥有足够的容量119
7.3.3 为平稳过渡到升级后的硬件制定计划120
7.4 操作系统升级121
7.4.1 决定升级还是从头安装121
7.4.2 克服共享库的不兼容性122
7.4.3 避免覆盖配置文件122
7.4.4 保证升级所需的磁盘空间123
7.4.5 确保升级后的操作系统有足够的驱动程序支持124
7.5 固件升级124
7.6 服务退役125
7.6.1 确定服务的用户125
7.6.2 通知用户127
7.6.3 逐步地进行任何过渡127
7.6.4 退役,不是销毁128
7.7 小结128
7.8 复习题128
第8章 服务停用130
8.1 服务停用类型130
8.2 预定的维护131
8.2.1 计划例行维护性停用131
8.2.2 预定例行维护性停用131
8.3 计划外停用132
8.4 部分服务停用133
8.5 完全停用及服务降级134
8.6 分布式服务停用134
8.7 第三方停用135
8.8 维护时间段136
8.8.1 最小使用量时间136
8.8.2 最长维护时间137
8.8.3 业务要求137
8.8.4 在维护时间段内工作137
8.9 监控对服务等级协定的遵守情况138
8.9.1 监控对正常运行时间的遵守情况138
8.9.2 监控对响应时间的遵守情况139
8.10 注重生产价值139
8.10.1 适当地使用生产服务器139
8.10.2 事先宣布所有维护活动140
8.10.3 日志观察和监控程序140
8.10.4 迅速响应服务停用事件141
8.11 停用程序141
8.11.1 向适当的人员分配解决问题的任务141
8.11.2 维持对工作进展情况的沟通142
8.11.3 维护活动日志142
8.11.4 保持镇定143
8.12 根源分析143
8.13 小结144
8.14 复习题144
第9章 为灾难恢复做准备145
9.1 什么是IT灾难事件145
9.2 停电146
9.2.1 停电可能造成的损害146
9.2.2 提供不间断电源(UPS)147
9.2.3 使用发电机作为应急电源148
9.3 物理灾难和环境灾难150
9.3.1 火灾150
9.3.2 洪水和风暴151
9.3.3 HVAC(暖通空调)设备故障151
9.3.4 无法进入数据中心151
9.4 管理数据丢失152
9.5 制定灾难恢复计划153
9.5.1 组建灾难恢复计划小组154
9.5.2 进行业务影响分析154
9.5.3 确定关键功能154
9.5.4 分配资源155
9.5.5 确定关键任务158
9.5.6 生成灾难恢复计划158
9.5.7 测试恢复程序160
9.5.8 改动管理——更新恢复计划160
9.6 灾难演习161
9.7 小结161
9.8 复习题162
第三部分 运行情况良好的机器
第10章 在Unix系统中提供高可用性164
10.1 高可用性164
10.2 高可用性技术165
10.2.1 冗余165
10.2.2 故障恢复165
10.2.3 负载均衡166
10.3 用RAID实现数据冗余173
10.3.1 RAID-1174
10.3.2 RAID-4174
10.3.3 RAID-5175
10.3.4 选择适当的RAID级别176
10.3.5 硬件RAID和软件RAID176
10.3.6 一种典型的RAID方案:Solstice DiskSuite177
10.4 用分离镜像实现数据冗余178
10.5 用快照实现数据冗余179
10.6 使用多个网络通路180
10.6.1 冗余网络提供商180
10.6.2 本地网络冗余180
10.7 使用服务器集群181
10.7.1 具有故障恢复能力的集群181
10.7.2 并行集群182
10.8 位置冗余182
10.8.1 远程镜像182
10.8.2 内容分布183
10.9 Internet服务的高可用性技术184
10.9.1 使用冗余的域名服务器184
10.9.2 修改重要的地址185
10.9.3 使用冗余的邮件集线器185
10.10 小结186
10.11 复习题186
第11章 性能调优与容量规划187
11.1 测量CPU的性能和容量187
11.1.1 平均负载187
11.1.2 跟踪用户与系统处理过程189
11.1.3 分析CPU性能的历史数据192
11.2 CPU性能调优193
11.2.1 选择正确的编译选项193
11.2.2 设置进程优先级194
11.2.3 使用多个处理器195
11.2.4 升级处理器196
11.2.5 跟踪进程196
11.3 规划CPU资源197
11.3.1 分析CPU使用趋势197
11.3.2 使用可升级的硬件197
11.4 测量存储设备的性能和容量198
11.4.1 理解存储设备的容量198
11.4.2 磁盘结构199
11.4.3 带宽与等待时间199
11.4.4 顺序存取与随机存取199
11.4.5 块I/O与字符I/O200
11.4.6 索引节(inode)200
11.4.7 测量磁盘性能与容量的工具200
11.4.8 定位大文件和目录201
11.4.9 使用iostat命令测量磁盘活动202
11.4.10 用sar分析磁盘性能的历史数据203
11.5 磁盘与文件系统性能调优204
11.5.1 使用高转速的磁盘204
11.5.2 将文件系统放在最佳的柱面上204
11.5.3 将数据在多个磁盘上条带化(RAID-0)205
11.5.4 优化文件系统的索引节(inode)数目206
11.6 规划存储需求207
11.6.1 监控磁盘使用趋势207
11.6.2 为每一个分区分配足够的空间207
11.6.3 利用基于段优点的卷管理器207
11.6.4 用配额限制用户占用的空间208
11.7 测量内存的性能与容量208
11.7.1 虚拟内存的实现209
11.7.2 显示交换空间的统计信息210
11.7.3 用vmstat监控内存使用情况210
11.7.4 用sar命令监控页面调度活动211
11.7.5 监控进程使用内存情况的工具211
11.8 内存与交换空间性能调优213
11.8.1 Solaris的换页优先机制213
11.8.2 优化访问交换分区的方式213
11.8.3 利用共享库214
11.9 规划内存与交换空间容量214
11.9.1 监控进程使用内存的情况214
11.9.2 分配更多的交换空间214
11.10 测量网络的性能和容量215
11.10.1 带宽与时延215
11.10.2 计算跳数216
11.10.3 检测数据包丢失217
11.10.4 检测网络错误218
11.10.5 检测冲突219
11.10.6 双工问题219
11.11 网络性能调优220
11.11.1 用硬编码设置双工模式220
11.11.2 提高重要网络流量的优先级221
11.11.3 调整TCP定时器222
11.12 规划未来的网络容量223
11.12.1 观察网络流量的长期变化趋势223
11.12.2 使用可变带宽的电路224
11.13 小结224
11.14 复习题224
第12章 过程自动化225
12.1 调度工具225
12.1.1 at:一次性调度225
12.1.2 cron:周期性调度226
12.1.3 重定向at与cron的输出227
12.1.4 at与cron的访问控制227
12.2 root登录自动化227
12.2.1 不需要密码的Berkeley r-命令228
12.2.2 r-命令的安全隐患228
12.2.3 用SSH代替r-命令229
12.3 文件同步自动化230
12.3.1 用rcp和scp拷贝文件230
12.3.2 用rsync实现文件同步231
12.3.3 用rdist分发文件232
12.3.4 运行rdist命令233
12.4 用cfengine实现本地配置自动化234
12.4.1 多种形式的cfengine234
12.4.2 配置cfengine235
12.5 临时空间管理自动化237
12.5.1 用find管理临时空间237
12.5.2 用cfengine管理临时存储空间237
12.6 日志维护自动化238
12.7 将logrotate作为通用日志轮替工具239
12.8 小结240
12.9 复习题241
第13章 实现系统安全性242
13.1 认证、授权和记帐242
13.2 Unix系统中的安全性243
13.2.1 物理安全性243
13.2.2 网络安全性244
13.2.3 主机安全性244
13.3 理解最小特权244
13.4 分离服务245
13.5 管理root帐户245
13.5.1 限制对root密码的使用245
13.5.2 选择安全的root密码245
13.5.3 永远都不要使用明文通道传送root密码246
13.5.4 将UID(用户标识)0保留用于root帐户246
13.5.5 限制远程访问root帐户246
13.6 权限委托246
13.6.1 使用sudo命令以其他用户的身份运行命令247
13.6.2 Solaris 8基于角色的访问控制249
13.6.3 使用Unix组许可权限来编辑文件250
13.7 盗用和攻击251
13.7.1 检测可疑行为251
13.7.2 配置错误252
13.7.3 使用Shell特殊字符252
13.7.4 Shell出口253
13.7.5 缓冲区溢出253
13.7.6 路径验证错误254
13.7.7 IP欺骗255
13.7.8 拒绝服务攻击255
13.7.9 消除系统的威胁256
13.8 给数据加密258
13.8.1 公钥加密与对称密钥加密258
13.8.2 单向hash算法259
13.8.3 用crypt命令加密工具259
13.8.4 使用PGP加密260
13.8.5 在SSH中选择加密算法和端口转发264
13.8.6 使用虚拟专用网265
13.9 选择认证方法266
13.9.1 一次性密码266
13.9.2 基于时间的密码266
13.9.3 证书266
13.9.4 Kerberos267
13.10 提高安全性的简单方法267
13.10.1 尽量少使用setuid程序268
13.10.2 删除全局可写权限(find命令)268
13.10.3 安装TCP Wrapper269
13.10.4 删除inetd中不必要的服务271
13.10.5 使用安全的密码271
13.10.6 监控文件系统的完整性272
13.11 及时了解安全性论谈中的相应内容272
13.12 小结273
13.13 复习题273
第四部分 人的因素
第14章 内部沟通275
14.1 编写系统文档275
14.1.1 以文档用户的知识水平和需求为导向编写文档275
14.1.2 网络图276
14.1.3 主机功能278
14.1.4 程序性文档279
14.1.5 使文档易于获取279
14.2 改动管理280
14.2.1 改动认可280
14.2.2 改动通知281
14.2.3 将改动记入日志282
14.3 使用控制工具进行配置管理283
14.3.1 检查登入文件284
14.3.2 检查登出文件285
14.3.3 解锁286
14.3.4 查看RCS日志286
14.3.5 查看不同版本间的变化287
14.4 系统活动时间表288
14.5 命名约定288
14.6 小结289
14.7 复习题289
第15章 与用户互动290
15.1 用户类型290
15.1.1 新手290
15.1.2 权威用户291
15.1.3 通天晓291
15.1.4 安静的用户291
15.1.5 恶意用户292
15.2 与用户沟通292
15.2.1 主动的沟通手段293
15.2.2 被动的沟通手段294
15.3 应对问题用户297
15.3.1 对资源的不当使用297
15.3.2 骚扰其他用户298
15.3.3 对系统发起攻击299
15.3.4 黑客利用您的系统攻击其他系统299
15.4 预防用户问题299
15.4.1 强制实施策略300
15.4.2 像一个偏执狂一样对待安全破坏活动300
15.5 处理远程用户问题300
15.5.1 确定远程站点地址301
15.5.2 使用IDENT 协议识别远程用户302
15.5.3 与远程站点管理员联系302
15.6 小结305
15.7 复习题305
第16章 计算策略和协定306
16.1 可接受用法策略306
16.1.1 定义服务的预期使用目的307
16.1.2 列出被禁止的行为307
16.1.3 阐述违反策略的后果307
16.2 用户的权利与责任308
16.2.1 权利类型308
16.2.2 责任类型308
16.3 安全策略309
16.3.1 选择站点安全管理员309
16.3.2 定义安全目标309
16.3.3 事件响应过程312
16.3.4 让其他人员参与安全策略的制定312
16.3.5 强制实施安全策略313
16.4 安全弃权313
16.5 使用隐性协定314
16.6 小结315
16.7 复习题315
第五部分 附录
附录A 参考书目317
附录B 问题答案326
Unix系统管理
媒体评论