Linux系统架构和应用技巧内容涉及Linux内部结构、虚拟化基础设施环境的构建、内核源代码的阅读以及RHEL6新功能综述。通过搭建虚拟化基础设施,给读者分享了方便实用的Linux系统的学习和实践环境;同时,设计了10个可操作的脚本实验,尽可能覆盖Linux操作系统的关键应用技术,包括进程监控、远程登录、文本处理等。其中的技巧根植于作者的多年经验,具有极强的现场感和可操作性。

目录
第1章 你必须知道的!Linux内部结构  1
1.1 Linux的三大基础:磁盘、进程、内存  2
1.2 磁盘和文件  3
1.2.1 磁盘的3D参数  3
1.2.2 新旧分区表  7
UEFI和GPT  8
4KB扇区的磁盘  11
1.2.3 文件系统和I/O子系统  12
文件系统的块大小  12
I/O子系统的概貌  15
理解I/O调度器  17
1.3 控制进程就等于控制Linux  22
1.3.1 fork和exec分别是进程的分身和变身  22
1.3.2 作业控制中的各项任务处理  28
1.3.3 快速的数据处理管道  33
1.4 至关重要的内存管理  41
1.4.1 物理内存的分配  42
用户内存的分类  43
内核内存的分类  47
1.4.2 内存的分配和释放  51
了解内存分配机制  52
了解内存释放机制  54
1.4.3 上下文切换和页表  56
COLUMN 何为IT程序员的学习方法  58
第2章 别说缺少机器!虚拟化基础设施环境的构建  59
2.1 基础设施工程师的成长来自于日常积累  60
2.2 LinuxKVM虚拟网络  62
2.2.1 虚拟网络的构建和虚拟机的配置  63
YUM资源库的准备  64
虚拟网络的配置  65
虚拟机的配置  65
2.2.2 DNS服务器的搭建  73
DNS和邮件传输系统的基础知识  73
BIND的安装和配置  80
2.2.3 邮件服务器的建立  87
2.3 HA集群环境在虚拟机上的实现  94
2.3.1 对HAAdd-on的理解  95
HA集群的基础  95
HAAdd-On的工作原理  97
2.3.2 Linux主机的准备以及虚拟机的构建  99
虚拟网络的配置  100
iSCSI目标的构建  101
虚拟机的构建  103
2.3.3 HAAdd-On的导入和配置  105
包集合的导入和配置  105
集群配置文件的准备  106
HA集群的启动和服务的开始  111
模拟故障测试的实现  114
2.3.4 HA集群设计及运用的准备  117
COLUMN IT架构师与补习班讲师的沟通技巧  119
第3章 10轮决胜!在自编的脚本中灵活应用命令  121
3.1 简单有效的Shell脚本  122
3.2 Shell脚本的基本规则  123
3.2.1 Shell脚本的操作确认  123
3.2.2 引号的应用方法  125
3.2.3 条件判断的写法  126
3.2.4 数组和位置参数的应用方法  130
3.2.5 命令置换和数值演算  131
3.3 用Shell脚本一决胜负  133
3.3.1 [第1轮对决] 在跳板服务器上学到的秘籍~基本模式+异常处理  133
3.3.2 [第2轮对决] 在分布式Shell上学到的秘籍~基本模式+管道  138
3.3.3 [第3轮对决] 在进程监视中学到的秘籍~状态迁移处理  144
3.3.4 [第4轮对决] 秘籍外传~由make命令进行简单的批处理  148
3.3.5 [第5轮对决] 从模拟快照(snapshot)学到的秘籍~用管道操作日志  151
3.3.6 [第6轮对决] 在云备份中学到的秘籍~在思考实验中组合处理流程  155
3.4 Perl脚本的对决    164
3.4.1 [第7轮对决] 自己编写Perl的乐趣  164
3.4.2 [第8轮对决] 通过Tweet体验Perl带来的便利  175
3.4.3 [第9轮对决] 用进程监控掌握fork  178
3.4.4 [第10轮对决] 终极秘籍Perl与管道的结合  183
COLUMN 造福于开源IT工程师的力量  188
第4章 最后的堡垒!内核源代码的阅读  189
4.1 阅读源代码  190
4.2 内核源代码的走读方法  191
4.2.1 Linux内核的构建步骤  191
4.2.2 内核源代码探索入门  195
4.2.3 读懂结构体和指针  200
COLUMN 跳槽、英语、结婚——IT工程师的话题关键词  207
4.3 探索核心子系统  208
4.3.1 进程管理子系统  208
不断演化的进程状态管理  208
系统调用ptrace()  213
list_head与神奇的宏  216
4.3.2 内存管理子系统  221
64位环境中的页映射  222
/proc/meminfo的“内脏”  228
4.4 内核源代码的分析实例  235
4.4.1 Linux内核的系统时间  235
4.4.2 闰秒发生的瞬间  238
4.4.3 进一步探索的指南  249
第5章 先行一步!RHEL6新功能综述  251
5.1 支持商品化硬件的“操作系统进化”  252
5.1.1 ext4文件系统的采用  253
5.1.2 NetworkManager服务的引入  254
5.1.3 用dracut创建初始RAM磁盘  256
5.1.4 通过anacron实现定期任务执行  260
5.2 对服务器启动处理进行变革的Upstart    264
5.2.1 Upstart的概要  264
5.2.2 Upstart任务的创建示例  268
5.3 用Control Groups控制资源分配  271
5.3.1 Control Group的概要  271
5.3.2 各子系统的主要参数  273
cpuset子系统  273
cpu子系统  275
memory子系统  276
blkio子系统  276
5.3.3 cg命令群的管理  279
5.3.4 虚拟机的cgroups操作  281
5.4 通过LXC体验容器型虚拟化技术  282
5.4.1 容器型虚拟化技术的概要  283
进程表的分割  283
文件系统的分割  284
网络的分割  284
CPU和内存的分割  285
5.4.2 容器中Web服务器的启动  285
5.4.3 其他的容器设置  289
COLUMN “人生20年论”和技能提高的秘诀  291
结语  292
参考文献  293

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载