Vmware-Esxi
自定義從 VMware 上的模板部署的 RHEL7 虛擬機的問題
根據VMWare 的 VM 自定義矩陣,我正在 vSphere 5.5 Update 2d 上對此進行測試。我使用 RHEL 7.1 DVD 創建模板,並將 anaconda 指向如下所示的 kickstart:
#version=RHEL7 # Ref: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/sect-kickstart-syntax.html # System authorization information auth --enableshadow --passalgo=sha512 # Installation cdrom text poweroff # Run the Setup Agent on first boot firstboot --disable ignoredisk --only-use=sda # Localization keyboard --vckeymap=us --xlayouts='us' lang en_US.UTF-8 timezone America/New_York --isUtc # Network information network --bootproto=static --ip=192.168.3.10 --netmask=255.255.255.0 --gateway=192.168.3.1 --nameserver=192.168.3.1 --hostname=rhel-template.example.com # Root password rootpw --iscrypted $6$SNIP # Storage bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda clearpart --all --initlabel --drives=sda part /boot --fstype="xfs" --ondisk=sda --size=286 part pv.1378 --fstype="lvmpv" --ondisk=sda --size=16093 volgroup vg_example --pesize=4096 pv.1378 logvol /home --fstype="xfs" --size=2860 --name=lv_home --vgname=vg_example logvol / --fstype="xfs" --size=5600 --name=lv_root --vgname=vg_example logvol /var --fstype="xfs" --size=3814 --name=lv_var --vgname=vg_example logvol swap --fstype="swap" --size=3814 --name=lv_swap --vgname=vg_example # VMware OSP # Ref: http://kb.vmware.com/kb/2075048 repo --name="vmware-osp" --baseurl="http://packages.vmware.com/packages/rhel7/x86_64/" # Install packages %packages @core open-vm-tools open-vm-tools-deploypkg net-tools %end %post --log=/root/ks-post.log # So we could see what is happening exec < /dev/tty3 > /dev/tty3 chvt 3 #Set some variables export RHEL_MAJ_VER=$(uname -r | grep -Po '(?<=el).*(?=\.)') export RHEL_ARCH=$(uname -a | grep "x86_64" > /dev/null && echo 64 || echo 32) # Install satellite RPM rpm -i http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm # Register subscription-manager register --org="example" --activationkey="rhel${RHEL_MAJ_VER}-${RHEL_ARCH}bit" # Puppet install yum update -y yum install -t -y -e 0 puppet chkconfig --level 345 puppet on # Configure puppet cat > /etc/puppet/puppet.conf <<EOF [main] logdir = /var/log/puppet rundir = /var/run/puppet ssldir = $vardir/ssl pluginsync = true [agent] classfile = $vardir/classes.txt localconfig = $vardir/localconfig server = satellite.example.com report = true runinterval = 60 EOF # RHSM cleanup subscription-manager unregister subscription-manager clean # Truncate logs >| /var/log/audit/audit.log >| /var/log/wtmp >| /var/log/lastlog # Clean out udev (device naming) rm -f /etc/udev/rules.d/70* # Clear out networking sed -i'' '/^\(HWADDR\|UUID\|IPADDR\|GATEWAY\|NETMASK\|DNS\)/d' /etc/sysconfig/network-scripts/ifcfg-eth* || true sed -i'' '/^\(HWADDR\|UUID\|IPADDR\|GATEWAY\|NETMASK\|DNS\)/d' /etc/sysconfig/network-scripts/ifcfg-ens* || true %end
創建 RHEL7 VM 後,我將其轉換為模板並基於它部署 VM。但是,沒有任何自定義需要:
- 未應用網路配置
- 未應用主機名更改
這是
deployPkg
日誌的樣子:[root@rhel-template ~]# cat /var/log/vmware-imc/toolsDeployPkg.log ## Starting deploy pkg operation Deploying /tmp/vmware-root/49b2eefe/imc93D2.tmp Initializing deployment module. Cleaning old state file from tmp directory. EXIT STATE INPROGRESS Setting deploy error: Error removing lock /tmp/.vmware-deploy.INPROGRESS (No such file or directory) EXIT STATE Done Setting deploy error: Error removing lock /tmp/.vmware-deploy.Done (No such file or directory) EXIT STATE ERRORED Setting deploy error: Error removing lock /tmp/.vmware-deploy.ERRORED (No such file or directory) Setting deploy error: Success. Deploying cabinet file /tmp/vmware-root/49b2eefe/imc93D2.tmp. Transitioning from state (null) to state INPROGRESS. ENTER STATE INPROGRESS Reading cabinet file /tmp/vmware-root/49b2eefe/imc93D2.tmp. Creating directory /tmp Creating directory /tmp/.vmware Creating directory /tmp/.vmware/linux Creating directory /tmp/.vmware/linux/deploy Extracting package files. Launching deployment /usr/bin/perl -I/tmp/.vmware/linux/deploy/scripts /tmp/.vmware/linux/deploy/scripts/Customize.pl /tmp/.vmware/linux/deploy/cust.cfg. Command to exec : /usr/bin/perl sizeof ProcessInternal is 56 ## Starting deploy pkg operation Deploying /tmp/vmware-root/49b2eefe/imc93D2.tmp Initializing deployment module. Cleaning old state file from tmp directory. EXIT STATE INPROGRESS Setting deploy error: Error removing lock /tmp/.vmware-deploy.INPROGRESS (No such file or directory) EXIT STATE Done Setting deploy error: Error removing lock /tmp/.vmware-deploy.Done (No such file or directory) EXIT STATE ERRORED Setting deploy error: Error removing lock /tmp/.vmware-deploy.ERRORED (No such file or directory) Setting deploy error: Success. Deploying cabinet file /tmp/vmware-root/49b2eefe/imc93D2.tmp. Transitioning from state (null) to state INPROGRESS. ENTER STATE INPROGRESS Reading cabinet file /tmp/vmware-root/49b2eefe/imc93D2.tmp. Creating directory /tmp Creating directory /tmp/.vmware Creating directory /tmp/.vmware/linux Creating directory /tmp/.vmware/linux/deploy Extracting package files. Launching deployment /usr/bin/perl -I/tmp/.vmware/linux/deploy/scripts /tmp/.vmware/linux/deploy/scripts/Customize.pl /tmp/.vmware/linux/deploy/cust.cfg. Command to exec : /usr/bin/perl sizeof ProcessInternal is 56 Returning, pending output from stdout Returning, pending output from stderr Process exited normally after 0 seconds, returned 127 No more output from stdout No more output from stderr Customization command output: Customization process returned with error. Deployment result = 127 Setting generic error status in vmx. Transitioning from state INPROGRESS to state ERRORED. ENTER STATE ERRORED EXIT STATE INPROGRESS Setting deploy error: Deployment failed. The forked off process returned error code. Deployment failed. The forked off process returned error code. Wait before set enable-nics stats in vmx. Trying to connect network interfaces, attempt 1 Got VMX response 'queryNicsSupported' Got VMX response 'disconnected' Got VMX response 'connected' The network interfaces are connected on 1 second Launching cleanup. Command to exec : /bin/rm sizeof ProcessInternal is 56 Returning, pending output from stdout Returning, pending output from stderr Process exited normally after 0 seconds, returned 0 No more output from stdout No more output from stderr Customization command output: Deploy error: Deployment failed. The forked off process returned error code. Package deploy failed in DeployPkg_DeployPackageFromFile ## Closing log
我在這裡想念什麼?如果還有其他有助於找出根本原因的方法,請通過評論提出要求。
在我們的 VMware 管理員的幫助下,我們能夠確定需要自定義腳本
perl
。這不是與 RHEL7 的@core
軟體包組一起安裝的。總而言之,您需要以下 RHEL7 軟體包才能進行定制工作:
open-vm-tools
open-vm-tools-deploypkg
net-tools
perl
希望這對其他人有幫助。