1
2
3
4
5
6
7
8
9
10
11
12
13
<code>我的部落格已遷移到xdoujiang.com請去那邊和我交流</code>
<code>一、基礎環境</code>
<code>1、關閉selinux服務 </code>
<code>sed</code> <code>-i </code><code>'s/SELINUX=.*/SELINUX=disabled/'</code> <code>/etc/selinux/config</code>
<code>setenforce 0</code>
<code>2、關閉iptables服務</code>
<code>chkconfig iptables off</code>
<code>iptables -F</code>
<code>/etc/init</code><code>.d</code><code>/iptables</code> <code>save</code>
<code>/etc/init</code><code>.d</code><code>/iptables</code> <code>stop</code>
<code>3、serverA橋接模式</code>
<a href="http://s3.51cto.com/wyfs02/M01/6F/53/wKioL1WZNaKAtUljAAILXuBa5GU468.jpg" target="_blank"></a>
<code>4、服務端serverA=192.168.1.120(我這裡隻使用了eth0網絡接口)</code>
<a href="http://s3.51cto.com/wyfs02/M01/6F/55/wKiom1WZM-vi9bcvAAGVZ-DU4A4692.jpg" target="_blank"></a>
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
<code>5、之前已經下載下傳好了2張dvd</code>
<code>CentOS-6.6-x86_64-bin-DVD1.iso和CentOS-6.6-x86_64-bin-DVD2.iso</code>
<code>二、安裝cobbler(serverA)</code>
<code>1、安裝所需要的包</code>
<code>yum -y </code><code>install</code> <code>cobbler debmirror pykickstart openssl fence-agents dnsmasq syslinux</code>
<code>2、先看下cobbler指令有哪些</code>
<code>cobbler</code>
<code>usage</code>
<code>=====</code>
<code>cobbler <distro|profile|system|repo|image|mgmtclass|package|</code><code>file</code><code>> ... </code>
<code> </code><code>[add|edit|copy|getks*|list|remove|rename|report] [options|--help]</code>
<code>cobbler <aclsetup|buildiso|</code><code>import</code><code>|list|replicate|report|reposync|</code><code>sync</code><code>|validateks|version|signature|get-loaders|hardlink> [options|--help]</code>
<code>3、cobbler check(檢查配置)</code>
<code>The following are potential configuration items that you may want to fix:</code>
<code>1)The </code><code>'server'</code> <code>field </code><code>in</code> <code>/etc/cobbler/settings</code> <code>must be </code><code>set</code> <code>to something other than localhost, or kickstarting features will not work. </code>
<code>This should be a resolvable </code><code>hostname</code> <code>or IP </code><code>for</code> <code>the boot server as reachable by all machines that will use it.</code>
<code>2)For PXE to be functional, the </code><code>'next_server'</code> <code>field </code><code>in</code> <code>/etc/cobbler/settings</code> <code>must be </code><code>set</code> <code>to something other than 127.0.0.1, </code>
<code>and should match the IP of the boot server on the PXE network.</code>
<code>3)SELinux is enabled. Please review the following wiki page </code><code>for</code> <code>details on ensuring cobbler works correctly </code><code>in</code> <code>your SELinux environment:</code>
<code> </code><code>https:</code><code>//github</code><code>.com</code><code>/cobbler/cobbler/wiki/Selinux</code>
<code>4)some network boot-loaders are missing from </code><code>/var/lib/cobbler/loaders</code><code>, you may run </code><code>'cobbler get-loaders'</code> <code>to download them, or, </code>
<code>if</code> <code>you only want to handle x86</code><code>/x86_64</code> <code>netbooting, you may ensure that you have installed a *recent* version of the syslinux </code>
<code>package installed and can ignore this message entirely. Files </code><code>in</code> <code>this directory, should you want to support all architectures, </code>
<code>should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The </code><code>'cobbler get-loaders'</code> <code>command</code> <code>is the easiest way to resolve these requirements.</code>
<code>5)change </code><code>'disable'</code> <code>to </code><code>'no'</code> <code>in</code> <code>/etc/xinetd</code><code>.d</code><code>/rsync</code>
<code>6)comment out </code><code>'dists'</code> <code>on </code><code>/etc/debmirror</code><code>.conf </code><code>for</code> <code>proper debian support</code>
<code>7)comment out </code><code>'arches'</code> <code>on </code><code>/etc/debmirror</code><code>.conf </code><code>for</code> <code>proper debian support</code>
<code>8)The default password used by the sample templates </code><code>for</code> <code>newly installed machines (default_password_crypted </code><code>in</code>
<code>/etc/cobbler/settings</code><code>) is still </code><code>set</code> <code>to </code><code>'cobbler'</code> <code>and should be changed, try: "openssl </code><code>passwd</code> <code>-1 -salt </code><code>'random-phrase-here'</code>
<code>'your-password-here'</code><code>" to generate new one</code>
<code>Restart cobblerd and </code><code>then</code> <code>run </code><code>'cobbler sync'</code> <code>to apply changes.</code>
<code>4、下載下傳用戶端啟動檔案</code>
<code>cd</code> <code>/var/lib/cobbler/loaders</code>
<code>cat</code> <code>filelist.txt</code>
<code>http:</code><code>//dgoodwin</code><code>.fedorapeople.org</code><code>/loaders/README</code>
<code>http:</code><code>//dgoodwin</code><code>.fedorapeople.org</code><code>/loaders/COPYING</code><code>.elilo</code>
<code>http:</code><code>//dgoodwin</code><code>.fedorapeople.org</code><code>/loaders/COPYING</code><code>.yaboot</code>
<code>http:</code><code>//dgoodwin</code><code>.fedorapeople.org</code><code>/loaders/COPYING</code><code>.syslinux </code>
<code>http:</code><code>//dgoodwin</code><code>.fedorapeople.org</code><code>/loaders/elilo-3</code><code>.8-ia64.efi</code>
<code>http:</code><code>//dgoodwin</code><code>.fedorapeople.org</code><code>/loaders/yaboot-1</code><code>.3.14-12</code>
<code>http:</code><code>//dgoodwin</code><code>.fedorapeople.org</code><code>/loaders/pxelinux</code><code>.0-3.61</code>
<code>http:</code><code>//dgoodwin</code><code>.fedorapeople.org</code><code>/loaders/menu</code><code>.c32-3.61</code>
<code>http:</code><code>//dgoodwin</code><code>.fedorapeople.org</code><code>/loaders/grub-0</code><code>.97-x86.efi</code>
<code>http:</code><code>//dgoodwin</code><code>.fedorapeople.org</code><code>/loaders/grub-0</code><code>.97-x86_64.efi</code>
<code>wget -i filelist.txt</code>
<code>5、修改</code><code>/etc/cobbler/settings</code><code>配置檔案</code>
<code>1)先備份下配置</code>
<code>cp</code> <code>/etc/cobbler/settings</code> <code>/etc/cobbler/settings</code><code>.bak</code>
<code>2)生成密碼</code>
<code>openssl </code><code>passwd</code> <code>-1 -salt </code><code>'root'</code> <code>'redhat'</code>
<code>$1$root$M1uN9dLHipbORRwJW</code><code>/xR3/</code>
<code>3)開始修改</code>
<code>sed</code> <code>-i </code><code>'s/^server:.*/server: 192.168.1.120/'</code> <code>/etc/cobbler/settings</code>
<code>sed</code> <code>-i </code><code>'s/^next_server:.*/next_server: 192.168.1.120/'</code> <code>/etc/cobbler/settings</code>
<code>sed</code> <code>-i </code><code>'/default_password_crypted/c\default_password_crypted:\ "$1$root$M1uN9dLHipbORRwJW/xR3/"'</code> <code>/etc/cobbler/settings</code>
<code>sed</code> <code>-i </code><code>'s/^manage_dhcp:.*/manage_dhcp: 1/'</code> <code>/etc/cobbler/settings</code>
<code>sed</code> <code>-i </code><code>'s/^manage_dns:.*/manage_dns: 1/'</code> <code>/etc/cobbler/settings</code>
<code>sed</code> <code>-i </code><code>'s/^manage_tftpd:.*/manage_tftpd: 1/'</code> <code>/etc/cobbler/settings</code>
<code>sed</code> <code>-i </code><code>'s/^restart_dhcp:.*/restart_dhcp: 1/'</code> <code>/etc/cobbler/settings</code>
<code>sed</code> <code>-i </code><code>'s/^restart_dns:.*/restart_dns: 1/'</code> <code>/etc/cobbler/settings</code>
<code>sed</code> <code>-i </code><code>'s/^pxe_just_once:.*/pxe_just_once: 1/'</code> <code>/etc/cobbler/settings</code>
<code>6、修改</code><code>/etc/xinetd</code><code>.d</code><code>/rsync</code><code>配置檔案</code>
<code>cp</code> <code>/etc/xinetd</code><code>.d</code><code>/rsync</code> <code>/etc/xinetd</code><code>.d</code><code>/rsync</code><code>.bak</code>
<code>2)開始修改</code>
<code>sed</code> <code>-i </code><code>'/disable/s/yes/no/g'</code> <code>/etc/xinetd</code><code>.d</code><code>/rsync</code>
<code>7、修改</code><code>/etc/cobbler/modules</code><code>.conf配置檔案</code>
<code>cp</code> <code>/etc/cobbler/modules</code><code>.conf </code><code>/etc/cobbler/modules</code><code>.conf.bak</code>
<code>diff</code> <code>/etc/cobbler/modules</code><code>.conf </code><code>/etc/cobbler/modules</code><code>.conf.bak </code>
<code>56c56</code>
<code>< module = manage_dnsmasq</code>
<code>---</code>
<code>> module = manage_bind</code>
<code>69c69</code>
<code>> module = manage_isc</code>
<code>8、修改</code><code>/etc/cobbler/dnsmasq</code><code>.template配置檔案</code>
<code>cp</code> <code>/etc/cobbler/dnsmasq</code><code>.template </code><code>/etc/cobbler/dnsmasq</code><code>.template.bak</code>
<code>diff</code> <code>/etc/cobbler/dnsmasq</code><code>.template </code><code>/etc/cobbler/dnsmasq</code><code>.template.bak </code>
<code>11c11</code>
<code>< dhcp-range=192.168.1.140,192.168.1.150</code>
<code>> dhcp-range=192.168.1.5,192.168.1.200</code>
<code>9、修改kickstart配置檔案</code>
<code>1)進入目錄</code>
<code>cd</code> <code>/var/lib/cobbler/kickstarts</code>
<code>2)複制模闆給centos6.6x86_64.cfg</code>
<code>cp</code> <code>sample_end.ks centos6.6x86_64.cfg</code>
<code>3)修改預設的模闆為centos模闆</code>
<code>cobbler profile edit --name=CentOS6.6-x86_64 --kickstart=</code><code>/var/lib/cobbler/kickstarts/centos6</code><code>.6x86_64.cfg</code>
<code>4)具體配置</code>
<code>cat</code> <code>centos6.6x86_64.cfg</code>
<code>auth --useshadow --enablemd5</code>
<code>bootloader --location=mbr</code>
<code>clearpart --all --initlabel</code>
<code>text</code>
<code>firewall --disabled</code>
<code>firstboot --disable</code>
<code>keyboard us</code>
<code>lang en_US</code>
<code>url --url=$tree</code>
<code>$yum_repo_stanza</code>
<code>$SNIPPET(</code><code>'network_config'</code><code>)</code>
<code>reboot</code>
<code>rootpw --iscrypted $default_password_crypted</code>
<code>selinux --disabled</code>
<code>skipx</code>
<code>timezone Asia</code><code>/shanghai</code>
<code>install</code>
<code>zerombr</code>
<code>part </code><code>/boot</code> <code>--fstype=ext4 --size=200</code>
<code>part swap --fstype=swap --size=2048</code>
<code>part / --fstype=ext4 --size=10000</code>
<code>part </code><code>/opt</code> <code>--fstype=ext4 --grow --size=1</code>
<code>%pre</code>
<code>$SNIPPET(</code><code>'log_ks_pre'</code><code>)</code>
<code>$SNIPPET(</code><code>'kickstart_start'</code><code>)</code>
<code>$SNIPPET(</code><code>'pre_install_network_config'</code><code>)</code>
<code>$SNIPPET(</code><code>'pre_anamon'</code><code>)</code>
<code>%end</code>
<code>%packages --nobase</code>
<code>wget</code>
<code>vim</code>
<code>openssh-server</code>
<code>$SNIPPET(</code><code>'func_install_if_enabled'</code><code>)</code>
<code>%post --nochroot</code>
<code>$SNIPPET(</code><code>'log_ks_post_nochroot'</code><code>)</code>
<code>%post</code>
<code>$SNIPPET(</code><code>'log_ks_post'</code><code>)</code>
<code>$yum_config_stanza</code>
<code>$SNIPPET(</code><code>'post_install_kernel_options'</code><code>)</code>
<code>$SNIPPET(</code><code>'post_install_network_config'</code><code>)</code>
<code>$SNIPPET(</code><code>'func_register_if_enabled'</code><code>)</code>
<code>$SNIPPET(</code><code>'download_config_files'</code><code>)</code>
<code>$SNIPPET(</code><code>'koan_environment'</code><code>)</code>
<code>$SNIPPET(</code><code>'redhat_register'</code><code>)</code>
<code>$SNIPPET(</code><code>'cobbler_register'</code><code>)</code>
<code>$SNIPPET(</code><code>'post_anamon'</code><code>)</code>
<code>$SNIPPET(</code><code>'kickstart_done'</code><code>)</code>
<code>10、挂載并導入dvd iso</code>
<code>1)挂載第1張dvd</code>
<code>mount</code> <code>-o loop </code><code>/opt/CentOS-6</code><code>.6-x86_64-bin-DVD1.iso </code><code>/mnt</code>
<code>cobbler </code><code>import</code> <code>--arch=x86_64 --path=</code><code>/mnt</code> <code>--name=centos6.6</code>
<code>umount</code> <code>/mnt</code>
<code>2)挂載第2張dvd</code>
<code>mount</code> <code>-o loop </code><code>/opt/CentOS-6</code><code>.6-x86_64-bin-DVD2.iso </code><code>/mnt</code>
<code>cp</code> <code>-rf </code><code>/mnt/Packages/</code> <code>/var/www/cobbler/ks_mirror/centos6</code><code>.6-x86_64/</code>
<code>11、建立索引</code>
<code>cd</code> <code>/var/www/cobbler/ks_mirror/centos6</code><code>.6-x86_64/</code>
<code>2)createrepo建立索引</code>
<code>createrepo -g repodata</code><code>/9e2ddcc42b44eb150ebc61dde29c997318d8330b92205b3dbb3a87bcc06d10be-c6-x86_64-comps</code><code>.xml .</code>
<code>Spawning worker 0 with 6518 pkgs</code>
<code>Workers Finished</code>
<code>Gathering worker results</code>
<code>Saving Primary metadata</code>
<code>Saving </code><code>file</code> <code>lists metadata</code>
<code>Saving other metadata</code>
<code>Generating sqlite DBs</code>
<code>Sqlite DBs complete</code>
<code>12、設定開機啟動</code>
<code>chkconfig httpd on </code>
<code>chkconfig cobblerd on</code>
<code>chkconfig dnsmasq on</code>
<code>13、啟動服務</code>
<code>/etc/init</code><code>.d</code><code>/cobblerd</code> <code>restart</code>
<code>/etc/init</code><code>.d</code><code>/dnsmasq</code> <code>restart</code>
<code>service xinetd restart</code>
<code>/etc/init</code><code>.d</code><code>/httpd</code> <code>restart</code>
<code>14、同步</code>
<code>cobbler </code><code>sync</code>
<code>15、檢視端口是否都開放了(53 67 69 80 873)</code>
<code>netstat</code> <code>-tupnl</code>
<code>Active Internet connections (only servers)</code>
<code>Proto Recv-Q Send-Q Local Address Foreign Address State PID</code><code>/Program</code> <code>name </code>
<code>tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 1002</code><code>/dnsmasq</code>
<code>tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1017</code><code>/sshd</code>
<code>tcp 0 0 127.0.0.1:25151 0.0.0.0:* LISTEN 1077</code><code>/python2</code>
<code>tcp 0 0 :::53 :::* LISTEN 1002</code><code>/dnsmasq</code>
<code>tcp 0 0 :::22 :::* LISTEN 1017</code><code>/sshd</code>
<code>tcp 0 0 :::873 :::* LISTEN 1026</code><code>/xinetd</code>
<code>tcp 0 0 :::80 :::* LISTEN 1044</code><code>/httpd</code>
<code>udp 0 0 0.0.0.0:53 0.0.0.0:* 1002</code><code>/dnsmasq</code>
<code>udp 0 0 0.0.0.0:67 0.0.0.0:* 1002</code><code>/dnsmasq</code>
<code>udp 0 0 0.0.0.0:69 0.0.0.0:* 1026</code><code>/xinetd</code>
<code>udp 0 0 :::53 :::* 1002</code><code>/dnsmasq</code>
<code>16、通過指令cobbler setting report來檢視下之前修改的配置内容</code>
<code>cobbler setting report</code>
<code>17、檢視</code>
<code>cobbler list</code>
<code>distros:</code>
<code> </code><code>centos6.6-x86_64</code>
<code>profiles:</code>
<code> </code><code>CentOS6.6-x86_64</code>
<code>systems:</code>
<code>repos:</code>
<code>images:</code>
<code>mgmtclasses:</code>
<code>packages:</code>
<code>files:</code>
<code>18、檢視導入的發行版系統資訊cobbler distro report</code>
<code>cobbler distro report</code>
<code>Name : centos6.6-x86_64</code>
<code>Architecture : x86_64</code>
<code>TFTP Boot Files : {}</code>
<code>Breed : redhat</code>
<code>Comment : </code>
<code>Fetchable Files : {}</code>
<code>Initrd : </code><code>/var/www/cobbler/ks_mirror/centos6</code><code>.6-x86_64</code><code>/images/pxeboot/initrd</code><code>.img</code>
<code>Kernel : </code><code>/var/www/cobbler/ks_mirror/centos6</code><code>.6-x86_64</code><code>/images/pxeboot/vmlinuz</code>
<code>Kernel Options : {}</code>
<code>Kernel Options (Post Install) : {}</code>
<code>Kickstart Metadata : {</code><code>'tree'</code><code>: </code><code>'http://@@http_server@@/cblr/links/centos6.6-x86_64'</code><code>}</code>
<code>Management Classes : []</code>
<code>OS Version : rhel6</code>
<code>Owners : [</code><code>'admin'</code><code>]</code>
<code>Red Hat Management Key : inherit</code>
<code>Red Hat Management Server : inherit</code>
<code>Template Files : {}</code>
<code>19、檢視配置資訊cobbler profile report</code>
<code>cobbler profile report</code>
<code>DHCP Tag : default</code>
<code>Distribution : centos6.6-x86_64</code>
<code>Enable gPXE? : 0</code>
<code>Enable PXE Menu? : 1</code>
<code>Kickstart : </code><code>/var/lib/cobbler/kickstarts/centos6</code><code>.6x86_64.cfg</code>
<code>Kickstart Metadata : {}</code>
<code>Management Parameters : inherit</code>
<code>Name Servers : []</code>
<code>Name Servers Search Path : []</code>
<code>Parent Profile : </code>
<code>Proxy : </code>
<code>Repos : []</code>
<code>Server Override : inherit</code>
<code>Virt Auto Boot : 1</code>
<code>Virt Bridge : xenbr0</code>
<code>Virt CPUs : 1</code>
<code>Virt Disk Driver Type : raw</code>
<code>Virt File Size(GB) : 5</code>
<code>Virt Path : </code>
<code>Virt RAM (MB) : 512</code>
<code>Virt Type : kvm</code>
<code>20、檢視狀态</code>
<code>檢視正在安裝</code>
<code>cobbler status</code>
<code>ip |target |start |state </code>
<code>192.168.1.148 |profile:CentOS6.6-x86_64|Sun Jul 5 20:50:36 2015|installing (6m 4s) </code>
<code>檢視已經安裝完成</code>
<code>192.168.1.148 |profile:CentOS6.6-x86_64|Sun Jul 5 20:50:36 2015|finished </code>
<code>21、檢視安裝好後的資訊</code>
<a href="http://s3.51cto.com/wyfs02/M02/6F/55/wKiom1WZNGPDNK6YAAJ11RezRXo697.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/6F/53/wKioL1WZNi_Sq263AAEMdhzTN1A869.jpg" target="_blank"></a>
<code>三、用戶端也是配置的橋接模式,用戶端安裝的時候按F12網絡引導就OK了,</code>
<code>選擇相應需要安裝的發行版本,回車後就一路安裝了.</code>
<a href="http://s3.51cto.com/wyfs02/M00/6F/55/wKiom1WZNTPwzLsAAABcg4l5YXU831.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M01/6F/53/wKioL1WZNv6D60CXAAC_ToFRd9Y428.jpg" target="_blank"></a>
本文轉自 xdoujiang 51CTO部落格,原文連結:http://blog.51cto.com/7938217/1671122,如需轉載請自行聯系原作者