1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<code>一:配置好repo倉庫,IP位址,</code>
<code>[root@linux-node1 yum.repos.d]</code><code># ll</code>
<code>total 28</code>
<code>-rw-r--r--. 1 root root 1664 Dec 9 2015 CentOS-Base.repo</code>
<code>-rw-r--r--. 1 root root 1309 Dec 9 2015 CentOS-CR.repo</code>
<code>-rw-r--r--. 1 root root 649 Dec 9 2015 CentOS-Debuginfo.repo</code>
<code>-rw-r--r--. 1 root root 290 Dec 9 2015 CentOS-fasttrack.repo</code>
<code>-rw-r--r--. 1 root root 630 Dec 9 2015 CentOS-Media.repo</code>
<code>-rw-r--r--. 1 root root 1331 Dec 9 2015 CentOS-Sources.repo</code>
<code>-rw-r--r--. 1 root root 1952 Dec 9 2015 CentOS-Vault.repo</code>
<code>#使用阿裡雲的epel源</code>
<code>[root@linux-node1 yum.repos.d]</code><code># wget https://mirrors.aliyun.com/repo/epel-7.repo</code>
<code>Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 115.28.122.210, 112.124.140.210</code>
<code>Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|115.28.122.210|:443... connected.</code>
<code>HTTP request sent, awaiting response... 200 OK</code>
<code>Length: 1084 (1.1K) [application</code><code>/octet-stream</code><code>]</code>
<code>Saving to: ‘epel-7.repo’</code>
<code>100%[========================================================================================================================================================================>] 1,084 --.-K</code><code>/s</code> <code>in</code> <code>0s </code>
<code>2017-02-21 09:28:26 (82.2 MB</code><code>/s</code><code>) - ‘epel-7.repo’ saved [1084</code><code>/1084</code><code>]</code>
<code>[root@linux-node1 yum.repos.d]</code><code># ls</code>
<code>CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo epel-7.repo</code>
<code>[root@linux-node1 yum.repos.d]</code><code># ip a</code>
<code>1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN </code>
<code> </code><code>link</code><code>/loopback</code> <code>00:00:00:00:00:00 brd 00:00:00:00:00:00</code>
<code> </code><code>inet 127.0.0.1</code><code>/8</code> <code>scope host lo</code>
<code> </code><code>valid_lft forever preferred_lft forever</code>
<code> </code><code>inet6 ::1</code><code>/128</code> <code>scope host </code>
<code>2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000</code>
<code> </code><code>link</code><code>/ether</code> <code>00:0c:29:e6:8c:cc brd ff:ff:ff:ff:ff:ff</code>
<code> </code><code>inet 192.168.56.11</code><code>/24</code> <code>brd 192.168.56.255 scope global eth0</code>
<code> </code><code>inet6 fe80::20c:29ff:fee6:8ccc</code><code>/64</code> <code>scope link </code>
二:yum安裝cobbler
<code>[root@linux-node1 yum.repos.d]</code><code># yum install httpd dhcp tftp xinetd bind bind-chroot caching-nameserver cobbler cobbler-web python-ctypes</code>
三:關閉防火牆
<code>[root@linux-node1 yum.repos.d]</code><code># systemctl stop firewalld</code>
<code>[root@linux-node1 yum.repos.d]</code><code># chkconfig firewalld off</code>
<code>Note: Forwarding request to </code><code>'systemctl disable firewalld.service'</code><code>.</code>
<code>Removed </code><code>symlink</code> <code>/etc/systemd/system/dbus-org</code><code>.fedoraproject.FirewallD1.service.</code>
<code>Removed </code><code>symlink</code> <code>/etc/systemd/system/basic</code><code>.target.wants</code><code>/firewalld</code><code>.service.</code>
<code>[root@linux-node1 yum.repos.d]</code><code># getenforce </code>
<code>Enforcing</code>
<code>[root@linux-node1 yum.repos.d]</code><code># setenforce 0 #臨時生效</code>
<code>Permissive</code>
<code>[root@linux-node1 yum.repos.d]</code><code># sestatus</code>
<code>SELinux status: enabled</code>
<code>SELinuxfs </code><code>mount</code><code>: </code><code>/sys/fs/selinux</code>
<code>SELinux root directory: </code><code>/etc/selinux</code>
<code>Loaded policy name: targeted</code>
<code>Current mode: permissive</code>
<code>Mode from config </code><code>file</code><code>: enforcing</code>
<code>Policy MLS status: enabled</code>
<code>Policy deny_unknown status: allowed</code>
<code>Max kernel policy version: 28</code>
<code>#編輯配置檔案,把SELINUX修改成disabled,永久生效,需要重新開機OS</code>
<code>[root@linux-node1 yum.repos.d]</code><code># vim /etc/sysconfig/selinux</code>
四:啟動服務并檢查
<code>[root@linux-node1 yum.repos.d]</code><code># systemctl start httpd</code>
<code>[root@linux-node1 yum.repos.d]</code><code># systemctl start cobblerd</code>
<code>[root@linux-node1 yum.repos.d]</code><code># systemctl start xinetd</code>
<code>[root@linux-node1 yum.repos.d]</code><code># netstat -lntup</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:22 0.0.0.0:* LISTEN 1687</code><code>/sshd</code>
<code>tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2182</code><code>/master</code>
<code>tcp 0 0 127.0.0.1:25151 0.0.0.0:* LISTEN 3985</code><code>/python2</code>
<code>tcp6 0 0 :::80 :::* LISTEN 3956</code><code>/httpd</code>
<code>tcp6 0 0 :::22 :::* LISTEN 1687</code><code>/sshd</code>
<code>tcp6 0 0 ::1:25 :::* LISTEN 2182</code><code>/master</code>
<code>tcp6 0 0 :::443 :::* LISTEN 3956</code><code>/httpd</code>
五:配置cobbler,
執行cobbler check指令後,會出現提示,告知需要修改的地方,按照說明修改即可:
<code>[root@linux-node1 yum.repos.d]</code><code># 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. 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, 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 : change </code><code>'disable'</code> <code>to </code><code>'no'</code> <code>in</code> <code>/etc/xinetd</code><code>.d</code><code>/tftp</code>
<code>5 : 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 package installed and can ignore this message entirely. Files </code><code>in</code> <code>this directory, should you want to support all architectures, 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>6 : </code><code>enable</code> <code>and start rsyncd.service with systemctl</code>
<code>7 : debmirror package is not installed, it will be required to manage debian deployments and repositories</code>
<code>8 : ksvalidator was not found, </code><code>install</code> <code>pykickstart</code>
<code>9 : 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: </code><code>"openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'"</code> <code>to generate new one</code>
<code>10 : fencing tools were not found, and are required to use the (optional) power management features. </code><code>install</code> <code>cman or fence-agents to use them</code>
<code>Restart cobblerd and </code><code>then</code> <code>run </code><code>'cobbler sync'</code> <code>to apply changes.</code>
5.1 下面開始對上面的步驟提示進行修改,
1、對/etc/cobbler/setting中,修改server行,改成
<code>server: 192.168.56.11</code>
2、修改‘next_server’
<code>next_server: 192.168.56.11</code>
3、關閉selinux,需要重新開機系統
4、修改tftp
<code>[root@linux-node1 yum.repos.d]</code><code># vim /etc/xinetd.d/tftp </code>
<code># default: off</code>
<code># description: The tftp server serves files using the trivial file transfer \</code>
<code># protocol. The tftp protocol is often used to boot diskless \</code>
<code># workstations, download configuration files to network-aware printers, \</code>
<code># and to start the installation process for some operating systems.</code>
<code>service tftp</code>
<code>{</code>
<code> </code><code>socket_type = dgram</code>
<code> </code><code>protocol = udp</code>
<code> </code><code>wait = </code><code>yes</code>
<code> </code><code>user = root</code>
<code> </code><code>server = </code><code>/usr/sbin/in</code><code>.tftpd</code>
<code> </code><code>server_args = -s </code><code>/var/lib/tftpboot</code>
<code> </code><code>disable = no</code>
<code> </code><code>per_source = 11</code>
<code> </code><code>cps = 100 2</code>
<code> </code><code>flags = IPv4</code>
<code>}</code>
5、執行指令cobbler get-loaders,他會自動下載下傳相關的啟動引導檔案
<code>[root@linux-node1 yum.repos.d]</code><code># cobbler get-loaders</code>
<code>task started: 2017-02-21_101556_get_loaders</code>
<code>task started (</code><code>id</code><code>=Download Bootloader Content, </code><code>time</code><code>=Tue Feb 21 10:15:56 2017)</code>
<code>downloading https:</code><code>//cobbler</code><code>.github.io</code><code>/loaders/README</code> <code>to </code><code>/var/lib/cobbler/loaders/README</code>
<code>downloading https:</code><code>//cobbler</code><code>.github.io</code><code>/loaders/COPYING</code><code>.elilo to </code><code>/var/lib/cobbler/loaders/COPYING</code><code>.elilo</code>
<code>downloading https:</code><code>//cobbler</code><code>.github.io</code><code>/loaders/COPYING</code><code>.yaboot to </code><code>/var/lib/cobbler/loaders/COPYING</code><code>.yaboot</code>
<code>downloading https:</code><code>//cobbler</code><code>.github.io</code><code>/loaders/COPYING</code><code>.syslinux to </code><code>/var/lib/cobbler/loaders/COPYING</code><code>.syslinux</code>
<code>downloading https:</code><code>//cobbler</code><code>.github.io</code><code>/loaders/elilo-3</code><code>.8-ia64.efi to </code><code>/var/lib/cobbler/loaders/elilo-ia64</code><code>.efi</code>
<code>downloading https:</code><code>//cobbler</code><code>.github.io</code><code>/loaders/yaboot-1</code><code>.3.17 to </code><code>/var/lib/cobbler/loaders/yaboot</code>
<code>downloading https:</code><code>//cobbler</code><code>.github.io</code><code>/loaders/pxelinux</code><code>.0-3.86 to </code><code>/var/lib/cobbler/loaders/pxelinux</code><code>.0</code>
<code>downloading https:</code><code>//cobbler</code><code>.github.io</code><code>/loaders/menu</code><code>.c32-3.86 to </code><code>/var/lib/cobbler/loaders/menu</code><code>.c32</code>
<code>downloading https:</code><code>//cobbler</code><code>.github.io</code><code>/loaders/grub-0</code><code>.97-x86.efi to </code><code>/var/lib/cobbler/loaders/grub-x86</code><code>.efi</code>
<code>downloading https:</code><code>//cobbler</code><code>.github.io</code><code>/loaders/grub-0</code><code>.97-x86_64.efi to </code><code>/var/lib/cobbler/loaders/grub-x86_64</code><code>.efi</code>
<code>*** TASK COMPLETE ***</code>
6、啟動服務rsyncd.service
<code>systemctl start rsyncd</code>
7、安裝pykickstart
<code>yum </code><code>install</code> <code>pykickstart -y</code>
8、生成新的密碼,預設的過于簡單,指令:openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'
<code>[root@linux-node1 yum.repos.d]</code><code># openssl passwd -1 -salt '123' '123456'</code>
<code>$1$123$7mft0jKnzzvAdU4t0unTG1</code>
把這個新生成的密鑰,寫入setting配置檔案中的對應位置上
<code>default_password_crypted: </code><code>"$1$123$7mft0jKnzzvAdU4t0unTG1"</code>
9、安裝fence-agents
<code>yum </code><code>install</code> <code>fence-agents</code>
10、可以不用管它
當然也可以安裝這個服務,安裝完畢後,需要修改配置檔案
<code>wget </code>
<code>yum localinstall debmirror-20090807-1.el5.noarch.rpm </code>
<code>vim </code><code>/etc/debmirror</code><code>.conf </code><code>#将23和25行注釋掉</code>
<code>23 </code><code>#@dists=”sid”;</code>
<code>25 </code><code>#@arches=”i386″;</code>
上面所有的步驟操作完畢後,重新開機cobbler,然後執行“cobbler sync”
35
36
37
38
39
40
41
42
43
44
45
46
<code>[root@linux-node1 ~]</code><code># systemctl restart cobblerd</code>
<code>[root@linux-node1 ~]</code><code># </code>
<code>[root@linux-node1 ~]</code><code># cobbler sync</code>
<code>task started: 2017-02-21_104452_sync</code>
<code>task started (</code><code>id</code><code>=Sync, </code><code>time</code><code>=Tue Feb 21 10:44:52 2017)</code>
<code>running pre-</code><code>sync</code> <code>triggers</code>
<code>cleaning trees</code>
<code>removing: </code><code>/var/lib/tftpboot/pxelinux</code><code>.cfg</code><code>/default</code>
<code>removing: </code><code>/var/lib/tftpboot/grub/images</code>
<code>removing: </code><code>/var/lib/tftpboot/grub/grub-x86</code><code>.efi</code>
<code>removing: </code><code>/var/lib/tftpboot/grub/grub-x86_64</code><code>.efi</code>
<code>removing: </code><code>/var/lib/tftpboot/grub/efidefault</code>
<code>removing: </code><code>/var/lib/tftpboot/s390x/profile_list</code>
<code>copying bootloaders</code>
<code>trying hardlink </code><code>/var/lib/cobbler/loaders/pxelinux</code><code>.0 -> </code><code>/var/lib/tftpboot/pxelinux</code><code>.0</code>
<code>copying: </code><code>/var/lib/cobbler/loaders/pxelinux</code><code>.0 -> </code><code>/var/lib/tftpboot/pxelinux</code><code>.0</code>
<code>trying hardlink </code><code>/var/lib/cobbler/loaders/menu</code><code>.c32 -> </code><code>/var/lib/tftpboot/menu</code><code>.c32</code>
<code>copying: </code><code>/var/lib/cobbler/loaders/menu</code><code>.c32 -> </code><code>/var/lib/tftpboot/menu</code><code>.c32</code>
<code>trying hardlink </code><code>/var/lib/cobbler/loaders/yaboot</code> <code>-> </code><code>/var/lib/tftpboot/yaboot</code>
<code>copying: </code><code>/var/lib/cobbler/loaders/yaboot</code> <code>-> </code><code>/var/lib/tftpboot/yaboot</code>
<code>trying hardlink </code><code>/usr/share/syslinux/memdisk</code> <code>-> </code><code>/var/lib/tftpboot/memdisk</code>
<code>copying: </code><code>/usr/share/syslinux/memdisk</code> <code>-> </code><code>/var/lib/tftpboot/memdisk</code>
<code>trying hardlink </code><code>/var/lib/cobbler/loaders/grub-x86</code><code>.efi -> </code><code>/var/lib/tftpboot/grub/grub-x86</code><code>.efi</code>
<code>trying hardlink </code><code>/var/lib/cobbler/loaders/grub-x86_64</code><code>.efi -> </code><code>/var/lib/tftpboot/grub/grub-x86_64</code><code>.efi</code>
<code>copying distros to tftpboot</code>
<code>copying images</code>
<code>generating PXE configuration files</code>
<code>generating PXE menu structure</code>
<code>rendering TFTPD files</code>
<code>generating </code><code>/etc/xinetd</code><code>.d</code><code>/tftp</code>
<code>cleaning link caches</code>
<code>running post-</code><code>sync</code> <code>triggers</code>
<code>running python triggers from </code><code>/var/lib/cobbler/triggers/sync/post/</code><code>*</code>
<code>running python trigger cobbler.modules.sync_post_restart_services</code>
<code>running shell triggers from </code><code>/var/lib/cobbler/triggers/sync/post/</code><code>*</code>
<code>running python triggers from </code><code>/var/lib/cobbler/triggers/change/</code><code>*</code>
<code>running python trigger cobbler.modules.scm_track</code>
<code>running shell triggers from </code><code>/var/lib/cobbler/triggers/change/</code><code>*</code>
<code>[root@linux-node1 ~]</code><code># cobbler check</code>
<code>1 : debmirror package is not installed, it will be required to manage debian deployments and repositories</code>
六:DHCP配置
我們可以配置cobbler,使用cobber來管理dhcp服務,修改一下配置檔案:
<code>[root@linux-node1 ~]</code><code># vim /etc/cobbler/settings </code>
<code># set to 1 to enable Cobbler's DHCP management features.</code>
<code># the choice of DHCP management engine is in /etc/cobbler/modules.conf</code>
<code>manage_dhcp: 1 </code><code>#這裡從0改成1,啟動dhcp管理服務</code>
<code>[root@linux-node1 cobbler]</code><code># ls</code>
<code>auth.conf cobbler_bash dhcp.template import_rsync_whitelist ldap mongodb.conf power reporting </code><code>rsync</code><code>.template settings </code><code>users</code><code>.conf version zone_templates</code>
<code>cheetah_macros completions dnsmasq.template iso modules.conf named.template pxe </code><code>rsync</code><code>.exclude secondary.template tftpd.template </code><code>users</code><code>.digest zone.template</code>
<code>[root@linux-node1 cobbler]</code><code># vim dhcp.template </code>
<code># ******************************************************************</code>
<code># Cobbler managed dhcpd.conf file</code>
<code>#</code>
<code># generated from cobbler dhcp.conf template ($date)</code>
<code># Do NOT make changes to /etc/dhcpd.conf. Instead, make your changes</code>
<code># in /etc/cobbler/dhcp.template, as /etc/dhcpd.conf will be</code>
<code># overwritten.</code>
<code>ddns-update-style interim;</code>
<code>allow booting;</code>
<code>allow bootp;</code>
<code>ignore client-updates;</code>
<code>set</code> <code>vendorclass = option vendor-class-identifier;</code>
<code>option pxe-system-</code><code>type</code> <code>code 93 = unsigned integer 16;</code>
<code>subnet 192.168.56.0 netmask 255.255.255.0 {</code>
<code> </code><code>option routers 192.168.56.2;</code><code>#路由位址</code>
<code> </code><code>option domain-name-servers 192.168.56.2;</code><code>#dns位址</code>
<code> </code><code>option subnet-mask 255.255.255.0;</code>
<code> </code><code>range dynamic-bootp 192.168.56.100 192.168.56.254;</code>
<code> </code><code>default-lease-</code><code>time</code> <code>21600;</code><code>#預設租期時間</code>
<code> </code><code>max-lease-</code><code>time</code> <code>43200;</code><code>#最大租期時間</code>
<code> </code><code>next-server $next_server;</code><code>#tftp位址</code>
<code> </code><code>class </code><code>"pxeclients"</code> <code>{</code>
<code> </code><code>match </code><code>if</code> <code>substring (option vendor-class-identifier, 0, 9) = </code><code>"PXEClient"</code><code>;</code>
<code> </code><code>if</code> <code>option pxe-system-</code><code>type</code> <code>= 00:02 {</code>
<code> </code><code>filename </code><code>"ia64/elilo.efi"</code><code>;</code>
<code> </code><code>} </code><code>else</code> <code>if</code> <code>option pxe-system-</code><code>type</code> <code>= 00:06 {</code>
<code> </code><code>filename </code><code>"grub/grub-x86.efi"</code><code>;</code>
<code> </code><code>} </code><code>else</code> <code>if</code> <code>option pxe-system-</code><code>type</code> <code>= 00:07 {</code>
<code> </code><code>filename </code><code>"grub/grub-x86_64.efi"</code><code>;</code>
<code> </code><code>} </code><code>else</code> <code>{</code>
<code> </code><code>filename </code><code>"pxelinux.0"</code><code>;</code>
<code> </code><code>}</code>
<code> </code><code>}</code>
執行cobbler sync 自動生成dhcp配置檔案
47
<code>[root@linux-node1 cobbler]</code><code># systemctl restart cobblerd</code>
<code>[root@linux-node1 cobbler]</code><code># cobbler sync</code>
<code>task started: 2017-02-21_105948_sync</code>
<code>task started (</code><code>id</code><code>=Sync, </code><code>time</code><code>=Tue Feb 21 10:59:48 2017)</code>
<code>rendering DHCP files</code>
<code>generating </code><code>/etc/dhcp/dhcpd</code><code>.conf</code>
<code>running: dhcpd -t -q</code>
<code>received on stdout: </code>
<code>received on stderr: </code>
<code>running: service dhcpd restart </code><code>#這裡會自動重新開機dhcp服務</code>
<code>received on stderr: Redirecting to </code><code>/bin/systemctl</code> <code>restart dhcpd.service</code>
驗證::::
這裡檢視dhcpd.conf會自動生成相同的配置檔案資訊
<code>[root@linux-node1 cobbler]</code><code># cat /etc/dhcp/dhcpd.conf </code>
<code># generated from cobbler dhcp.conf template (Tue Feb 21 15:59:49 2017)</code>
<code> </code><code>option routers 192.168.56.2;</code>
<code> </code><code>option domain-name-servers 192.168.56.2;</code>
<code> </code><code>default-lease-</code><code>time</code> <code>21600;</code>
<code> </code><code>max-lease-</code><code>time</code> <code>43200;</code>
<code> </code><code>next-server 192.168.56.11;</code>
<code># group for Cobbler DHCP tag: default</code>
<code>group {</code>
七、導入作業系統
我們使用上傳工具,上傳一個系統到cobbler檔案系統下面,這裡使用的C7做為測試
7.1上傳os到opt目錄下面
<code>[root@linux-node1 opt]</code><code># ll -sh</code>
<code>total 4.1G</code>
<code>4.1G -rw-r--r-- 1 root root 4.1G Feb 21 11:10 CentOS-7-x86_64-DVD-1511.iso</code>
7.2 導入distro,即導入一個發行版,發行版指的是作業系統
<code>[root@linux-node1 opt]</code><code># df -h</code>
<code>Filesystem Size Used Avail Use% Mounted on</code>
<code>/dev/mapper/centos-root</code> <code>46G 5.6G 41G 13% /</code>
<code>devtmpfs 1.9G 0 1.9G 0% </code><code>/dev</code>
<code>tmpfs 1.9G 0 1.9G 0% </code><code>/dev/shm</code>
<code>tmpfs 1.9G 8.6M 1.9G 1% </code><code>/run</code>
<code>tmpfs 1.9G 0 1.9G 0% </code><code>/sys/fs/cgroup</code>
<code>/dev/sda1</code> <code>497M 125M 373M 26% </code><code>/boot</code>
<code>tmpfs 378M 0 378M 0% </code><code>/run/user/0</code>
<code>[root@linux-node1 opt]</code><code># mount -t iso9660 -o loop /opt/CentOS-7-x86_64-DVD-1511.iso /mnt </code>
<code>mount</code><code>: </code><code>/dev/loop0</code> <code>is write-protected, mounting </code><code>read</code><code>-only</code>
<code>/dev/loop0</code> <code>4.1G 4.1G 0 100% </code><code>/mnt</code>
<code>[root@linux-node1 ~]</code><code># cobbler import --path=/mnt/ --name=c7.2-x86_64 --arch=x86_64</code>
<code>task started: 2017-02-21_134843_import</code>
<code>task started (</code><code>id</code><code>=Media </code><code>import</code><code>, </code><code>time</code><code>=Tue Feb 21 13:48:43 2017)</code>
<code>Found a candidate signature: breed=redhat, version=rhel6</code>
<code>Found a candidate signature: breed=redhat, version=rhel7</code>
<code>Found a matching signature: breed=redhat, version=rhel7</code>
<code>Adding distros from path </code><code>/var/www/cobbler/ks_mirror/c7</code><code>.2-x86_64:</code>
<code>creating new distro: c7.2-x86_64</code>
<code>trying </code><code>symlink</code><code>: </code><code>/var/www/cobbler/ks_mirror/c7</code><code>.2-x86_64 -> </code><code>/var/www/cobbler/links/c7</code><code>.2-x86_64</code>
<code>creating new profile: c7.2-x86_64</code>
<code>associating repos</code>
<code>checking </code><code>for</code> <code>rsync</code> <code>repo(s)</code>
<code>checking </code><code>for</code> <code>rhn repo(s)</code>
<code>checking </code><code>for</code> <code>yum repo(s)</code>
<code>starting descent into </code><code>/var/www/cobbler/ks_mirror/c7</code><code>.2-x86_64 </code><code>for</code> <code>c7.2-x86_64</code>
<code>processing repo at : </code><code>/var/www/cobbler/ks_mirror/c7</code><code>.2-x86_64</code>
<code>need to process repo</code><code>/comps</code><code>: </code><code>/var/www/cobbler/ks_mirror/c7</code><code>.2-x86_64</code>
<code>looking </code><code>for</code> <code>/var/www/cobbler/ks_mirror/c7</code><code>.2-x86_64</code><code>/repodata/</code><code>*comps*.xml</code>
<code>error launching createrepo (not installed?), ignoring</code>
<code>Exception occured: <</code><code>type</code> <code>'exceptions.IOError'</code><code>></code>
<code>Exception value: [Errno 2] No such </code><code>file</code> <code>or directory: </code><code>'/var/www/cobbler/ks_mirror/config/c7.2-x86_64.repo'</code>
<code>Exception Info:</code>
<code> </code><code>File </code><code>"/usr/lib/python2.7/site-packages/cobbler/modules/manage_import_signatures.py"</code><code>, line 599, </code><code>in</code> <code>yum_process_comps_file</code>
<code> </code><code>config_file = </code><code>open</code><code>(fname, </code><code>"w+"</code><code>)</code>
<code>[root@linux-node1 ~]</code><code># ll /var/www/cobbler/ks_mirror/c7.2-x86_64/</code>
<code>total 296</code>
<code>-r--r--r-- 1 root root 14 Dec 9 2015 CentOS_BuildTag</code>
<code>dr-xr-xr-x 3 root root 33 Dec 9 2015 EFI</code>
<code>-r--r--r-- 1 root root 215 Dec 9 2015 EULA</code>
<code>-r--r--r-- 1 root root 18009 Dec 9 2015 GPL</code>
<code>dr-xr-xr-x 3 root root 54 Dec 9 2015 images</code>
<code>dr-xr-xr-x 2 root root 4096 Dec 9 2015 isolinux</code>
<code>dr-xr-xr-x 2 root root 41 Dec 9 2015 LiveOS</code>
<code>dr-xr-xr-x 2 root root 204800 Dec 9 2015 Packages</code>
<code>dr-xr-xr-x 2 root root 4096 Dec 9 2015 repodata</code>
<code>-r--r--r-- 1 root root 1690 Dec 9 2015 RPM-GPG-KEY-CentOS-7</code>
<code>-r--r--r-- 1 root root 1690 Dec 9 2015 RPM-GPG-KEY-CentOS-Testing-7</code>
<code>-r--r--r-- 1 root root 2883 Dec 9 2015 TRANS.TBL</code>
7.3 指定profile,在導入發行版的時候可以通過–kickstart=KICKSTART_FILE指定profile檔案,如果沒有指定,可以在後期重新指定,需要将profile檔案提前準備好,最好放在/var/lib/cobbler/kickstarts,因為這是cobbler預設的ks檔案路徑,如下:
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
<code>#檢視預設使用的ks檔案,預設使用的是sample_end.ks</code>
<code>[root@linux-node1 kickstarts]</code><code># cobbler profile report</code>
<code>Name : c7.2-x86_64</code>
<code>TFTP Boot Files : {}</code>
<code>Comment : </code>
<code>DHCP Tag : default</code>
<code>Distribution : c7.2-x86_64</code>
<code>Enable gPXE? : 0</code>
<code>Enable PXE Menu? : 1</code>
<code>Fetchable Files : {}</code>
<code>Kernel Options : {}</code>
<code>Kernel Options (Post Install) : {}</code>
<code>Kickstart : </code><code>/var/lib/cobbler/kickstarts/sample_end</code><code>.ks</code>
<code>Kickstart Metadata : {}</code>
<code>Management Classes : []</code>
<code>Management Parameters : <<inherit>></code>
<code>Name Servers : []</code>
<code>Name Servers Search Path : []</code>
<code>Owners : [</code><code>'admin'</code><code>]</code>
<code>Parent Profile : </code>
<code>Internal proxy : </code>
<code>Red Hat Management Key : <<inherit>></code>
<code>Red Hat Management Server : <<inherit>></code>
<code>Repos : []</code>
<code>Server Override : <<inherit>></code>
<code>Template Files : {}</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>#上傳一個自己寫好的ks檔案,并寫入到profile檔案配置裡面</code>
<code>[root@linux-node1 kickstarts]</code><code># pwd</code>
<code>/var/lib/cobbler/kickstarts</code>
<code>[root@linux-node1 kickstarts]</code><code># ll</code>
<code>total 56</code>
<code>-rw-r--r-- 1 root root 1519 Feb 21 13:59 CentOS-7.1-x86_64_cobbler.cfg</code>
<code>[root@linux-node1 kickstarts]</code><code># cobbler profile edit --name=c7.2-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7.1-x86_64_cobbler.cfg</code>
<code>Kickstart : </code><code>/var/lib/cobbler/kickstarts/CentOS-7</code><code>.1-x86_64_cobbler.cfg</code>
<code>#修改核心配置</code>
<code>[root@linux-node1 kickstarts]</code><code># cobbler profile edit --name=c7.2-x86_64 --kopts='net.ifnames=0 biosdevname=0'</code>
<code>Kernel Options : {</code><code>'biosdevname'</code><code>: </code><code>'0'</code><code>, </code><code>'net.ifnames'</code><code>: </code><code>'0'</code><code>}</code>
<code>#更改登入界面内容</code>
<code>[root@linux-node1 kickstarts]</code><code># vim /etc/cobbler/pxe/pxedefault.template </code>
<code>DEFAULT menu</code>
<code>PROMPT 0</code>
<code>MENU TITLE Cobbler | http:</code><code>//cobbler</code><code>.github.io/</code>
<code>TIMEOUT 200</code>
<code>TOTALTIMEOUT 6000</code>
<code>ONTIMEOUT $pxe_timeout_profile</code>
<code>LABEL </code><code>local</code>
<code> </code><code>MENU LABEL (</code><code>local</code><code>)</code>
<code> </code><code>MENU DEFAULT</code>
<code> </code><code>LOCALBOOT -1</code>
<code>$pxe_menu_items</code>
<code>MENU end</code>
到此安裝完畢
啟動用戶端測試
<a href="https://s5.51cto.com/wyfs02/M02/8D/E0/wKiom1itUAGAQv_YAAAI26F25FI729.png" target="_blank"></a>
本文轉自 kesungang 51CTO部落格,原文連結:http://blog.51cto.com/sgk2011/1900302,如需轉載請自行聯系原作者