在开发的过程中或者使用软件的过程中,经常会有需要多个程序同时在后台执行的情况,需要在开始工作前把程序一个一个的启动起来,然后才能进行后续的工作。之前通过使用screen可以实现多个任务同时运行,并且不依赖ssh远程连接,即时断线也不会影响正在运行的程序。唯一的缺点是初始化的时候仍需要一个一个的加入进去,十分麻烦,现在考虑使用shell脚本调用screen实现多个任务后台执行。
Category - 操作系统
首先说明一下为什么我们选择使用network,而不是NetworkManager进行网络管理。公司产品是自己的云计算平台,在网络管理部分使用的是openvswitch,NetworkManager可以使用nm-openvswitch进行间接管理ovs,但是其中有很多无法设置的部分,并且管理ovs初始化及后续功能使用scripts是相对容易的,另外对原network的管理模式比较清楚,故综合以上我们选择舍弃NetworkManager的优势,而选择更传统的network进行管理。
OCFS2是oracle的SAN集群共享文件系统,全称是oracle cluster file system 2,为了在新封装的Fedora系统中增加ocfs2的支持,需要对内核进行重新编译。
之前我们已经将操作系统定制完成,无论是定制的包还是系统的包,都按照我们的ks要求进行了安装,现在遇到的一个问题是想要在操作系统安装完毕后的第一次boot,执行且只执行一次系统初始化脚本。
最近在封装Fedora的ISO作为产品的安装部署工具,发现之前使用CentOS的启动加载内核的方式已经不适用了,无法在启动时加载。经过搜索引擎的帮助,和官方文档,发现fedora的机制和centos不一致。
在项目中遇到了一个和其他项目整合的一个需求,我们的虚拟机是以UUID的方式创建的,名称是存储在主节点的数据库中,整合的平台是使用ssh的方式到我们的服务器上进行数据采集,但是采集的虚拟机名称是UUID,并不是虚拟机的名称,这时候就需要进行转换UUID到VmName。
上一章节中,我们创建了自己的rpm包,这一章节中,将这个新的helloworld包放入我们的ISO构建过程中,让它能在系统安装过程中自动安装。
在之前的章节,已经将ISO重新封装的方法和使用kickstart自动化安装的过程讲完,现在要在操作系统中加入已经写好的程序,让它能够在系统安装过程中进行自动化安装,并在操作系统起来之后能够自动运行。
上一章我们实践了如何将Fedora重新打包成ISO,接下来对ISO安装过程进行定制,使用的技术主要是kickstart文件进行管理。
需求
以往的软件部署模式,经常是先在裸机上安装操作系统,然后再在操作系统上安装软件,常常会遇到操作系统版本不同,软件包兼容性问题,安装效率也十分低下,不能进行大规模批量部署。