用iptables做本机端口转发
如何建立自己的Apache扩展
假设有一个扩展Apache功能的模块mod_foo.c
,使用下列命令,可以将C源程序编译为共享模块,以在运行时加载到Apache服务器中:
$ apxs -c mod_foo.c
然后,必须修改Apache的配置,以确保有一个
/path/to/libtool --mode=compile gcc ... -c mod_foo.c
/path/to/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
$ _ LoadModule
指令来加载此共享对象。为了简化这一步骤,apxs
可以自动进行该作,以安装此共享对象到"modules"目录,并更新httpd.conf
文件,命令如下:
$ apxs -i -a mod_foo.la
如果配置文件中尚不存在,会增加下列的行:
/path/to/instdso.sh mod_foo.la /path/to/apache/modules
/path/to/libtool --mode=install cp mod_foo.la /path/to/apache/modules ... chmod 755 /path/to/apache/modules/mod_foo.so
[activating module 'foo' in /path/to/apache/conf/httpd.conf]
$ _
LoadModule foo_module modules/mod_foo.so
如果你希望默认禁用此模块,可以使用 -A
选项,即:
$ apxs -i -A mod_foo.c
要快速测试apxs机制,可以建立一个Apache模块样板及其对应的Makefile :
$ apxs -g -n foo
然后,立即可以编译此样板模块为共享对象并加载到Apache服务器中:
Creating [DIR] foo
Creating [FILE] foo/Makefile
Creating [FILE] foo/modules.mk
Creating [FILE] foo/mod_foo.c
Creating [FILE] foo/.deps
$ _
$ cd foo
$ make all reload
apxs -c mod_foo.c
/path/to/libtool --mode=compile gcc ... -c mod_foo.c
/path/to/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
apxs -i -a -n "foo" mod_foo.la
/path/to/instdso.sh mod_foo.la /path/to/apache/modules
/path/to/libtool --mode=install cp mod_foo.la /path/to/apache/modules ... chmod 755 /path/to/apache/modules/mod_foo.so
[activating module 'foo' in /path/to/apache/conf/httpd.conf]
apachectl restart
/path/to/apache/sbin/apachectl restart: httpd not running, trying to start
[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
/path/to/apache/sbin/apachectl restart: httpd started
$ _
如何解决时间同步引起oracle 不稳定的问题
数据库服务器的时间与真实时间一旦出现差异,就要对数据库服务器进行时间同步。很多地方都把ntpdate放到cron中,5分钟自动同步一次。然而,这么做,常常会引会数据库ORA-01555,甚至db crash。
找到一种方法据说可以解决这个问题。即使用ntpd -x来同步时间 instead of ntpdate。
实际上ntpd,不只是一种时间服务器的server端,同时也可以做client端,相当于ntpdate。当它做client时,与ntpdate的差别是,ntpdate已近淘汰,ntpd则可看作是它升级版。
下面的方法是讲如何在linux的环境中设置ntpd:
1. 修改/etc/ntp.conf
2. 加入time server。每个数据库中心都应用会有一组时间服务器,可以找sa要, 比如国际站,加入:
server ntp1.alibaba.com
server ntp2.alibaba.com
server ntp3.alibaba.com
ntp.conf有很多参数,都忽略就行。
3. 修改/etc/sysconfig/ntpd, 加入-x参数,变成:
OPTIONS="-U ntp -x -p /var/run/ntpd.pid"
这据说是为db同步所要求的。
4. 首先同步一次时间:
ntpdate time.nist.gov; hwclock --systohc
如果数据库还要在运行,建议不要这么做。待例行维护时再处理。
5. 然后启动ntpd:
/etc/init.d/ntpd start
6. 最后加入到自动启动列表:
chkconfig --level 2345 ntpd on
多台slave的mysql Replication的配置
5.1.24版本的配置请看:http://www.masalife.com/archives/173
一、先修改服务器的配置文件
1、Master服务器配置简单,修改my.cnf为:
server-id = 1
log-bin
set-variable=binlog-ignore-db=mysql
2、slave1的配置加入
server-id = 2
master-host = 172.16.20.135
master-user = rep
master-password = cnrep
master-port = 3306
log-bin
set-variable=replicate-ignore-db=mysql
set-variable=replicate-do-db=AliSMS
set-variable=replicate-do-db=lcd
set-variable=replicate-do-db=loginmanager
set-variable=replicate-do-db=samis
set-variable=replicate-do-db=sareport
set-variable=replicate-do-db=syslog
set-variable=replicate-do-db=web_speed
log-slave-updates
3、slave2服务器的配置
server-id = 3
master-host = 172.16.20.3
master-user = rep1
master-password = cnrep
master-port = 3306
set-variable=replicate-ignore-db=mysql
set-variable=replicate-do-db=AliSMS
set-variable=replicate-do-db=lcd
set-variable=replicate-do-db=loginmanager
set-variable=replicate-do-db=samis
set-variable=replicate-do-db=sareport
set-variable=replicate-do-db=syslog
set-variable=replicate-do-db=web_speed
二、重启master数据库
三、然后锁定master数据库的表:
mysql>FLUSH TABLES WITH READ LOCK;
四、在master数据库中添加用于slave1同步的用户,并赋予相关权限:
mysql>GRANT REPLICATION SLAVE ON *.* TO rep@sa_cfengine1 IDENTIFIED BY 'cnrep';
mysql>GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO rep@sa_cfengine1 IDENTIFIED BY 'cnrep';
五、在slave1数据库中添加用于slave2同步的用户,并赋予相关权限:
mysql>GRANT REPLICATION SLAVE ON *.* TO rep1@sa_cfengine2 IDENTIFIED BY 'cnrep';
mysql>GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO rep1@sa_cfengine2 IDENTIFIED BY 'cnrep';
六、同步数据库:
方法很多,可以打包之后scp,再解压,由于sa_cfengine1到mysql master服务器通道打通了,切sa_cfengine2到sa_cfengine1通道也打了,故直接scp整个数据库目录即可。
注意:此时要注意删除同步过来的日志文件,最好把与数据库无关的文件全删除(可以将非目录的文件全删了)。
七、重启salve1的mysql,起来之后锁定表
八、重启slave2的mysql,然后先后给slave1和master服务器的mysql表解锁
mysql> UNLOCK TABLES;
九、分别登录slave1和slave2的mysql,查看同步状态:
mysql>SHOW SLAVE STATUS\G*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.16.20.135
Master_User: rep
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000051
Read_Master_Log_Pos: 13856842
Relay_Log_File: sa_cfengine1-relay-bin.000013
Relay_Log_Pos: 624419
Relay_Master_Log_File: mysql-bin.000051
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: AliSMS,lcd,loginmanager,samis,sareport,syslog,web_speed
Replicate_Ignore_DB: mysql,mysql
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 13856842
Relay_Log_Space: 624419
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
1 row in set (0.01 sec)
注意标注为红色的地方,两个都是yes说明一切正常,否则要检查原因,可以看error log查找原因后做相应的处理。
十、测试:
在master数据库中update在同步列表中的一个表的一个字段,如果slave服务器的做相应改变,则测试用过。
yahoo、taobao云计算利器之“云”端的小飞象—Hadoop
“云”端的小飞象—Hadoop
孙 牧
Hadoop简史
在搜索技术界,也许有人不熟悉Doug Cutting,但很少有人不知道Lucene这个著名的全文检索引擎。事实上,Lucene应该是Doug Cutting的成名作,它被广泛地应用在各种规模的网站和系统中,甚至Eclipse中的搜索功能也是Lucene来实现的。
但Doug Cutting并没有满足Lucene取得的成绩。2002年,他发起了一个基于Lucene的开源项目Nutch,其目标是构建出一个包括网络蜘蛛、文件存储等模块的网页搜索系统。经过2年的努力,Nutch虽然可以用4台机器支持1亿网页的抓取和检索,但系统的扩展性开始遇到瓶颈。恰在此时,发表了GFS、MapReduce的论文,这两个创新性的思路点燃了Nutch 2名开发人员的斗志,他们又花了2年的业余时间实现了DFS(分布式文件系统)和MapReduce机制,这次改造使Nutch可以在20台机器上支持几亿的数据规模,其编程和运维的简易性也得到了大幅提升,但系统的吞吐能力与一个真正的网页搜索系统仍有不小的差距。
2006年,开源社区如火如荼,当佬雅虎在思索构建一个高度利用硬件资源、维护和开发都非常简易的软件架构时,Doug Cutting和他的Nutch进入了他们的视野。一方具有超强的技术前瞻性和实战经验,另一方能提供世界上数一数二的数据、硬件和人力资源,双方一拍即合,同年1月Doug Cutting正式加入雅虎,2月Hadoop从Nutch中分离出来,正式成为Apache组织中一个专注于DFS和MapReduce的开源项目。
2008年2月,又是两年,雅虎宣布搭建出一个世界上最大的基于Hadoop的生产集群系统—Yahoo! Search Webmap(简单地讲,就是雅虎网页搜索抓取的所有站点和网页及其关系的数据库),下面一组数据可以让我们对该系统的规模有个初步的认识:
Ø 页面之间的链接数超过1000亿;
Ø Webmap输出的压缩数据超过300TB(Terabyte);
Ø 有单一的MapReduce任务同时在1万多个CPU的核(core)上运行;
Ø 生产集群硬盘空间占用超过5PB(Petabyte);
Ø 与原来没用Hadoop的方案相比节约了30%的时间。
这时候,可以说Doug Cutting想构建一个Web-scale级别系统的心愿也终于实现了!
Hadoop的系统架构
简单地讲,Hadoop是一个可以更容易开发和并行处理大规模数据的分布式计算平台。它的主要特点是:扩容能力(Scalable)、成本低(Economical)、高效率(Efficient)、可靠性(Reliable)。另外,Hadoop是一款完全用Java开发的开源软件,因此它可以运行在多种作系统和商用硬件上。
Hadoop主要由两部分构成:Hadoop分布式文件系统(HDFS)和MapReduce的实现。
HDFS和MapReduce的关系如下图所示:
MapReduce是依赖于HDFS实现的。通常MapReduce会将被计算的数据分为很多小块,HDFS会将每个块复制若干份以确保系统的可靠性,同时它按照一定的规则将数据块放置在集群中的不同机器上,以便MapReduce在数据宿主机器上进行最便捷的计算。
下面我们再深入一些看看HDFS和MapReduce的实现细节:
HDFS
HDFS设计时基于如下的前提和目标:
1. 硬件错误是常态而不是异常:HDFS可能由成百上千的服务器所构成,每个服务器上存储着文件系统的部分数据。任一组件都有可能失效,这意味着总是有一部分HDFS的组件是不工作的。因此错误检测和快速、自动的恢复是HDFS最核心的架构目标。
2. 流式数据访问:HDFS的设计中更多的考虑到了数据批处理,而不是用户交互处理。比之数据访问的低延迟问题,更关键的在于数据访问的高吞吐量。
3. 大规模数据集:HDFS上的一个典型文件大小一般都在G字节至T字节。因此,HDFS被调节以支持大文件存储,并能提供整体上高的数据传输带宽,能在一个集群里扩展到数百个节点。一个单一的HDFS实例应该能支撑数以千万计的文件。
4. 简单的一致性模型:HDFS应用需要一个"一次写入多次读取"的文件访问模型。文件经过创建、写入和关闭之后就不需要改变。这一假设简化了数据一致性问题,并且使高吞吐量的数据访问成为可能。MapReduce应用或者网络爬虫应用都非常适合这个模型。
5. 移动计算比移动数据更划算:一个应用请求的计算,离它作的数据越近就越高效,在数据达到海量级别的时候更是如此。因为这样就能降低网络阻塞的影响,提高系统数据的吞吐量。HDFS为应用提供了将计算移动到数据附近的接口。
6. 异构软硬件平台间的可移植性:这种特性方便了HDFS作为大规模数据应用平台的推广。
HDFS的系统架构如下图所示:
HDFS采用Master/Slave架构,一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的名字空间(Namespace)以及客户端对文件的访问。集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。
从内部看,一个文件其实被分成一个或多个数据块(Block),这些块存储在一组Datanode上。Namenode执行文件系统的名字空间作,比如打开、关闭、重命名文件或目录,它也负责确定数据块到具体Datanode节点的映射。Datanode负责处理文件系统客户端的读写请求,在Namenode的统一调度下进行数据块的创建、删除和复制。
单一节点的Namenode大大简化了系统的架构。Namenode负责保管和管理所有的HDFS元数据(Metadata),因而用户数据就不需要通过Namenode(也就是说文件数据的读写是直接在Datanode上)。
从内部看,一个文件其实被分成一个或多个数据块(Block),这些块存储在一组Datanode上。Namenode执行文件系统的名字空间作,比如打开、关闭、重命名文件或目录,它也负责确定数据块到具体Datanode节点的映射。Datanode负责处理文件系统客户端的读写请求,在Namenode的统一调度下进行数据块的创建、删除和复制。
单一节点的Namenode大大简化了系统的架构。Namenode负责保管和管理所有的HDFS元数据(Metadata),因而用户数据就不需要通过Namenode(也就是说文件数据的读写是直接在Datanode上)。
MapReduce
MapReduce是一种高效的分布式编程模型,同时是一种用于处理和生成大规模数据集的实现方式。其实,现实世界中很多计算任务都可以用这个模型来表达,熟悉Unix Shell的同学一定写过类似这样的命令行:
~> cat input | grep xxx | sort | uniq -c | cat > output
上面每个管道符中间正好对应了一个典型MapReduce的几个阶段:
Input | Map | Shuffle & Sort | Reduce | Output
下图表明了这几个阶段的工作流及结构关系:
1. Input:一个Hadoop MapReduce应用通常需要提供一对通过实现合适的接口或抽象类提供的Map和Reduce函数,还应该指明输入/输出的位置(路径)和其他一些运行参数。此外,此阶段还会把输入目录下的大数据文件切分为若干的数据块。
2. Map:MapReduce框架把应用作业的输入看为是一组<key, value> 键值对,在Map这个阶段,框架会调用用户自定义的Map函数处理每一个<key, value> 键值对,生成一批新的中间<key, value> 键值对,这两组键值对的类型可能不同。
3. Shuffle & Sort:为了保证Reduce的输入是Map排好序的输出。在Shuffle阶段,框架通过HTTP为每个Reduce获得所有Map输出中与之相关的<key, value> 键值对;而在Sort阶段,框架将按照key的值对Reduce的输入进行分组(因为不同map的输出中可能会有相同的key)。通常Shuffle和Sort两个阶段是同时进行的,Reduce的输入也是一边被取回,一边被合并的。
4. Reduce:此阶段会遍历中间数据,对每一个唯一key,执行用户自定义的Reduce函数(输入参数是<key, (list of values)>),输出是新的<key, value> 键值对。
Output:此阶段会把Reduce输出的结果写入输出目录的文件中。这样,一个典型的MapReduce过程就结束了。
这里需要强调两点:
1. 整个过程中,Hadoop框架负责任务的调度和监控,以及重新执行已经失败的任务。
2. 虽然Hadoop框架是用Java实现的,但MapReduce应用程序则不一定要用 Java来写。比如:Hadoop Streaming是一种运行作业的实用工具,它允许用户创建和运行任何可执行程序(例如:Shell工具)来做为Map和Reduc作。另外,Hadoop Pipes是一个与SWIG兼容的C++ API(没有基于JNI技术),它也可用于实现Map和Reduc作。
基于Hadoop的其他开源项目
Pig - http://incubator.apache.org/pig/
Pig是Yahoo!捐献给Apache的一个项目,目前还在Apache孵化器(incubator)阶段,目前版本是V0.1.0,但基本功能已经可用了。Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-like语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简易的作和编程接口。
ZooKeeper - http://hadoop.apache.org/zookeeper/
ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组(Group)服务等。ZooKeeper的目标就是封装好这些复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooKeeper的一些与的Chubby lock service很相似。
HBase - http://hadoop.apache.org/hbase/
HBase也是Hadoop的正式子项目,它是一个面向列的分布式数据库,其源于的BigTable论文。目前该项目的主要开发人员来自刚被Microsoft收购的Powerset公司。
Mahout - http://lucene.apache.org/mahout/
Mahout是一个利用Map/Reduce的机器学习算法库,其源于斯坦福大学的几个学者在06年的nips会议上发表的一篇文章"Map-Reduce for Machine Learning on Multicore"。
Hive - http://mirror..com//hive/
Hive是Facebook 08年8月刚开源的一个数据仓库框架,其系统目标与Pig有相似之处,但它有一些Pig目前还不支持的机制,比如:更丰富的类型系统、更类似SQL的查询语言、Table/Partition元数据的持久化。目前,Facebook已经提交了申请,希望Hive成为Hadoop的一个贡献项目(contrib project)。
有谁在用Hadoop?
在Yahoo!,Hadoop目前除了被用于网页搜索中的Webmap中,还广泛地被用到Yahoo!的日志分析、广告计算、科研实验中。另外,2007年年底Yahoo!和卡耐基-梅隆大学发起的Open Academic Clusters--M45,至今已经发展为500多台的集群,并完成了多个颇具学术价值的项目。
Amazon的搜索门户A9.com中的商品搜索的索引生成就是基于Hadoop完成的。另外,Amazon最近发布的GrepTheWeb Web Service,内部使用了基于EC2(Elastic Compute Cloud)的Hadoop集群,承担其中的并行计算工作。
著名SNS网站Facebook用Hadoop构建了整个网站的数据仓库,它目前有320多台机器进行网站的日志分析和数据挖掘。此外,在IBM 2007年年底的蓝云计算集群中也采用了Hadoop进行并行计算。
展望
必须承认,在Hadoop及其相关的开源项目中,可以看到系统架构中核心要素GFS、MapReduce、BigTable、Sawzall、Chubby的身影。因此,从某个角度来说,Hadoop目前还是一个模仿者、跟随者。当大家看到这篇文章时,Hadoop应该已经发布0.18了,从版本号来看,无疑Hadoop还是一只幼年的小飞象,但就是这只看似笨拙的小飞象,却承载着Doug Cutting及其伙伴坚持不懈的努力和造福开源社区的决心。因此,我们有理由相信,在“云计算”时代即将来临之际,Hadoop所营造的一个软件生态系统,必将成为一个最符合“、平等和分享”的互联网的云计算实践平台。
参考链接
1. Hadoop项目主页:http://hadoop.apache.org/
2. 更多的Hadoop应用案例:http://wiki.apache.org/hadoop/PoweredBy
3. Yahoo!Hadoop研发团队的Blog:http://developer.yahoo.com/blogs/hadoop
台湾的零蛋月台
51ditu等网站技术揭秘-利用开源框架搭建一整套的WEBGIS
[文章作者:陈臻 本文版本:v1.0 最后修改:2009.1.8 转载请注明原文链接:http://www.54chen.com/c/387]
感谢老早前李兄做的tech talk,一直有人在问及51ditu和mapbar什么的都怎么做的,老是记不住这些开源的东东都什么名字,特做下记录。
下图是一个完整的方案图:
其中所涉及的开源技术有:
软件名称 | License 类型 | 编程 语言 | 运行环境 | 用途 |
PostGIS | GPL | Plpgsql | Postgresql | 存储数据 |
MapServer | MapServer License | C++ | UNIX like/ Windows | 提供地图相关服务 |
TileCache | BSD | Python | All Platform | 图片缓存 |
OpenLayers | BSD | Javascript | IE/Firefox | 客户端展现控制 |
GDAL/OGR | MIT License | C++ | UNIX like/ Windows | 数据格式导换 |
再简单解释下:
1.PostGis是PGSQL的一个扩展,在遵循OpenGIS规范下,提供空间对象、空间索引、空间作函数和空间作符等空间信息服务功能。2.MapServer可以提供openGIS规范的各种接口。
3.MapServer根据参数中指定的路径读取mapfile文件和SLD文件。
4.使用SLD(Styled Layer Descriptors ), Mapfile控制地图显示样式。
5.根据SLD和mapfile的样式参数,配合GD(Graphics Library)进行的图形制作。
6.查询只与pgsql有关
Eclipse远程调试JBoss应用设置(linux&win版本)
- 修改JBoss启动配置
#JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"
将其修改为:
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
(最后的y改成n)
其中:8787为调试的端口号;
WIN:
直接修改run.bat,找到这一行,删除前面的rem,修改suspend为n。
- 启动JBoss
其中192.168.1.x是Jboss所在机器的ip;
- 新建调试配置
- 调试
轻点魔棒,瞬间安装上百台服务器
转自: 知道分子查看完整个人资料 http://hutuworm.blogspot.com
从前,我们一直在做装机民工这份很有前途的职业。自打若干年前 Red Hat 推出了Kickstart,此后我们顿觉身价倍增。不再需要刻了光盘一台一台地安装 Linux,只要搞定PXE、DHCP、TFTP,还有那满屏眼花缭乱不知所云的 Kickstart脚本,我们就可以像哈里波特一样,轻点魔棒,瞬间安装上百台服务器。这一堆花里胡哨的东西可不是一般人都能整明白的,没有大专以上学 历,通不过英语四级,根本别想玩转。总而言之,这是一份多么有前途,多么有技术含量的工作啊。
很不幸,Red Hat 最新发布了网络安装服务器套件Cobbler(补鞋匠),它已将 Linux网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。对于我们这些在装机领域浸淫多年,经验丰富,老骥伏枥,志在 千里的民工兄弟们来说,不啻为一个晴天霹雳(}雷{)。
Cobbler(https://fedorahosted.org/cobbler)声称可以快速建立网络安装环境(rapid setup ofnetwork installation environments),那么到底有多快呢?我在一台装有 Fedora 9的服务器上进行了测试,步骤如下:
1. 安装相关软件:
yum -y install cobbler tftp-server dhcp httpd xinetd # 注意 /var/www/cobbler 目录必须具有足够容纳 Linux 安装文件的空间(移动,建软链接)
2. 检查 cobbler 配置:
cobbler check # 按提示解决相关问题,把 /etc/cobbler/settings 中的 server 和 next_server 设为本服务器的 IP 地址,manage_dhcp 设为 1,以便管理 DHCP
3. 导入 Fedora 9 安装 DVD ISO 中的文件:
mount -o loop Fedora9/x86_64/Fedora-9-x86_64-DVD.iso /mnt/dvd/ # 将ISO文件挂载到 /mnt/dvd 目录
cobbler import --mirror=/mnt/dvd --name=FC9-x86-64 # 从 /mnt/dvd 目录导入所有安装文件,命名为 FC9-x86-64
cobbler distro list # 查看导入结果,应显示 FC9-64-i386 和 FC9-64-xen-i386
4. 修改 DHCP 和 Kickstart 配置模板:
vi /etc/cobbler/dhcp.template # DHCP 配置模板,如果已经有一个 dhcpd.conf,可参照修改此模板
vi /etc/cobbler/sample.ks # Kickstart 配置模板
5. 生成并同步所有配置:
cobbler sync
6. 启动相关服务:
service xinetd start # /etc/xinetd.d/tftp 中 disable = no
service dhcpd start
service cobblerd start
曹植七步成诗,而 Cobbler 居然只需要六步。启动另一台新服务器,通过 PXE 启动进入蓝色的 Cobbler 安装界面,选择 Fedora 9 安装项,几分钟之内就能一气呵成,自动完成系统安装。[OVER]