免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123456
最近访问板块 发新帖
楼主: duanjigang
打印 上一主题 下一主题

《linux软件管理平台设计与实现》-问题大讨论与赠书活动(获奖名单已公布-2014-3-13) [复制链接]

论坛徽章:
0
51 [报告]
发表于 2013-11-22 13:28 |只看该作者
收藏一下,抽空学习。

论坛徽章:
1
52 [报告]
发表于 2013-11-24 09:58 |只看该作者
赠一本吧,楼主,

论坛徽章:
1
申猴
日期:2014-05-19 22:15:39
53 [报告]
发表于 2013-11-25 01:46 |只看该作者
本帖最后由 zhangxuan3210 于 2013-11-25 01:47 编辑

如下仅为自己对rpm和yum的见解,欢迎各种拍砖。
(1): 源代码怎样规范化管理?
对于源代码,需要经常进行update,commit,merge等,如果经常进行打包,个人感觉会比较麻烦,所以需要统一对源代码进行管理,可以通过svn,git等工具进行管理,个人推荐使用git会较好,能描述出各种不同的特性分支,较好的支持分布式代码管理。
(2): 怎样自动通过源代码生成RPM包?
通过源代码生成rpm包,需要编写出从源码到rpm包的spec文件,但对于源代码不断的打包,所以需要进行自动源代码打包,这样需要能够自动生成spec文件,这个可以通过spec的模板来生成,然后在打包时根据历史的版本号来自动生成新版本的rpm包。
(3): RPM包是怎样发布到yum仓库中的?
在rpm包打包完成后,需要将rpm包放入到yum仓库中,一般需要将rpm包上传到yum仓库后,然后进行createrepo建立索引,上述这些都可以通过自动化或平台来完成。
(4): 新发布的RPM包怎样快速生效能够安装到数万台服务器上去的?
在新发布rpm包后,如果需要快速生效并安装到数万台服务器上,就需要主动触发yum的client端进行update,这个可以通过借助设置crontab定期更新进行,或者其他自动化部署工具完成,例如puppet,chef等。
(5): RPM包/文件冲突是什么情况,又是怎样解决的?
rpm包文件冲突是由于在rpm在安装时发现rpm数据库中已存在同样的文件被安装,需要根据情况确认是否需要解决冲突,解决冲突需要重新编写spec文件打包或指定不同的安装路径,如果可以忽略,则可以通过安装时添加--force参数解决。
(6): rpm/yum管理时都会遇到哪些问题?
rpm包进行管理时问题:
需要针对各种平台编写spec文件,打出各种rpm包,并且需要解决各种依赖,在进行经常升级时,不宜于管理。
yum管理时问题:
需要创建yum源,并且解决yum源的故障问题导致的系统不可用,另针对yum源的高并发导致负载较大进行解决。
(7): yum仓库中的成千上万个RPM包如何快速建立索引?
当仓库中的文件较多时,需要将仓库进行隔离,比如专门建立建立索引的集群和专门提供下载rpm包的集群,这样保证建立索引的性能,或者在建立索引后进行cache。
(: 怎样保证yum服务的高可用?
可采用业内的各种高可用的方案,keepalived+lvs,hearbeat,nginx+mfs等
(9): 怎样构建一套稳定高效的软件管理平台?
一个稳定高效的软件管理平台需要满足:高可用性,易用,高可扩展,高性能等要求。
具体是:软件管理平台需要能够满足大量client端能高并发的在任何时候很方便的管理自己的软件。
(10):RPM之外的软件包怎样管理?
针对不同的业务场景和需求来进行不同的管理,例如:
针对频繁变动的软件包,可能需要通过其他的方式进行管理,必须持续部署等,cap,fabric等。
针对文件较小的软件包或文件,可以直接通过puppet,chef等配置管理工具进行管理。

评分

参与人数 1可用积分 +3 收起 理由
duanjigang + 3 很给力!

查看全部评分

论坛徽章:
0
54 [报告]
发表于 2013-11-25 10:26 |只看该作者
回复 53# zhangxuan3210

顶啊,回答的很专业,给力!:wink:


   

论坛徽章:
1
申猴
日期:2014-05-19 22:15:39
55 [报告]
发表于 2013-11-25 11:25 |只看该作者
回复 54# duanjigang
感谢lz的评价!

论坛徽章:
1
申猴
日期:2014-05-19 22:15:39
56 [报告]
发表于 2013-12-01 23:38 |只看该作者
本帖最后由 zhangxuan3210 于 2013-12-01 23:39 编辑

回复 55# zhangxuan3210
之前看过兰兰的三篇关于软件包管理的wiki文章,今天有看了一下对应新书,基本前三章和兰兰的wiki是一致的!
看看兰兰的后面的几章,很期待!下面是小弟看完目录后,自己yy的一些解决方案,不知道和兰兰书中的是否有相似的地方。
第五章:
5.1主要描述日常企业用到rpm管理工具时,遇到的常见的问题。
异域多机房:这个对于大型的公司,不同的地域进行rpm的管理肯定有,需要进行跨域的传输,这个就得进行rpm的多级发布,或者多个地域进行CDN,保证各个地域最终的package一致性。
服务器数量多:这个需要解决大量的client端同时访问yum源的问题,需要构成一个yum源的集群,存储package资源共享,保证数据的一致性,前端构成一个接入的yum集群。
软件数量多:针对多个不同的软件的不同rpm打包,所以需要有一个rpmbuild的模板,能尽快的进行打包。
os版本较多:针对不同的os的版本,可能需要提供不同的rpm的版本,这个需要搭建多个不同的os系统,除了rpm的打包模板外,还需要进行多个测试平台和发布平台,能实时的进行测试和发布。
服务高可用:
网络环境复杂:肯定需要有分级发布网络和各个yum源之间的版本校验,保证一个机房内有一个yum主源,并且各个yum源之前有对应的检验,保证版本一致。
第六章:
软件发布环节:必须有对应的发布流程和发布接口,让其他人很方便的发布,并运行起来。
软件更新设计: 和上面一样,需要提供对应的创建索引的流程和接口,能实现所有的yum源批量创建索引和更新索引
构建高可用索引服务器:为避免server端的大量软件包和client端的并发访问,可才开索引服务器和下载服务器。
加入镜像机制:避免client端的高并发访问。
加入缓存机制:避免client端的高并发访问
镜像和缓存的选择:目前还不清楚这两者的区别。
智能dns和多机房容灾:dns可以选择对索引服务器的和对下载服务器的。
节点数据同步优化:保证不同的索引服务器和不同的下载服务器之间的数据一致性。
关于索引服务器,我看到是有主备,我想着是准备搭建一个索引服务集群,然后通过数据共享,保证数据的一致性,当用户访问时,任意落到一台索引服务器,都拿到最新的索引数据。
第七章:
主要是针对第六章的不同问题解决方案的和网络架构描述。
第八章:
主要是第六章的不同问题的实现和接口化。

希望兰兰进行指正!


   

论坛徽章:
0
57 [报告]
发表于 2013-12-11 07:22 |只看该作者
从51cto中看到lz书籍的介绍,已经把试读的前2章看完了,自己也简单的成功编了几个rpm包

论坛徽章:
0
58 [报告]
发表于 2013-12-12 13:26 |只看该作者
回复 56# zhangxuan3210
呵呵,基本就是这些内容了,兄台可以先写下自己的想法,然后去读下这本书,有差异的地方可以一起交流,改进。
感兴趣的话,加入maillist:http://www.freelists.org/list/lsmd 发表高见。
或者QQ群: 260520282,难得有思想这么靠近的同行,荣幸。


   

论坛徽章:
0
59 [报告]
发表于 2013-12-12 13:28 |只看该作者
嗯,rpm 和 yum 只是基础,在掌握了这些知识后,5-8章才是飞跃阶段。继续读噢,有问题及时反馈给俺。

回复 57# 930567969



   

论坛徽章:
1
申猴
日期:2014-05-19 22:15:39
60 [报告]
发表于 2013-12-15 18:12 |只看该作者
回复 58# duanjigang


    之前就已加入到QQ群,关注群消息,呵呵!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP