天天看點

cobbler------安裝配置

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%[========================================================================================================================================================================&gt;] 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: &lt;LOOPBACK,UP,LOWER_UP&gt; 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: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; 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 -&gt; </code><code>/var/lib/tftpboot/pxelinux</code><code>.0</code>

<code>copying: </code><code>/var/lib/cobbler/loaders/pxelinux</code><code>.0 -&gt; </code><code>/var/lib/tftpboot/pxelinux</code><code>.0</code>

<code>trying hardlink </code><code>/var/lib/cobbler/loaders/menu</code><code>.c32 -&gt; </code><code>/var/lib/tftpboot/menu</code><code>.c32</code>

<code>copying: </code><code>/var/lib/cobbler/loaders/menu</code><code>.c32 -&gt; </code><code>/var/lib/tftpboot/menu</code><code>.c32</code>

<code>trying hardlink </code><code>/var/lib/cobbler/loaders/yaboot</code> <code>-&gt; </code><code>/var/lib/tftpboot/yaboot</code>

<code>copying: </code><code>/var/lib/cobbler/loaders/yaboot</code> <code>-&gt; </code><code>/var/lib/tftpboot/yaboot</code>

<code>trying hardlink </code><code>/usr/share/syslinux/memdisk</code> <code>-&gt; </code><code>/var/lib/tftpboot/memdisk</code>

<code>copying: </code><code>/usr/share/syslinux/memdisk</code> <code>-&gt; </code><code>/var/lib/tftpboot/memdisk</code>

<code>trying hardlink </code><code>/var/lib/cobbler/loaders/grub-x86</code><code>.efi -&gt; </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 -&gt; </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 -&gt; </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: &lt;</code><code>type</code> <code>'exceptions.IOError'</code><code>&gt;</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          : &lt;&lt;inherit&gt;&gt;</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         : &lt;&lt;inherit&gt;&gt;</code>

<code>Red Hat Management Server      : &lt;&lt;inherit&gt;&gt;</code>

<code>Repos                          : []</code>

<code>Server Override                : &lt;&lt;inherit&gt;&gt;</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,如需轉載請自行聯系原作者

繼續閱讀