最終,跟客戶那邊的工程師進行了相關溝通,将網絡配置成比較“舒服”的環境,本人對網絡不是很懂,一般而言我在客戶那邊部署産品應用,很簡單,給我IP位址或者IP位址段,我在RHEL作業系統上面直接對eth*進行配置就可以使用,是以這次同樣提出這樣的要求,畢竟大家都是搞技術的,要求人家完全同意了。今天就把這個變更做完了,簡單測試了一下,ifconfig eth0 xx.xx.xx.x netmask xx.xx.xx.x ,然後就很順利的通了。
雖然标題為RHEL網絡安裝刀片伺服器,其實說白了,不就是RHEL通過kickstart無人值守安裝普通的機器而已,刀片伺服器,PC機對我們而言不都一樣嘛。因為之前一直沒有将kickstart的配置方法整理到自己部落格上面來,很多時候,還是在網絡上面現找現用,以緻效率有點低。
言歸正傳,下面開始對Kickstart無人值守安裝相關步驟進行簡要說明并記錄如下:
1. 配置yum源,安裝如下服務
1
2
3
4
5
6
7
8
9
<code>[root@blog01 ~]</code><code># mount -o loop /var/www/html/isos/rhel-server-6.3-x86_64-dvd.iso /media/</code>
<code>[root@blog01 ~]</code><code>#cat /etc/yum.repos.d/core.repo</code>
<code>[core]</code>
<code>name=rhel6u3_core</code>
<code>baseurl=</code><code>file</code><code>:</code><code>///media/</code>
<code>enabled=1</code>
<code>gpgcheck=0</code>
<code>[root@blog01 ~]</code><code># yum install dhcp vsftpd tftp tftp-server -y</code>
<code>[root@blog01 ~]</code><code>#chkconfig dhcpd on ; chkconfig vsftpd on ; chkconfig xinetd on</code>
2. 相關服務配置檔案修改
1) tftp 相關修改
10
11
12
13
14
15
16
17
18
19
<code>[root@blog01 ~]</code><code># cat /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>/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>
修改16行 server_args 的目錄為/tftpboot
修改17行 disable 設定為no,表明tftp允許被托管
<code>[root@blog01 ~]</code><code># service xinetd restart //重新開機xinetd程序</code>
2) dhcp相關修改
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<code>[root@blog01 ~]</code><code># cat /etc/dhcp/dhcpd.conf</code>
<code>ddns-update-style interim;</code>
<code>ignore client-updates;</code>
<code>subnet 10.196.28.0 netmask 255.255.255.0 {</code>
<code> </code><code>option routers 10.196.28.254;</code>
<code> </code><code>option subnet-mask 255.255.255.0;</code>
<code> </code><code>filename </code><code>"pxelinux.0"</code><code>;</code>
<code> </code><code>next-server 10.196.28.43;</code>
<code> </code><code>option domain-name-servers 8.8.8.8;</code>
<code> </code><code>range dynamic-bootp 10.196.28.33 10.196.28.100;</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>host blog05 {</code>
<code> </code><code>hardware ethernet 38:EA:A7:A1:FC:7C;</code>
<code> </code><code>fixed-address 10.196.28.47;</code>
<code>host blog06 {</code>
<code> </code><code>hardware ethernet 38:EA:A7:A1:FA:A8;</code>
<code> </code><code>fixed-address 10.196.28.48;</code>
<code>host blog07 {</code>
<code> </code><code>hardware ethernet 38:EA:A7:A1:F6:DC;</code>
<code> </code><code>fixed-address 10.196.28.49;</code>
<code>host blog08 {</code>
<code> </code><code>hardware ethernet 38:EA:A7:A1:FC:58;</code>
<code> </code><code>fixed-address 10.196.28.50;</code>
<code>host blog09 {</code>
<code> </code><code>hardware ethernet 38:EA:A7:A1:FE:3E;</code>
<code> </code><code>fixed-address 10.196.28.78;</code>
啟動dhcp服務
<code>[root@blog01 ~]</code><code># service dhcpd start</code>
<code>Starting dhcpd: [ OK ]</code>
3)vsftpd 相關配置
安裝好,無需任何配置,啟動服務,直接使用
<code>[root@blog01 ~]</code><code># service vsftpd start</code>
3. 配置kickstart,準備相關檔案
<code>[root@blog01 ~]</code><code># yum install system-config-kickstart -y</code>
<code>[root@blog01 ~]</code><code># mkdir /tftpboot</code>
<code>[root@blog01 ~]</code><code># mkdir /tftpboot/pxelinux.cfg</code>
<code>[root@blog01 ~]</code><code># cp /usr/share/syslinux/pxelinux.0 /tftpboot/</code>
<code>[root@blog01 ~]</code><code># cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default</code>
<code>[root@blog01 ~]</code><code># cp /media/isolinux/* /tftpboot/</code>
<code>[root@blog01 ~]</code><code># chmod 644 /tftpboot/pxelinux.cfg/default</code>
<code>[root@blog01 ~]</code><code>#cat /tftpboot/pxelinux.cfg/default //檢視如下資訊,添加ks.cfg位置</code>
<code>label linux</code>
<code>menu label ^Install or upgrade an existing system</code>
<code>menu default</code>
<code>kernel vmlinuz</code>
<code>append initrd=initrd.img ks=</code><code>ftp</code><code>:</code><code>//10</code><code>.196.28.43</code><code>/pub/ks</code><code>.cfg</code>
4.生成ks.cfg檔案
<code>[root@blog01 ~]</code><code>#</code> system-config-kickstart
<a href="http://blog.51cto.com/attachment/201310/165802232.jpg" target="_blank"></a>
具體步驟在此不具體說明,貼出最終ks.cfg檔案,如下
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
<code>[root@SJC42KVM01 ~]</code><code># cat /var/ftp/pub/ks.cfg</code>
<code>#platform=x86, AMD64, or Intel EM64T</code>
<code>#version=DEVEL</code>
<code># Firewall configuration</code>
<code>firewall --disabled</code>
<code># Install OS instead of upgrade</code>
<code>install</code>
<code># Use network installation</code>
<code>url --url=</code><code>"ftp://10.196.28.43/pub"</code>
<code># Root password</code>
<code>rootpw --iscrypted $1$eTN.ZnVf$Kprjai3Hzn.qEbSnepP5R/</code>
<code># System authorization information</code>
<code>auth --useshadow --passalgo=sha512</code>
<code># Use text mode install</code>
<code>text</code>
<code>firstboot --disable</code>
<code># System keyboard</code>
<code>keyboard us</code>
<code># System language</code>
<code>lang en_US</code>
<code># SELinux configuration</code>
<code>selinux --disabled</code>
<code># Installation logging level</code>
<code>logging --level=info</code>
<code># Reboot after installation</code>
<code>reboot</code>
<code># System timezone</code>
<code>timezone --isUtc Asia</code><code>/Shanghai</code>
<code># Network information</code>
<code>network --bootproto=dhcp --device=eth0 --onboot=on</code>
<code># System bootloader configuration</code>
<code>bootloader --location=mbr</code>
<code># Clear the Master Boot Record</code>
<code>zerombr</code>
<code># Partition clearing information</code>
<code>clearpart --all --initlabel</code>
<code># Disk partitioning information</code>
<code>part </code><code>/boot</code> <code>--fstype=</code><code>"ext4"</code> <code>--size=400</code>
<code>part swap --fstype=</code><code>"swap"</code> <code>--size=12000</code>
<code>part / --asprimary --fstype=</code><code>"ext4"</code> <code>--grow --size=1</code>
<code>%packages</code>
<code>@base</code>
<code>@client-mgmt-tools</code>
<code>@core</code>
<code>@debugging</code>
<code>@basic-desktop</code>
<code>@desktop-debugging</code>
<code>@desktop-platform</code>
<code>@directory-client</code>
<code>@fonts</code>
<code>@general-desktop</code>
<code>@graphical-admin-tools</code>
<code>@input-methods</code>
<code>@internet-browser</code>
<code>@java-platform</code>
<code>@legacy-x</code>
<code>@network-</code><code>file</code><code>-system-client</code>
<code>@perl-runtime</code>
<code>@print-client</code>
<code>@remote-desktop-clients</code>
<code>@server-platform</code>
<code>@server-policy</code>
<code>@virtualization</code>
<code>@virtualization-client</code>
<code>@virtualization-platform</code>
<code>@virtualization-tools</code>
<code>@x11</code>
<code>pax</code>
<code>python-dmidecode</code>
<code>oddjob</code>
<code>wodim</code>
<code>sgpio</code>
<code>genisoimage</code>
<code>mtools</code>
<code>abrt-gui</code>
<code>certmonger</code>
<code>pam_krb5</code>
<code>krb5-workstation</code>
<code>libXmu</code>
<code>perl-DBD-SQLite</code>
<code>qemu-kvm-tools</code>
<code>qemu-guest-agent</code>
<code>libvirt-snmp</code>
<code>fence-virtd-serial</code>
<code>fence-virtd-multicast</code>
<code>libvirt-java</code>
<code>libvirt-cim</code>
<code>fence-virtd-libvirt</code>
<code>libvirt-qmf</code>
<code>perl-Sys-Virt</code>
<code>libguestfs-java</code>
<code>virt-v2v</code>
<code>libguestfs-tools</code>
<code>%end</code>
拷貝kc.cfg至/var/ftp/pub目錄中
<code>[root@blog01 ~ ]</code><code># cp ks.cfg /var/ftp/pub/ks.cfg</code>
<code>[root@blog01 ~ ]</code><code># rsync -avP /media/ /var/ftp/pub/</code>
5.清空防火牆規則,關閉selinux
<code>[root@blog01 ~ ]</code><code># iptables -F;iptables -X; iptables -Z</code>
<code>[root@blog01 ~ ]</code><code># service iptables save; service iptables restart</code>
<code>[root@blog01 ~ ]</code><code># setenforce 0</code>
<code>[root@blog01 ~ ]</code><code># sed -i 's/enforcing/disabled/g' /etc/selinux/config</code>
6.設定刀片第一次從PXE啟動
<a href="http://blog.51cto.com/attachment/201310/170716162.jpg" target="_blank"></a>
然後通過ILO控制刀片啟動即可,等待安裝!
普通PC設定更加簡單,你會的!
本文轉自 暗黑魔君 51CTO部落格,原文連結:http://blog.51cto.com/clovemfong/1306914,如需轉載請自行聯系原作者