系统安装。
1、服务器系统采用CentOS5.1_X86_64,之所以采用64位系统是因为,在32为系统中内存大于3.2G的时候要使用内核的PAE模式,这样在大内存的时候就需要内核经常变动地址位来保证内存的访问与使用,这样对服务器的性能肯定会有影响,所以采用64为系统。
2、安装最好采用kickstart,保证系统安装的一致性有利于维护和排错。
3、创建安装服务器。
第一步,建立kickstart安装文件:可以用linux自带的system-config-kickstart来创建也可以手工编辑,这里给出我的kickstart文件。
ks.cfg
#platform=x86, AMD64, or Intel EM64T # System authorization information auth --useshadow --enablemd5 # System bootloader configuration bootloader --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel # Use text mode install text # Firewall configuration firewall --disabled # Run the Setup Agent on first boot firstboot --disable # System keyboard keyboard us # System language lang zh_CN # Installation logging level logging --level=info # Use network installation url --url=ftp://192.168.0.240/setup/centos5.1x86_64 # Network information network --bootproto=dhcp --device=eth0 --onboot=on --hostname=web.800hr.com # Reboot after installation reboot #Root password rootpw --iscrypted $1$VVFNki27$xxgyze1ry.iNwEURMjA6F. # SELinux configuration selinux --disabled # Do not configure the X Window System skipx # System timezone timezone Asia/Shanghai # Install OS instead of upgrade install # Disk partitioning information part /boot --asprimary --bytes-per-inode=4096 --fstype="ext3" --size=256 part / --asprimary --bytes-per-inode=4096 --fstype="ext3" --size=10240 part /usr --asprimary --bytes-per-inode=4096 --fstype="ext3" --size=20480 part /tmp --bytes-per-inode=4096 --fstype="ext3" --size=4096 part /var --bytes-per-inode=4096 --fstype="ext3" --grow --size=1 %pre %post #!/bin/sh i386file=" alsa-lib-1.0.14-1.rc4.el5.i386 apr-1.2.7-11.i386 apr-util-1.2.7-6.i386 aspell-0.60.3-7.1.i386 audiofile-0.2.6-5.i386 audit-libs-1.5.5-7.el5.i386 beecrypt-4.1.2-10.1.1.i386 boost-1.33.1-10.el5.i386 boost-devel-1.33.1-10.el5.i386 coolkey-1.1.0-5.el5.i386 coolkey-devel-1.1.0-5.el5.i386 cracklib-2.8.9-3.3.i386 cryptsetup-luks-1.0.3-2.2.el5.i386 curl-7.15.5-2.el5.i386 curl-devel-7.15.5-2.el5.i386 cyrus-sasl-devel-2.1.22-4.i386 cyrus-sasl-lib-2.1.22-4.i386 cyrus-sasl-plain-2.1.22-4.i386 db4-4.3.29-9.fc6.i386 db4-devel-4.3.29-9.fc6.i386 dbus-1.0.0-6.el5.i386 dbus-devel-1.0.0-6.el5.i386 device-mapper-1.02.20-1.el5.i386 e2fsprogs-libs-1.39-10.el5.i386 elfutils-libelf-0.125-3.el5.i386 esound-0.2.36-3.i386 expat-1.95.8-8.2.1.i386 expat-devel-1.95.8-8.2.1.i386 fontconfig-2.4.1-6.el5.i386 freetype-2.2.1-19.el5.i386 freetype-devel-2.2.1-19.el5.i386 gd-2.0.33-9.3.fc6.i386 gdbm-1.8.0-26.2.1.i386 gdbm-devel-1.8.0-26.2.1.i386 gd-devel-2.0.33-9.3.fc6.i386 gettext-0.14.6-4.el5.i386 gmp-4.1.4-10.el5.i386 gmp-devel-4.1.4-10.el5.i386 gpm-1.20.1-74.1.i386 gpm-devel-1.20.1-74.1.i386 hesiod-3.1.0-8.i386 hesiod-devel-3.1.0-8.i386 krb5-devel-1.6.1-17.el5.i386 krb5-libs-1.6.1-17.el5.i386 kudzu-devel-1.2.57.1.15-1.el5.centos.i386 lcms-1.15-1.2.2.i386 libacl-2.2.39-2.1.el5.i386 libacl-devel-2.2.39-2.1.el5.i386 libaio-0.3.106-3.2.i386 libattr-2.4.32-1.1.i386 libattr-devel-2.4.32-1.1.i386 libcap-1.10-26.i386 libcap-devel-1.10-26.i386 libdrm-2.0.2-1.1.i386 libdrm-devel-2.0.2-1.1.i386 libfontenc-1.0.2-2.2.el5.i386 libgcrypt-1.2.3-1.i386 libgpg-error-1.4-2.i386 libICE-1.0.1-2.1.i386 libICE-devel-1.0.1-2.1.i386 libicu-3.6-5.11.i386 libidn-0.6.5-1.1.i386 libjpeg-6b-37.i386 libjpeg-devel-6b-37.i386 libmng-1.0.9-5.1.i386 libmng-devel-1.0.9-5.1.i386 libogg-1.1.3-3.el5.i386 libogg-devel-1.1.3-3.el5.i386 libpng-1.2.10-7.0.2.i386 libpng-devel-1.2.10-7.0.2.i386 libselinux-1.33.4-4.el5.i386 libselinux-devel-1.33.4-4.el5.i386 libsepol-1.15.2-1.el5.i386 libSM-1.0.1-3.1.i386 libSM-devel-1.0.1-3.1.i386 libtermcap-2.0.8-46.1.i386 libtermcap-devel-2.0.8-46.1.i386 libtiff-3.8.2-7.el5.i386 libtiff-devel-3.8.2-7.el5.i386 libuser-0.54.7-2.el5.2.i386 libuser-devel-0.54.7-2.el5.2.i386 libutempter-1.1.4-3.fc6.i386 libvorbis-1.1.2-3.el5.0.i386 libvorbis-devel-1.1.2-3.el5.0.i386 libX11-1.0.3-8.0.1.el5.i386 libX11-devel-1.0.3-8.0.1.el5.i386 libXau-1.0.1-3.1.i386 libXau-devel-1.0.1-3.1.i386 libXaw-1.0.2-8.1.i386 libXaw-devel-1.0.2-8.1.i386 libXcomposite-0.3-5.1.i386 libXcomposite-devel-0.3-5.1.i386 libXcursor-1.1.7-1.1.i386 libXcursor-devel-1.1.7-1.1.i386 libXdamage-1.0.3-2.1.i386 libXdamage-devel-1.0.3-2.1.i386 libXdmcp-1.0.1-2.1.i386 libXdmcp-devel-1.0.1-2.1.i386 libXevie-1.0.1-3.1.i386 libXevie-devel-1.0.1-3.1.i386 libXext-1.0.1-2.1.i386 libXext-devel-1.0.1-2.1.i386 libXfixes-4.0.1-2.1.i386 libXfixes-devel-4.0.1-2.1.i386 libXfont-1.2.2-1.0.2.el5.i386 libXfontcache-1.0.2-3.1.i386 libXfontcache-devel-1.0.2-3.1.i386 libXfont-devel-1.2.2-1.0.2.el5.i386 libXft-2.1.10-1.1.i386 libXft-devel-2.1.10-1.1.i386 libXi-1.0.1-3.1.i386 libxml2-2.6.26-2.1.2.i386 libxml2-devel-2.6.26-2.1.2.i386 libXmu-1.0.2-5.i386 libXmu-devel-1.0.2-5.i386 libXpm-3.5.5-3.i386 libXrandr-1.1.1-3.1.i386 libXrandr-devel-1.1.1-3.1.i386 libXrender-0.9.1-3.1.i386 libXrender-devel-0.9.1-3.1.i386 libXres-1.0.1-3.1.i386 libXres-devel-1.0.1-3.1.i386 libXScrnSaver-1.1.0-3.1.i386 libXScrnSaver-devel-1.1.0-3.1.i386 libxslt-1.1.17-2.i386 libXt-1.0.2-3.1.fc6.i386 libXt-devel-1.0.2-3.1.fc6.i386 libXTrap-1.0.0-3.1.i386 libXTrap-devel-1.0.0-3.1.i386 libXtst-1.0.1-3.1.i386 libXtst-devel-1.0.1-3.1.i386 libXv-1.0.1-4.1.i386 libXvMC-1.0.2-2.1.i386 libXvMC-devel-1.0.2-2.1.i386 libXxf86dga-1.0.1-3.1.i386 libXxf86dga-devel-1.0.1-3.1.i386 libXxf86misc-1.0.1-3.1.i386 libXxf86misc-devel-1.0.1-3.1.i386 libXxf86vm-1.0.1-3.1.i386 libXxf86vm-devel-1.0.1-3.1.i386 lockdev-1.0.1-10.i386 lockdev-devel-1.0.1-10.i386 mesa-libGL-6.5.1-7.5.el5.i386 mesa-libGL-devel-6.5.1-7.5.el5.i386 mkinitrd-5.1.19.6-19.i386 ncurses-5.5-24.20060715.i386 ncurses-devel-5.5-24.20060715.i386 neon-0.25.5-5.1.i386 netpbm-10.35-6.fc6.i386 netpbm-devel-10.35-6.fc6.i386 net-snmp-libs-5.3.1-19.el5.i386 newt-0.52.2-9.i386 newt-devel-0.52.2-9.i386 nspr-4.6.5-3.el5.i386 nss-3.11.7-1.3.el5.centos.i386 nss_db-2.2-35.1.i386 nss_ldap-253-5.el5.i386 numactl-0.9.8-2.el5.i386 openldap-2.3.27-8.i386 openldap-devel-2.3.27-8.i386 openssl-0.9.8b-8.3.el5_0.2.i686 openssl-devel-0.9.8b-8.3.el5_0.2.i386 pam-0.99.6.2-3.26.el5.i386 pam_ccreds-3-5.i386 pam-devel-0.99.6.2-3.26.el5.i386 pam_krb5-2.2.14-1.i386 pam_passwdqc-1.0.2-1.2.2.i386 pam_pkcs11-0.5.3-23.i386 pam_smb-1.1.7-7.2.1.i386 parted-1.8.1-12.el5.i386 pciutils-devel-2.2.3-4.i386 pcsc-lite-devel-1.3.1-7.i386 pcsc-lite-libs-1.3.1-7.i386 popt-1.10.2-47.el5.i386 postgresql-libs-8.1.9-1.el5.i386 python-devel-2.4.3-19.el5.i386 readline-5.1-1.1.i386 readline-devel-5.1-1.1.i386 rpm-devel-4.4.2-47.el5.i386 rpm-libs-4.4.2-47.el5.i386 SDL-1.2.10-8.el5.i386 SDL-devel-1.2.10-8.el5.i386 slang-2.0.6-4.el5.i386 slang-devel-2.0.6-4.el5.i386 sqlite-3.3.6-2.i386 subversion-1.4.2-2.el5.i386 tcp_wrappers-7.6-40.4.el5.i386 valgrind-3.2.1-6.el5.i386 Xaw3d-1.5E-10.1.i386 Xaw3d-devel-1.5E-10.1.i386 xdelta-1.1.3-20.i386 xmlsec1-1.2.9-8.1.i386 xmlsec1-devel-1.2.9-8.1.i386 xorg-x11-xtrans-devel-1.0.1-1.1.fc6.i386" service1=" acpid anacron arptables_jf atd auditd autofs cpuspeed crond gpm kudzu haldaemon iptables irqbalance messagebus microcode_ctl netfs network readahead_early readahead_later restorecond sshd syslog sysstat xinetd" service2=" amd arpwatch avahi-daemon avahi-dnsconfd conman dhcdbd ip6tables ipmi irda iscsi iscsid kdump lm_sensors mcstrans mdmonitor mdmpd named netplugd NetworkManager NetworkManagerDispatcher nfs nfslock nscd ntpd oddjobd pcscd portmap postfix psacct rdisc rpcgssd rpcidmapd rpcsvcgssd saslauthd smartd smb snmpd snmptrapd vsftpd winbind wpa_supplicant xfs ypbind yum-updatesd" rpm --import ftp://192.168.0.240/setup/centos5.1x86_64/RPM-GPG-KEY-CentOS-5 rpm -i ftp://192.168.0.240/setup/centos5.1x86_64/CentOS/ntp-4.2.2p1-7.el5.x86_64.rpm rpm -i ftp://192.168.0.240/setup/centos5.1x86_64/CentOS/dialog-1.0.20051107-1.2.2.x86_64.rpm rpm -i ftp://192.168.0.240/setup/centos5.1x86_64/CentOS/giflib-4.1.3-7.1.el5.1.x86_64.rpm rpm -i ftp://192.168.0.240/setup/centos5.1x86_64/CentOS/giflib-devel-4.1.3-7.1.el5.1.x86_64.rpm rpm -i ftp://192.168.0.240/setup/centos5.1x86_64/CentOS/giflib-utils-4.1.3-7.1.el5.1.x86_64.rpm for I in $i386file do rpm -e --nodeps $I done for I in $service1 do chkconfig --level 3 $I on done for I in $service2 do chkconfig --level 3 $I off done :>/etc/issue.net :>/etc/issue ntpdate 192.168.0.209 && clock -w cat >/etc/sysconfig/network<<EOF NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=web.800hr.com EOF cat >/etc/hosts<<EOF # Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost web web.800hr.com EOF cat >/etc/sysconfig/static-routes<<EOF any net 192.168.254.0 netmask 255.255.255.0 gw 192.168.0.253 EOF cat >/etc/cron.daily/ntptime<<EOF #!/bin/sh
PATH=\$PATH:/sbin:/usr/sbin ntpdate 192.168.0.209 && clock -w EOF chmod 755 /etc/cron.daily/ntptime cat >/etc/sysconfig/i18n<<EOF LANG="zh_CN" SYSFONT="latarcyrheb-sun16" EOF cat >>/etc/modprobe.conf<<EOF alias net-pf-10 off alias ipv6 off EOF cat >/etc/rc.d/my-shell.sh<<EOF #!/bin/sh
export PATH=\$PATH INITTY=/dev/tty[1-8] for tty in \$INITTY; do setleds -L -D +num <\$tty done EOF echo '/etc/rc.d/my-shell.sh' >>/etc/rc.d/rc.local chmod 755 /etc/rc.d/my-shell.sh %packages @core kernel system-config-securitylevel-tui @base @dialup @system-tools @text-internet @editors @ftp-server @smb-server @dns-server @mail-server @legacy-network-server @legacy-software-support @development-tools @development-libs @legacy-software-development @x-software-development @chinese-support aide -bluez-utils bridge-utils convmv keyutils keyutils-libs unifdef -firstboot-tui -redhat-lsb -cups -ibmasm iscsi-initiator-utils kexec-tools -sendmail -logwatch -mailx star x86info -wireless-tools nasm -isdn4k-utils statserial -rusers -rwho telnet-server -cyrus-sasl -dovecot postfix -sendmail -sendmail-cf -spamassassin am-utils arptables_jf arpwatch audit avahi-tools -bluez-hcidump -bluez-gnome gnutls-utils iptraf lslk lsscsi net-snmp-utils nmap-frontend sysstat uucp -cadaver -fetchmail lynx -slrn
|
接下来我们创建一个用于安装的数据源,我们下载CentOS5.1 的DVD文件。
mount -t iso9660 -r -o loop CentOS5.1xxxx.iso /mnt/cdrom
cp -a /mnt/cdrom /var/ftp/setup
这样只要在配置一个ftp或http、nfs之类的服务,让这能远程访问就可以了。然后配置一个apache,默认安装就可以,拷贝我们刚才创建的ks.cfg文件到他的htdocs下面。数据源这里就是用ftp吧,不会配置没关系,放到默认的路径下就可以了 /var/ftp
现在我们应该可以通过光盘引导,然后输入命令来使用网络自动安装了。
linux ks=http://server_ip/ks.cfg
下一步是添加安装服务器对pxe的支持。
1、创建dhcp服务器,并测试可以分配ip地址。
2、dhcpd.conf配置文件中几个关键部分说明如下:host q10{…}定义了笔记本Q10网卡的MAC地址与IP地址的对应关系,表明DHCP Server为Q10分配一个固定的IP:192.168.0.22;filename ""指定bootstrap的文件名;netx-server指定TFTP Server的地址。其它的配置请读者参考DHCP Server的手册。
dhcpd.conf
# # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.sample ddns-update-style interim; ignore client-updates; subnet 192.168.0.0 netmask 255.255.252.0 { # --- default gateway option routers 192.168.0.253; option subnet-mask 255.255.252.0; option nis-domain "800hr.co"; option domain-name "800hr.co"; option domain-name-servers 192.168.0.160; # option time-offset -18000; # Eastern Standard Time option ntp-servers 192.168.0.209; range dynamic-bootp 192.168.1.250 192.168.3.254; default-lease-time 21600; max-lease-time 43200; filename "/setup/pxelinux.0"; next-server 192.168.0.240;
} #END
|
创建tftp服务器。添加可引导内核。
1、在启动tftpd的时候要使用-s 指定一个虚拟的根目录。
tftp主要修改两处就可以,这里就不给出配置文件了。
/etc/xinetd.d/tftpd 中的
server_args = -u username -s /tftpboot
disable = no
2、拷贝光盘上pxeboot下面的文件到所刚才所指定的虚拟根目录里面去。
3、拷贝/usr/lib/syslinux/pxelinux.0 pexlinux.0到虚拟根目录下。
4、配置引导文件 在虚拟根目录的 pxelinux.cfg/default文件。
default
default linux ks=http://192.168.0.240/ks.cfg prompt 1 timeout 30 label linux kernel vmlinuz append initrd=initrd.img
|
启动tftp,dhcp,httpd,ftp服务,这会你已经可以按F12直接安装系统了。怎么样现在估计你应该1小时安装50台机器的系统应该没什么问题了,现在系统已经安装完成了,而且已经关闭了不必要的服务,剩下的就是根据需要安装相应的
软件并配置服务了。
这里说明一个技巧,在这里你的default配置的是安装的,等你的集群装好了,那天不小心又按到了F12咋办,那不是很麻烦吗,你可以把default文件的第一行改成
default linux rescue ks=http://192.168.0.240/ks.cfg
这样以后就不会重新安装了,而会进入修复模式,看看维护是不是也很方便。
【相关文章】
【责任编辑:
布丁 TEL:(010)68476606】
责编:
微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友