标签:
Cobbler 部署文档 服务端配置 操作系统:Centos6.4 关闭防火墙及 selinux 安装cobbler软件 添加yum源rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
安装相关软件yum -y install cobbler httpd rsync tftp-server xinetd dhcp cobbler-web syslinux cman pykickstart
设置cobbler服务 tftp服务和rsync服务sed -i ‘/disable/c\\tdisable\t\t\t no‘ /etc/xinetd.d/tftp sed -i -e ‘s/\\ yes/\\ no/g‘ /etc/xinetd.d/rsync
允许web登录sed -i ‘s/authn_denyall/authn_configfile/g‘ /etc/cobbler/modules.conf
设置cobbler web登陆,用户登陆密码htdigest /etc/cobbler/users.digest "Cobbler" cobbler #pass: l99.com
设置cobbler登陆服务器地址sed -i ‘s/server: 127.0.0.1/server: 192.168.60.1/g‘ /etc/cobbler/settings
ks脚本关闭pxe,这样就不会重复安装sed -i ‘s/pxe_just_once: 0/pxe_just_once: 1/g‘ /etc/cobbler/settings
TFTP服务器 IP地址sed -i ‘s/next_server: 127.0.0.1/next_server: 192.168.60.1/g‘ /etc/cobbler/settings
cobbler管理rsyncsed -i ‘s/manage_rsync: 0/manage_rsync: 1/g‘ /etc/cobbler/settings
cobbler管理dhcpsed -i ‘s/manage_dhcp: 0/manage_dhcp: 1/g‘ /etc/cobbler/settings
设置debmirrorsed -i -e ‘s|@dists.*|#@dists|‘ /etc/debmirror.conf sed -i -e ‘s|@arches.*|#@arches|‘ /etc/debmirror.conf
dhcp服务是有cobbler来管理 /etc/cobbler/dhcp.template 修改下面的内容就可以。subnet 192.168.60.0 netmask 255.255.255.0 { option routers 192.168.60.1; option domain-name-servers 192.168.60.3; option subnet-mask 255.255.255.0; range dynamic-bootp 192.168.60.100 192.168.60.150; filename "/pxelinux.0"; default-lease-time 21600; max-lease-time 43200; next-server $next_server; }
设置root默认密码这个设置只针对centos有效。默认的root密码是:l99.com openssl passwd -1 -salt ‘random-phrase-here‘ ‘l99.com‘ $1$random-p$A7/aqa3cbDOPzq2CUARYK1 修改 /etc/cobbler/settings default_password_crypted: "$1$random-p$A7/aqa3cbDOPzq2CUARYK1"
启动相关服务chkconfig httpd on chkconfig cobblerd on chkconfig dhcpd on chkconfig xinetd on /etc/init.d/httpd restart /etc/init.d/cobblerd restart /etc/init.d/dhcpd restart /etc/init.d/xinetd restart
设置debmirrorsed -i -e ‘s|@dists.*|#@dists|‘ /etc/debmirror.conf sed -i -e ‘s|@arches.*|#@arches|‘ /etc/debmirror.conf
启动菜单cobbler get-loaders
同步配置cobbler sync
检查cobblercobbler check
会看以下内容No configuration problems found. All systems go.
浏览cobbler_webhttp://192.168.60.1/cobbler_web
如果提示:Error importing template source loader django.template.loaders.filesystem.load_template_source: "‘module‘ object has no attribute ‘load_template_source‘" 由于默认安装的django版本为1.4,可能是bug,解决方法可以换成低版本的djangorpm -e Django14-1.4.5-1.el6.noarch.rpm wget ftp://ftp.pbone.net/mirror/ftp.sourceforge.net/pub/sourceforge/e/er/errepoel/centos/6/os/x86_64/Django-1.3.1-21.el6.noarch.rpm rm -rf /usr/lib/python2.6/site-packages/django/ rpm -ivh Django-1.3.1-21.el6.noarch.rpm
重启httpd和cobblerd服务 导入镜像mount -t auto -o loop CentOS-6.4-x86_64-bin-DVD1.iso /mnt/ cobbler import --path/mnt --nameCentOS6.4 --archx86_64
会看到以下内容 task started: 2013-06-14_093721_import task started (idMedia import, timeFri Jun 14 09:37:21 2013) Found a redhat compatible signature: Packages adding distros creating new distro: CentOS6.4-x86_64 creating new profile: CentOS6.4-x86_64 associating repos traversing distro CentOS6.4-x86_64 descent into /var/www/cobbler/ks_mirror/CentOS6.4-x86_64 processing repo at : /var/www/cobbler/ks_mirror/CentOS6.4-x86_64 need to process repo/comps: /var/www/cobbler/ks_mirror/CentOS6.4-x86_64 looking for /var/www/cobbler/ks_mirror/CentOS6.4-x86_64/repodata/*comps*.xml running: createrepo -c cache -s sha --groupfile /var/www/cobbler/ks_mirror/CentOS6.4-x86_64/repodata/2727fcb43fbe4c1a3588992af8c19e4d97167aee2f6088959221fc285cab6f72-c6-x86_64-comps.xml /var/www/cobbler/ks_mirror/CentOS6.4-x86_64 received on stdout: Spawning worker 0 with 3916 pkgs Workers Finished Gathering worker results Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete received on stderr: associating kickstarts *** TASK COMPLETE *** cobbler repo仓库建立cobbler repo add --name163.com-6-x86_64 --mirrorhttp://mirrors.163.com/centos/6/os/x86_64/Packages/
建立repo仓库cobbler reposync
此处遇到问题:同步了一晚上的数据,第二天发现报错如下:reposync failed, tries left: 0 Exception occured: Exception value: ‘reposync failed, retry limit reached, aborting‘ Exception Info: File "/usr/lib/python2.6/site-packages/cobbler/utils.py", line 123, in die raise CX(msg) Exception occured: Exception value: ‘reposync failed, retry limit reached, aborting‘ Exception Info:
查找了一些资料后有些人说是bug,具体我也不太清楚。后来直接使用本地镜像导入了,具体方法如下:cobbler repo add --nameCentOS6.4-x86_64 --mirrorhttp://192.168.60.1/cobbler/ks_mirror/CentOS6.4-x86_64
建立仓库cobbler reposync
完成后/var/www/cobbler/repo_mirror目录下会生成CentOS6.4-x86_64 如果安装puppet客户端 由于epel的源同步失败,因此此处手动将puppet所需要的包添加到本地repo中 安装pupet客户端还需要几个ruby的包,以上加的两个源里默认没有,可以从网上下载后再添加到目前有的源里:cobbler repo add --namepuppetlabs --mirrorhttp://yum.puppetlabs.com/el/6/products/x86_64/ #把这个也加上,虽然是从网络同步的,但它却能成功
下载所需包http://mirrors.sohu.com/fedora-epel/6/x86_64/ruby-shadow-1.4.1-13.el6.x86_64.rpm http://mirrors.sohu.com/fedora-epel/6/x86_64/ruby-json-1.4.6-1.el6.x86_64.rpm http://mirrors.sohu.com/fedora-epel/6/x86_64/ruby-augeas-0.4.1-1.el6.x86_64.rpmhttp://dl.marmotte.net/rpms/redhat/el6/x86_64/ruby-rgen-0.6.2-1.el6/ruby-rgen-0.6.2-1.el6.noarch.rpm http://dl.marmotte.net/rpms/redhat/el6/x86_64/hiera-1.2.1-1.el6/hiera-1.2.1-1.el6.noarch.rpm http://yumrepo-public.library.northwestern.edu/x86_64/rubygem-json-1.6.8-1.el6.x86_64.rpm http://yum.theforeman.org/releases/latest/el6/x86_64/rubygems-1.8.10-1.el6.noarch.rpm
把下载下来的文件cp到/var/www/cobbler/repo_mirror/CentOS6.4-x86_64/Packages里并执行以下命令更新createrepo -g comps.xml --update .
编写ks文件cd /var/lib/cobbler/kickstarts vim centos6.ks #可根据自己需要进行设置
由于服务器配置和用途不同,本例中共创建了三种ks文件: dell服务器物理机:CentOS6.4-x86_64_Dell-Server 超微服务器物理机虚拟化:CentOS6.4-x86_64_Virtualization 超微服务器2U4物理机:CentOS6.4-x86_64_Virtualization 虚拟机:CentOS6.4-x86_64_VM-Server 创建方法cobbler profile add --name CentOS6.4-x86_64 --distro‘CentOS6.4-x86_64‘ --kickstart/var/lib/cobbler/kickstarts/centos6.ks --repo‘CentOS6.4-x86_64 puppetlabs‘
cobbler sync
依次创建profile 完成后检测 [root@cobbler ~]# cobbler profile list CentOS6.4-x86_64 CentOS6.4-x86_64_Dell-Server CentOS6.4-x86_64_VM-Server CentOS6.4-x86_64_Virtualization OK!可以装系统啦! 安装时如果提示unable down load the kickstart file .............. 请检查一下ks文件,把没用的都删掉,再 cobbler sync 首次安装操作系统 1、 将需要安装系统的服务器,以下简称客户端,放到和cobbler服务端同样的子网中。 2、 启动cobbler服务端上的cobblerd等相关服务。 3、 从PXE启动客户端主机。 (1) 客户端寻找设置DHCP。 (2) 客户端从PXE启动。 (3) 客户端进入cobbler profile选择界面,用户可以根据应用的不同,选择不同的cobbler配置文件。 指定主机名和ip配置方法 想办法扫描到准备安装系统主机的mac地址 在/etc/dhcp/dhcpd.conf文件中添加以下内容: 注:添加完不要执行cobbler sync,因为之前配置中dhcpd服务是由cobbler来控制的,直接重启dhcpd服务就可以了。host cobbler-test01 { option host-name "cobbler-test01"; hardware ethernet 08:00:27:74:1B:50; fixed-address 192.168.60.61; } host cobbler-test02 { option host-name "cobbler-test02"; hardware ethernet 08:00:27:5B:0A:BD; fixed-address 192.168.60.62; }
koan使用方法 system是对待安装机器做具体设置,如设置主机名、IP地址、hostname等,这些设置根据MAC应用到具体机器上。 下面是几个添加删除修改system的例子: 添加system配置,配置文件名称:web-server01,机器IP地址192.168.60.65,机器MAC地址:08:00:27:74:1B:50,使用配置文件名称:web-server01,kickstart文件为:/var/lib/cobbler/kickstarts/centos6.kscobbler system add --nameweb-server01 --ip-address192.168.60.65 --mac08:00:27:74:1B:50 --profileCentOS6.4-x86_64 --kickstart/var/lib/cobbler/kickstarts/centos6.ks
修改system配置,配置文件名称:webserver1,机器IP地址由192.168.60.65变更为192.168.60.65cobbler system edit --nameweb-server01 --ip-address192.168.60.66
变更system配置名称,名称由web-server01变更成db-server01cobbler system rename --nameweb-server01 --newnamedb-server01
删除system配置,需要删除的profile名称为dberver1cobbler system remove --namedbserver1
重新安装服务器的操作系统 在客户端上安装koanyum install koan
查看cobbler server上的配置文件koan --server192.168.60.1 --listprofiles
重新安装客户端系统koan --replace-self --server192.168.0.2 --profilewebserver1
reboot重启服务器后,客户端服务器会自动重新安装操作系统 ks文件记录 dell服务器物理机 CentOS6.4-x86_64_Dell-Server#platformx86, AMD64, or Intel EM64T # System authorization information auth --useshadow --enablemd5 # System bootloader configuration bootloader --locationmbr # Partition clearing information clearpart --all --initlabel # Use text mode install text # Firewall configuration firewall --disable # Run the Setup Agent on first boot firstboot --disable # System keyboard keyboard us # System language lang zh_CN # Use network installation #url --url$tree url --urlhttp://192.168.199.1/cobbler/links/CentOS6.4-x86_64 #url --proxy$http_server:3128 --url$tree # If any cobbler repo definitions were referenced in the kickstart profile, include them here. $yum_repo_stanza # Network information # $SNIPPET(‘network_config‘) # Reboot after installation reboot #Root password rootpw --iscrypted $default_password_crypted user skstsuperadmin --name "skstsuperadmin" --iscrypted --password $default_password_crypted # SELinux configuration selinux --disabled # Do not configure the X Window System skipx # System timezone #timezone America/New_York timezone Asia/Shanghai # Install OS instead of upgrade install # Clear the Master Boot Record zerombr # Allow anaconda to partition the system as needed #autopart clearpart --all --initlabel part /boot --fstype"ext4" --asprimary --size200 part swap --fstype"swap" --size4096 #part /nova-volume --fstype"ext4" --size200000 part / --fstype"ext4" --size100000 part /data --fstype"ext4" --grow --size1 %pre $SNIPPET(‘log_ks_pre‘) $SNIPPET(‘kickstart_start‘) $SNIPPET(‘pre_install_network_config‘) # Enable installation monitoring $SNIPPET(‘pre_anamon‘) %packages $SNIPPET(‘func_install_if_enabled‘) $SNIPPET(‘puppet_install_if_enabled‘) @base @chinese-support @console-internet @legacy-unix @system-admin-tools ftp telnet tree puppet %post $SNIPPET(‘log_ks_post‘) # Start yum configuration $yum_config_stanza # End yum configuration $SNIPPET(‘post_install_kernel_options‘) $SNIPPET(‘post_install_network_config‘) $SNIPPET(‘func_register_if_enabled‘) $SNIPPET(‘puppet_register_if_enabled‘) $SNIPPET(‘download_config_files‘) $SNIPPET(‘koan_environment‘) $SNIPPET(‘redhat_register‘) $SNIPPET(‘cobbler_register‘) # Enable post-install boot notification $SNIPPET(‘post_anamon‘) ### Sync Time ### # Start final steps $SNIPPET(‘kickstart_done‘) # End final steps echo "ulimit -SHn 65535" >> /etc/rc.local echo -e "* soft nofile 65535\n* hard nofile 65535" >> /etc/security/limits.conf sed -i ‘s#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#‘ /etc/init/control-alt-delete.conf sed -i ‘s/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/‘ /etc/ssh/sshd_config sed -i ‘s/#UseDNS yes/UseDNS no/‘ /etc/ssh/sshd_config sed -i ‘s/#Port 22/Port 6022/g‘ /etc/ssh/sshd_config sed -i ‘s/#PermitRootLogin yes/PermitRootLogin no/g‘ /etc/ssh/sshd_config echo "net.ipv4.tcp_fin_timeout 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_keepalive_time 1200" >> /etc/sysctl.conf echo "net.ipv4.tcp_mem 94500000 915000000 927000000" >> /etc/sysctl.conf echo "net.ipv4.tcp_tw_reuse 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_timestamps 0" >> /etc/sysctl.conf echo "net.ipv4.tcp_synack_retries 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_syn_retries 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_tw_recycle 1" >> /etc/sysctl.conf echo "net.core.rmem_max 16777216" >> /etc/sysctl.conf echo "net.core.wmem_max 16777216" >> /etc/sysctl.conf echo "netdev_max_backlog 262144" >> /etc/sysctl.conf echo "net.core.somaxconn 262144" >> /etc/sysctl.conf echo "net.ipv4.tcp_max_orphans 3276800" >> /etc/sysctl.conf echo "net.ipv4.tcp_max_syn_backlog 262144" >> /etc/sysctl.conf echo "net.core.wmem_default 8388608" >> /etc/sysctl.conf echo "net.core.rmem_default 8388608" >> /etc/sysctl.conf echo -e "alias net-pf-10 off\noptions ipv6 disable1" >> /etc/security/limits.conf echo "NETWORKING_IPV6off" >> /etc/sysconfig/network eth0_config‘/etc/sysconfig/network-scripts/ifcfg-em1‘ ip`/sbin/ifconfig em1 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $4}‘` mask`/sbin/ifconfig em1 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $8}‘` gateway`netstat -r | grep ‘default‘ | awk ‘{ print $2}‘` sed -i ‘s/dhcp/static/g‘ $eth0_config sed -i ‘s/ONBOOTno/ONBOOTyes/g‘ $eth0_config echo IPADDR`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $4}‘` >> $eth0_config echo NETMASK`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $8}‘` >> $eth0_config echo GATEWAY‘192.168.199.1‘ >> $eth0_config
dell服务器物理机虚拟化 CentOS6.4-x86_64_Dell_Virtualization#platformx86, AMD64, or Intel EM64T # System authorization information auth --useshadow --enablemd5 # System bootloader configuration bootloader --locationmbr # Partition clearing information clearpart --all --initlabel # Use text mode install text # Firewall configuration firewall --disable # Run the Setup Agent on first boot firstboot --disable # System keyboard keyboard us # System language lang zh_CN # Use network installation #url --url$tree url --urlhttp://192.168.199.1/cobbler/links/CentOS6.4-x86_64 #url --proxy$http_server:3128 --url$tree # If any cobbler repo definitions were referenced in the kickstart profile, include them here. $yum_repo_stanza # Network information # $SNIPPET(‘network_config‘) # Reboot after installation reboot #Root password rootpw --iscrypted $default_password_crypted user skstsuperadmin --name "skstsuperadmin" --iscrypted --password $default_password_crypted # SELinux configuration selinux --disabled # Do not configure the X Window System skipx # System timezone #timezone America/New_York timezone Asia/Shanghai # Install OS instead of upgrade install # Clear the Master Boot Record zerombr # Allow anaconda to partition the system as needed #autopart clearpart --all --initlabel part /boot --fstype"ext4" --asprimary --size200 part swap --fstype"swap" --size4096 #part /nova-volume --fstype"ext4" --size200000 part / --fstype"ext4" --size50000 part /data --fstype"ext4" --grow --size1 %pre $SNIPPET(‘log_ks_pre‘) $SNIPPET(‘kickstart_start‘) $SNIPPET(‘pre_install_network_config‘) # Enable installation monitoring $SNIPPET(‘pre_anamon‘) %packages $SNIPPET(‘func_install_if_enabled‘) $SNIPPET(‘puppet_install_if_enabled‘) @base @chinese-support @console-internet @legacy-unix @system-admin-tools @virtualization @virtualization-client @virtualization-platform @virtualization-tools ftp telnet tree puppet %post $SNIPPET(‘log_ks_post‘) # Start yum configuration $yum_config_stanza # End yum configuration $SNIPPET(‘post_install_kernel_options‘) $SNIPPET(‘post_install_network_config‘) $SNIPPET(‘func_register_if_enabled‘) $SNIPPET(‘puppet_register_if_enabled‘) $SNIPPET(‘download_config_files‘) $SNIPPET(‘koan_environment‘) $SNIPPET(‘redhat_register‘) $SNIPPET(‘cobbler_register‘) # Enable post-install boot notification $SNIPPET(‘post_anamon‘) ### Sync Time ### # Start final steps $SNIPPET(‘kickstart_done‘) # End final steps echo "ulimit -SHn 65535" >> /etc/rc.local echo -e "* soft nofile 65535\n* hard nofile 65535" >> /etc/security/limits.conf sed -i ‘s#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#‘ /etc/init/control-alt-delete.conf sed -i ‘s/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/‘ /etc/ssh/sshd_config sed -i ‘s/#UseDNS yes/UseDNS no/‘ /etc/ssh/sshd_config sed -i ‘s/#Port 22/Port 6022/g‘ /etc/ssh/sshd_config sed -i ‘s/#PermitRootLogin yes/PermitRootLogin no/g‘ /etc/ssh/sshd_config echo "net.ipv4.tcp_fin_timeout 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_keepalive_time 1200" >> /etc/sysctl.conf echo "net.ipv4.tcp_mem 94500000 915000000 927000000" >> /etc/sysctl.conf echo "net.ipv4.tcp_tw_reuse 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_timestamps 0" >> /etc/sysctl.conf echo "net.ipv4.tcp_synack_retries 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_syn_retries 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_tw_recycle 1" >> /etc/sysctl.conf echo "net.core.rmem_max 16777216" >> /etc/sysctl.conf echo "net.core.wmem_max 16777216" >> /etc/sysctl.conf echo "netdev_max_backlog 262144" >> /etc/sysctl.conf echo "net.core.somaxconn 262144" >> /etc/sysctl.conf echo "net.ipv4.tcp_max_orphans 3276800" >> /etc/sysctl.conf echo "net.ipv4.tcp_max_syn_backlog 262144" >> /etc/sysctl.conf echo "net.core.wmem_default 8388608" >> /etc/sysctl.conf echo "net.core.rmem_default 8388608" >> /etc/sysctl.conf echo -e "alias net-pf-10 off\noptions ipv6 disable1" >> /etc/security/limits.conf echo "NETWORKING_IPV6off" >> /etc/sysconfig/network eth0_config‘/etc/sysconfig/network-scripts/ifcfg-em1‘ ip`/sbin/ifconfig em1 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $4}‘` mask`/sbin/ifconfig em1 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $8}‘` gateway`netstat -r | grep ‘default‘ | awk ‘{ print $2}‘` sed -i ‘s/dhcp/static/g‘ $eth0_config sed -i ‘s/ONBOOTno/ONBOOTyes/g‘ $eth0_config echo IPADDR`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $4}‘` >> $eth0_config echo NETMASK`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $8}‘` >> $eth0_config echo GATEWAY‘192.168.199.1‘ >> $eth0_config
超微服务器(3U8)物理机虚拟化 CentOS6.4-x86_64_Virtualization#platformx86, AMD64, or Intel EM64T # System authorization information auth --useshadow --enablemd5 # System bootloader configuration bootloader --locationmbr # Partition clearing information clearpart --all --initlabel # Use text mode install text # Firewall configuration firewall --disable # Run the Setup Agent on first boot firstboot --disable # System keyboard keyboard us # System language lang zh_CN # Use network installation #url --url$tree url --urlhttp://192.168.199.1/cobbler/links/CentOS6.4-x86_64 #url --proxy$http_server:3128 --url$tree # If any cobbler repo definitions were referenced in the kickstart profile, include them here. $yum_repo_stanza # Network information $SNIPPET(‘network_config‘) # Reboot after installation reboot #Root password rootpw --iscrypted $default_password_crypted user skstsuperadmin --name "skstsuperadmin" --iscrypted --password $default_password_crypted # SELinux configuration selinux --disabled # Do not configure the X Window System skipx # System timezone #timezone America/New_York timezone Asia/Shanghai # Install OS instead of upgrade install # Clear the Master Boot Record zerombr # Allow anaconda to partition the system as needed #autopart clearpart --all --initlabel part /boot --fstype"ext4" --asprimary --size200 part swap --fstype"swap" --size4096 part / --fstype"ext4" --size50000 part /var --fstype"ext4" --grow --size1 %pre $SNIPPET(‘log_ks_pre‘) $SNIPPET(‘kickstart_start‘) $SNIPPET(‘pre_install_network_config‘) # Enable installation monitoring $SNIPPET(‘pre_anamon‘) %packages $SNIPPET(‘func_install_if_enabled‘) $SNIPPET(‘puppet_install_if_enabled‘) @base @chinese-support @console-internet @legacy-unix @system-admin-tools @virtualization @virtualization-client @virtualization-platform @virtualization-tools ftp telnet tree salt-minion puppet %post $SNIPPET(‘log_ks_post‘) # Start yum configuration $yum_config_stanza # End yum configuration $SNIPPET(‘post_install_kernel_options‘) $SNIPPET(‘post_install_network_config‘) $SNIPPET(‘func_register_if_enabled‘) $SNIPPET(‘puppet_register_if_enabled‘) $SNIPPET(‘download_config_files‘) $SNIPPET(‘koan_environment‘) $SNIPPET(‘redhat_register‘) $SNIPPET(‘cobbler_register‘) # Enable post-install boot notification $SNIPPET(‘post_anamon‘) ### Sync Time ### # Start final steps $SNIPPET(‘kickstart_done‘) # End final steps echo "ulimit -SHn 65535" >> /etc/rc.local echo -e "* soft nofile 65535\n* hard nofile 65535" >> /etc/security/limits.conf sed -i ‘s#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#‘ /etc/init/control-alt-delete.conf sed -i ‘s/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/‘ /etc/ssh/sshd_config sed -i ‘s/#UseDNS yes/UseDNS no/‘ /etc/ssh/sshd_config sed -i ‘s/#Port 22/Port 6022/g‘ /etc/ssh/sshd_config sed -i ‘s/#PermitRootLogin yes/PermitRootLogin no/g‘ /etc/ssh/sshd_config echo "net.ipv4.tcp_fin_timeout 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_keepalive_time 1200" >> /etc/sysctl.conf echo "net.ipv4.tcp_mem 94500000 915000000 927000000" >> /etc/sysctl.conf echo "net.ipv4.tcp_tw_reuse 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_timestamps 0" >> /etc/sysctl.conf echo "net.ipv4.tcp_synack_retries 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_syn_retries 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_tw_recycle 1" >> /etc/sysctl.conf echo "net.core.rmem_max 16777216" >> /etc/sysctl.conf echo "net.core.wmem_max 16777216" >> /etc/sysctl.conf echo "netdev_max_backlog 262144" >> /etc/sysctl.conf echo "net.core.somaxconn 262144" >> /etc/sysctl.conf echo "net.ipv4.tcp_max_orphans 3276800" >> /etc/sysctl.conf echo "net.ipv4.tcp_max_syn_backlog 262144" >> /etc/sysctl.conf echo "net.core.wmem_default 8388608" >> /etc/sysctl.conf echo "net.core.rmem_default 8388608" >> /etc/sysctl.conf echo -e "alias net-pf-10 off\noptions ipv6 disable1" >> /etc/security/limits.conf echo "NETWORKING_IPV6off" >> /etc/sysconfig/network eth0_config‘/etc/sysconfig/network-scripts/ifcfg-eth0‘ ip`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $4}‘` mask`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $8}‘` gateway`netstat -r | grep ‘default‘ | awk ‘{ print $2}‘` sed -i ‘s/dhcp/static/g‘ $eth0_config sed -i ‘s/ONBOOTno/ONBOOTyes/g‘ $eth0_config echo IPADDR`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $4}‘` >> $eth0_config echo NETMASK`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $8}‘` >> $eth0_config
超微服务器2U4物理机 CentOS6.4-x86_64_Supermicr-2U4#platformx86, AMD64, or Intel EM64T # System authorization information auth --useshadow --enablemd5 # System bootloader configuration bootloader --locationmbr # Partition clearing information clearpart --all --initlabel # Use text mode install text # Firewall configuration firewall --disable # Run the Setup Agent on first boot firstboot --disable # System keyboard keyboard us # System language lang zh_CN # Use network installation #url --url$tree url --urlhttp://192.168.199.1/cobbler/links/CentOS6.4-x86_64 #url --proxy$http_server:3128 --url$tree # If any cobbler repo definitions were referenced in the kickstart profile, include them here. $yum_repo_stanza # Network information $SNIPPET(‘network_config‘) # Reboot after installation reboot #Root password rootpw --iscrypted $default_password_crypted user skstsuperadmin --name "skstsuperadmin" --iscrypted --password $default_password_crypted # SELinux configuration selinux --disabled # Do not configure the X Window System skipx # System timezone #timezone America/New_York timezone Asia/Shanghai # Install OS instead of upgrade install # Clear the Master Boot Record zerombr # Allow anaconda to partition the system as needed #autopart clearpart --all --initlabel part /boot --fstype"ext4" --asprimary --size200 part swap --fstype"swap" --size4096 part / --fstype"ext4" --size100000 part /data --fstype"ext4" --grow --size1 %pre $SNIPPET(‘log_ks_pre‘) $SNIPPET(‘kickstart_start‘) $SNIPPET(‘pre_install_network_config‘) # Enable installation monitoring $SNIPPET(‘pre_anamon‘) %packages $SNIPPET(‘func_install_if_enabled‘) $SNIPPET(‘puppet_install_if_enabled‘) @base @chinese-support @console-internet @legacy-unix @system-admin-tools ftp telnet tree puppet %post $SNIPPET(‘log_ks_post‘) # Start yum configuration $yum_config_stanza # End yum configuration $SNIPPET(‘post_install_kernel_options‘) $SNIPPET(‘post_install_network_config‘) $SNIPPET(‘func_register_if_enabled‘) $SNIPPET(‘puppet_register_if_enabled‘) $SNIPPET(‘download_config_files‘) $SNIPPET(‘koan_environment‘) $SNIPPET(‘redhat_register‘) $SNIPPET(‘cobbler_register‘) # Enable post-install boot notification $SNIPPET(‘post_anamon‘) ### Sync Time ### # Start final steps $SNIPPET(‘kickstart_done‘) # End final steps echo "ulimit -SHn 65535" >> /etc/rc.local echo -e "* soft nofile 65535\n* hard nofile 65535" >> /etc/security/limits.conf sed -i ‘s#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#‘ /etc/init/control-alt-delete.conf sed -i ‘s/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/‘ /etc/ssh/sshd_config sed -i ‘s/#UseDNS yes/UseDNS no/‘ /etc/ssh/sshd_config sed -i ‘s/#Port 22/Port 6022/g‘ /etc/ssh/sshd_config sed -i ‘s/#PermitRootLogin yes/PermitRootLogin no/g‘ /etc/ssh/sshd_config echo "net.ipv4.tcp_fin_timeout 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_keepalive_time 1200" >> /etc/sysctl.conf echo "net.ipv4.tcp_mem 94500000 915000000 927000000" >> /etc/sysctl.conf echo "net.ipv4.tcp_tw_reuse 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_timestamps 0" >> /etc/sysctl.conf echo "net.ipv4.tcp_synack_retries 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_syn_retries 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_tw_recycle 1" >> /etc/sysctl.conf echo "net.core.rmem_max 16777216" >> /etc/sysctl.conf echo "net.core.wmem_max 16777216" >> /etc/sysctl.conf echo "netdev_max_backlog 262144" >> /etc/sysctl.conf echo "net.core.somaxconn 262144" >> /etc/sysctl.conf echo "net.ipv4.tcp_max_orphans 3276800" >> /etc/sysctl.conf echo "net.ipv4.tcp_max_syn_backlog 262144" >> /etc/sysctl.conf echo "net.core.wmem_default 8388608" >> /etc/sysctl.conf echo "net.core.rmem_default 8388608" >> /etc/sysctl.conf echo -e "alias net-pf-10 off\noptions ipv6 disable1" >> /etc/security/limits.conf echo "NETWORKING_IPV6off" >> /etc/sysconfig/network eth0_config‘/etc/sysconfig/network-scripts/ifcfg-eth0‘ ip`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $4}‘` mask`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $8}‘` gateway`netstat -r | grep ‘default‘ | awk ‘{ print $2}‘` sed -i ‘s/dhcp/static/g‘ $eth0_config sed -i ‘s/ONBOOTno/ONBOOTyes/g‘ $eth0_config echo IPADDR`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $4}‘` >> $eth0_config echo NETMASK`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $8}‘` >> $eth0_config echo "192.168.199.199 puppet" >> /etc/hosts chkconfig puppet on service puppet start
虚拟机 CentOS6.4-x86_64_VM-Server#platformx86, AMD64, or Intel EM64T # System authorization information auth --useshadow --enablemd5 # System bootloader configuration bootloader --locationmbr # Partition clearing information clearpart --all --initlabel # Use text mode install text # Firewall configuration firewall --disable # Run the Setup Agent on first boot firstboot --disable # System keyboard keyboard us # System language lang zh_CN # Use network installation #url --url$tree url --urlhttp://192.168.199.1/cobbler/links/CentOS6.4-x86_64 #url --proxy$http_server:3128 --url$tree # If any cobbler repo definitions were referenced in the kickstart profile, include them here. $yum_repo_stanza # Network information $SNIPPET(‘network_config‘) # Reboot after installation reboot #Root password rootpw --iscrypted $default_password_crypted user skstsuperadmin --name "skstsuperadmin" --iscrypted --password $default_password_crypted # SELinux configuration selinux --disabled # Do not configure the X Window System skipx # System timezone #timezone America/New_York timezone Asia/Shanghai # Install OS instead of upgrade install # Clear the Master Boot Record zerombr # Allow anaconda to partition the system as needed #autopart clearpart --all --initlabel part /boot --fstype"ext4" --asprimary --size200 part swap --fstype"swap" --size4096 #part /nova-volume --fstype"ext4" --size200000 #part / --fstype"ext4" --size50000 part / --fstype"ext4" --grow --size1 %pre $SNIPPET(‘log_ks_pre‘) $SNIPPET(‘kickstart_start‘) $SNIPPET(‘pre_install_network_config‘) # Enable installation monitoring $SNIPPET(‘pre_anamon‘) %packages $SNIPPET(‘func_install_if_enabled‘) $SNIPPET(‘puppet_install_if_enabled‘) @base @chinese-support @console-internet @legacy-unix @system-admin-tools ftp telnet tree puppet %post $SNIPPET(‘log_ks_post‘) # Start yum configuration $yum_config_stanza # End yum configuration $SNIPPET(‘post_install_kernel_options‘) $SNIPPET(‘post_install_network_config‘) $SNIPPET(‘func_register_if_enabled‘) $SNIPPET(‘puppet_register_if_enabled‘) $SNIPPET(‘download_config_files‘) $SNIPPET(‘koan_environment‘) $SNIPPET(‘redhat_register‘) $SNIPPET(‘cobbler_register‘) # Enable post-install boot notification $SNIPPET(‘post_anamon‘) ### Sync Time ### # Start final steps $SNIPPET(‘kickstart_done‘) # End final steps echo "ulimit -SHn 65535" >> /etc/rc.local echo -e "* soft nofile 65535\n* hard nofile 65535" >> /etc/security/limits.conf sed -i ‘s#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#‘ /etc/init/control-alt-delete.conf sed -i ‘s/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/‘ /etc/ssh/sshd_config sed -i ‘s/#UseDNS yes/UseDNS no/‘ /etc/ssh/sshd_config sed -i ‘s/#Port 22/Port 6022/g‘ /etc/ssh/sshd_config sed -i ‘s/#PermitRootLogin yes/PermitRootLogin no/g‘ /etc/ssh/sshd_config echo "net.ipv4.tcp_fin_timeout 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_keepalive_time 1200" >> /etc/sysctl.conf echo "net.ipv4.tcp_mem 94500000 915000000 927000000" >> /etc/sysctl.conf echo "net.ipv4.tcp_tw_reuse 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_timestamps 0" >> /etc/sysctl.conf echo "net.ipv4.tcp_synack_retries 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_syn_retries 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_tw_recycle 1" >> /etc/sysctl.conf echo "net.core.rmem_max 16777216" >> /etc/sysctl.conf echo "net.core.wmem_max 16777216" >> /etc/sysctl.conf echo "netdev_max_backlog 262144" >> /etc/sysctl.conf echo "net.core.somaxconn 262144" >> /etc/sysctl.conf echo "net.ipv4.tcp_max_orphans 3276800" >> /etc/sysctl.conf echo "net.ipv4.tcp_max_syn_backlog 262144" >> /etc/sysctl.conf echo "net.core.wmem_default 8388608" >> /etc/sysctl.conf echo "net.core.rmem_default 8388608" >> /etc/sysctl.conf echo -e "alias net-pf-10 off\noptions ipv6 disable1" >> /etc/security/limits.conf echo "NETWORKING_IPV6off" >> /etc/sysconfig/network eth0_config‘/etc/sysconfig/network-scripts/ifcfg-eth0‘ ip`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $4}‘` mask`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $8}‘` gateway`netstat -r | grep ‘default‘ | awk ‘{ print $2}‘` sed -i ‘s/dhcp/static/g‘ $eth0_config sed -i ‘s/ONBOOTno/ONBOOTyes/g‘ $eth0_config echo IPADDR`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $4}‘` >> $eth0_config echo NETMASK`/sbin/ifconfig eth0 |grep ‘inet addr‘|awk -F ‘ *|:‘ ‘{print $8}‘` >> $eth0_config echo GATEWAY‘192.168.199.1‘ >> $eth0_config
安装实战(超微3U8) 列出3U8服务器宿主机和虚拟机ip分配 ^服务器类型^宿主机名^主机名^虚拟机^ |3U8|apphost-05-zhaowei-bj|apphost-chinacache-bj-199.107|app-chinacache-bj-199.49| |:::|:::|:::|app-chinacache-bj-199.64| |:::|:::|:::|app-chinacache-bj-199.68| |:::|:::|:::|app-chinacache-bj-199.70| |:::|:::|apphost-chinacache-bj-199.108|app-chinacache-bj-199.71| |:::|:::|:::|app-chinacache-bj-199.72| |:::|:::|:::|app-chinacache-bj-199.73| |:::|:::|:::|app-chinacache-bj-199.74| |:::|:::|apphost-chinacache-bj-199.109|app-chinacache-bj-199.75| |:::|:::|:::|app-chinacache-bj-199.76| |:::|:::|:::|app-chinacache-bj-199.77| |:::|:::|:::|app-chinacache-bj-199.78| |:::|:::|apphost-chinacache-bj-199.110|app-chinacache-bj-199.79| |:::|:::|:::|app-chinacache-bj-199.91| |:::|:::|:::|app-chinacache-bj-199.92| |:::|:::|:::|app-chinacache-bj-199.93| |:::|:::|apphost-chinacache-bj-199.111|app-chinacache-bj-199.94| |:::|:::|:::|app-chinacache-bj-199.95| |:::|:::|:::|app-chinacache-bj-199.96| |:::|:::|:::|app-chinacache-bj-199.97| |:::|:::|apphost-chinacache-bj-199.112|app-chinacache-bj-199.98| |:::|:::|:::|app-chinacache-bj-199.99| |:::|:::|:::|app-chinacache-bj-199.100| |:::|:::|:::|app-chinacache-bj-199.101| |:::|:::|apphost-chinacache-bj-199.113|app-chinacache-bj-199.102| |:::|:::|:::|app-chinacache-bj-199.103| |:::|:::|:::|app-chinacache-bj-199.104| |:::|:::|:::|app-chinacache-bj-199.105| |:::|:::|apphost-chinacache-bj-199.114|app-chinacache-bj-199.106| |:::|:::|:::|app-chinacache-bj-199.124| |:::|:::|:::|app-chinacache-bj-199.125| |:::|:::|:::|app-chinacache-bj-199.126| |3U8|apphost-06-zhaowei-bj|apphost-chinacache-bj-199.115|app-chinacache-bj-199.30| |:::|:::|:::|app-chinacache-bj-199.31| |:::|:::|apphost-chinacache-bj-199.116|app-chinacache-bj-199.32| |:::|:::|:::|app-chinacache-bj-199.34| |:::|:::|apphost-chinacache-bj-199.117|app-chinacache-bj-199.35| |:::|:::|:::|app-chinacache-bj-199.36| |:::|:::|apphost-chinacache-bj-199.118|app-chinacache-bj-199.38| |:::|:::|:::|app-chinacache-bj-199.39| |:::|:::|apphost-chinacache-bj-199.119|app-chinacache-bj-199.41| |:::|:::|:::|app-chinacache-bj-199.42| |:::|:::|apphost-chinacache-bj-199.121|app-chinacache-bj-199.43| |:::|:::|:::|app-chinacache-bj-199.44| |:::|:::|apphost-chinacache-bj-199.122|app-chinacache-bj-199.45| |:::|:::|:::|app-chinacache-bj-199.46| |:::|:::|apphost-chinacache-bj-199.123|app-chinacache-bj-199.47| |:::|:::|:::|app-chinacache-bj-199.48| 生成虚拟机mac地址 登录cobbler服务器(192.168.199.1)的/root/sh目录下 将虚拟机主机列表提出至文件\hostname.txt app-chinacache-bj-199-49 app-chinacache-bj-199-64 app-chinacache-bj-199-68 建立主机名、ip、mac地址对应列表,执行以下脚本 sh create_vmlist.sh #会生成vmlist文件 create_vmlist.sh#!/bin/bash while read line do echo $line > /tmp/iptmp ipt`awk -F‘-‘ ‘{print $NF}‘ /tmp/iptmp` mac`python create_mac.py` echo "$line.chosk.net|192.168.199.$ipt|$mac" >> vmlist done < hostname.txt
vmlist文件内容如下 ^主机名^ip^mac地址^ |app-chinacache-bj-199-49.chosk.net|192.168.199.49|00:16:3e:04:fb:de| |app-chinacache-bj-199-64.chosk.net|192.168.199.64|00:16:3e:69:a1:cd| |app-chinacache-bj-199-68.chosk.net|192.168.199.68|00:16:3e:08:1e:b6| |app-chinacache-bj-199-70.chosk.net|192.168.199.70|00:16:3e:68:af:53| |app-chinacache-bj-199-71.chosk.net|192.168.199.71|00:16:3e:0a:37:28| |app-chinacache-bj-199-72.chosk.net|192.168.199.72|00:16:3e:49:9c:41| |app-chinacache-bj-199-73.chosk.net|192.168.199.73|00:16:3e:47:a0:30| |app-chinacache-bj-199-74.chosk.net|192.168.199.74|00:16:3e:73:bd:b4| |app-chinacache-bj-199-75.chosk.net|192.168.199.75|00:16:3e:7f:04:e5| |app-chinacache-bj-199-76.chosk.net|192.168.199.76|00:16:3e:48:dd:2d| |app-chinacache-bj-199-77.chosk.net|192.168.199.77|00:16:3e:7e:53:3f| |app-chinacache-bj-199-78.chosk.net|192.168.199.78|00:16:3e:3b:32:52| |app-chinacache-bj-199-79.chosk.net|192.168.199.79|00:16:3e:65:4c:e2| |app-chinacache-bj-199-91.chosk.net|192.168.199.91|00:16:3e:06:06:8f| |app-chinacache-bj-199-92.chosk.net|192.168.199.92|00:16:3e:46:73:49| |app-chinacache-bj-199-93.chosk.net|192.168.199.93|00:16:3e:3f:8c:ec| |app-chinacache-bj-199-94.chosk.net|192.168.199.94|00:16:3e:6c:61:21| |app-chinacache-bj-199-95.chosk.net|192.168.199.95|00:16:3e:4a:24:54| |app-chinacache-bj-199-96.chosk.net|192.168.199.96|00:16:3e:7f:23:98| |app-chinacache-bj-199-97.chosk.net|192.168.199.97|00:16:3e:72:6f:e8| |app-chinacache-bj-199-98.chosk.net|192.168.199.98|00:16:3e:20:ca:9e| |app-chinacache-bj-199-99.chosk.net|192.168.199.99|00:16:3e:72:a1:80| |app-chinacache-bj-199-100.chosk.net|192.168.199.100|00:16:3e:64:22:c6| |app-chinacache-bj-199-101.chosk.net|192.168.199.101|00:16:3e:61:32:93| |app-chinacache-bj-199-102.chosk.net|192.168.199.102|00:16:3e:06:a9:11| |app-chinacache-bj-199-103.chosk.net|192.168.199.103|00:16:3e:0f:b1:e9| |app-chinacache-bj-199-104.chosk.net|192.168.199.104|00:16:3e:15:06:6a| |app-chinacache-bj-199-105.chosk.net|192.168.199.105|00:16:3e:44:68:3f| |app-chinacache-bj-199-106.chosk.net|192.168.199.106|00:16:3e:24:02:36| |app-chinacache-bj-199-124.chosk.net|192.168.199.124|00:16:3e:11:3d:51| |app-chinacache-bj-199-125.chosk.net|192.168.199.125|00:16:3e:03:06:2b| |app-chinacache-bj-199-126.chosk.net|192.168.199.126|00:16:3e:42:a0:b0| |app-chinacache-bj-199-30.chosk.net|192.168.199.30|00:16:3e:06:c8:d8| |app-chinacache-bj-199-31.chosk.net|192.168.199.31|00:16:3e:21:75:e6| |app-chinacache-bj-199-32.chosk.net|192.168.199.32|00:16:3e:0a:bd:f2| |app-chinacache-bj-199-34.chosk.net|192.168.199.34|00:16:3e:46:21:50| |app-chinacache-bj-199-35.chosk.net|192.168.199.35|00:16:3e:7e:60:77| |app-chinacache-bj-199-36.chosk.net|192.168.199.36|00:16:3e:7c:cd:a7| |app-chinacache-bj-199-38.chosk.net|192.168.199.38|00:16:3e:7a:a1:4c| |app-chinacache-bj-199-39.chosk.net|192.168.199.39|00:16:3e:0c:f3:1e| |app-chinacache-bj-199-41.chosk.net|192.168.199.41|00:16:3e:39:b9:f8| |app-chinacache-bj-199-42.chosk.net|192.168.199.42|00:16:3e:6c:6d:24| |app-chinacache-bj-199-43.chosk.net|192.168.199.43|00:16:3e:47:68:8a| |app-chinacache-bj-199-44.chosk.net|192.168.199.44|00:16:3e:00:01:42| |app-chinacache-bj-199-45.chosk.net|192.168.199.45|00:16:3e:15:ee:62| |app-chinacache-bj-199-46.chosk.net|192.168.199.46|00:16:3e:24:f6:e6| |app-chinacache-bj-199-47.chosk.net|192.168.199.47|00:16:3e:35:3f:a7| |app-chinacache-bj-199-48.chosk.net|192.168.199.48|00:16:3e:71:99:dd| 将指定的主机名、ip和mac地址的对应关系添加到dhcpd的配置文件中 执行set_host_ip.shwhile read line do echo $line > /tmp/vm hostname`awk -F‘|‘ ‘{print $2}‘ /tmp/vm` ipadd`awk -F‘|‘ ‘{print $3}‘ /tmp/vm` mac`awk -F‘|‘ ‘{print $4}‘ /tmp/vm` echo "host $hostname {" >> /etc/dhcp/dhcpd.conf echo "option host-name \"$hostname\";" >> /etc/dhcp/dhcpd.conf echo "fixed-address $ipadd;" >> /etc/dhcp/dhcpd.conf echo "hardware ethernet $mac;" >> /etc/dhcp/dhcpd.conf echo "}" >> /etc/dhcp/dhcpd.conf done < vmlist /etc/init.d/dhcpd restart
安装虚拟机方法 以安装192.168.199.117的虚拟机为例 wget http://192.168.199.1/briage.sh sh briage.sh 117 #建立网桥br0,修改主机名、ip等信息 briage.sh#!/bin/bash ip$1 sed -i "s/localhost.localdomain/apphost-chinacache-bj-199-$ip.chosk.net/g" /etc/sysconfig/network hostname apphost-chinacache-bj-199-$ip.chosk.net echo 192.168.199.$ip apphost-chinacache-bj-199-$ip.chosk.net >> /etc/hosts echo BRIDGEbr0 >> /etc/sysconfig/network-scripts/ifcfg-eth0 cat >> /etc/sysconfig/network-scripts/ifcfg-br0 << EOF DEVICEbr0 BOOTPROTOnone BROADCAST192.168.199.255 IPADDR192.168.199.$ip NETMASK255.255.255.0 ONBOOTyes GATEWAY192.168.199.1 USERCTLno IPV6INITno PEERDNSyes #bridgebr0 TYPEBridge EOF service network restart
此时会重启网卡,重新连接修改后的ip地址,执行以下脚本 wget http://192.168.199.1/create-vm.sh#!/bin/bash grep $1.chosk.net vmlist > /tmp/hostip mac`awk -F‘|‘ ‘{print $4}‘ /tmp/hostip` qemu-img create -f qcow2 /var/lib/libvirt/images/app-chinacache-bj-199-$1.chosk.net.img 80G virt-install --name app-chinacache-bj-199.$1.chosk.net --ram 4096 --vcpus2 --pxe --disk path/var/lib/libvirt/images/app-chinacache-bj-199-$1.chosk.net.img --network bridgebr0 -m $mac --hvm --noautoconsole --debug
wget http://192.168.199.1/vmlist sh create-vm.sh 35 sh create-vm.sh 36 进入virt-manager进行选择安装操作系统
标签:
原文地址:http://www.cnblogs.com/shantu/p/4589833.html