我试图为CentOS 6.4做一个kickstart安装,但是它总是给我一个重新初始化硬盘的警告,因为它可能包含无效分区表或虚拟磁盘。 我在下面添加的是我正在尝试使用的kickstart文件的快照
# System bootloader configuration bootloader --append="crashkernel=auto rhgb quiet" --location=mbr --driveorder="sda" autopart # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel --drives=sda part /boot --fstype ext4 --size=300 part / --fstype="ext4" --grow --size=1 --asprimary
即使我已经创build分区尝试作为解决方法,但没有度假村。 任何想法如何使这个警告消失。 我试图通过Packer-tools为ESXI主机(5.5版本)运行。 以下是我正在使用的JSON模板
# cat base-packer.json { "builders": [ { "vm_name": "Centos6.5", "type": "vmware-iso", "iso_url": "http://127.0.0.1:8000/CentOS-6.5-x86_64-minimal.iso", "iso_checksum": "0d9dc37b5dd4befa1c440d2174e88a87", "iso_checksum_type": "md5", "disk_size": "20480", "disk_type_id": "thin", "http_directory": "~/packertemplatebuilding", "remote_host": "191.168.42.3", "remote_datastore": "52dfe32b-a996d262-9b46-2c4138a85a23/Centos6.5", "remote_username": "root", "remote_password": "rootpass", "remote_type": "esx5", "ssh_username": "vagrant", "ssh_password": "vagrant", "ssh_port": 22, "ssh_wait_timeout": "250s", "shutdown_command": "echo 'vagrant'|sudo -S shutdown -P now", "headless": "false", "boot_command": [ "<tab> text ks=http://148.147.206.152:8000/ks_new.cfg<enter><wait>" ], "boot_wait": "20s", "vmx_data": { "ethernet0.virtualDev": "vmxnet3", "ethernet0.networkName": "VM Network", "ethernet0.addressType": "generated", "ethernet0.present": "TRUE", "ethernet1.virtualDev": "vmxnet3", "ethernet1.networkName": "VM Network 2", "ethernet1.addressType": "generated", "ethernet1.present": "TRUE", "ide0:0.fileName": "disk.vmdk", "ide0:0.present": "TRUE", "ide0:0.redo": "", "scsi0:0.present": "FALSE", "memsize": "2048", "numvcpus": "2", "cpuid.coresPerSocket": "1" } } ], "provisioners": [ { "type": "shell", "script": "ssh-commands.sh" } ] }
下面是我得到的错误的快照。 
PS我使用的图像是CentOS 6.4的自定义旋转。 但是我不认为kickstart的configuration应该会有相同的影响。
如果您在EL6 kickstart中收到与以下类似的错误消息,则需要将zerombr添加到kickstart命令集。
你应该也有这个:
zerombr clearpart --all --initlabel

从文档 :
zerombr:如果指定了zerombr,则在磁盘上find的任何无效分区表都将被初始化。 这破坏了无效分区表的磁盘的所有内容。 在具有以前初始化磁盘的系统上执行无人参与安装时,需要此命令。
编辑:
我刚刚在一个运行在vSphere 5.5平台上的新的CentOS EL6.5虚拟机上尝试了这个…下面连续三次没有问题,包括重新安装在相同的磁盘上:
zerombr clearpart --all --initlabel part /boot --fstype ext4 --size=300 part /usr --fstype ext4 --size=10240 --asprimary part / --fstype ext4 --size=20480 --asprimary part /var --fstype ext4 --size=6144 part swap --size=8192 part /tmp --fstype ext4 --size=2048
我发现了一个潜在的问题:
"iso_url": "http://127.0.0.1:8000/CentOS-6.5-x86_64-minimal.iso",
CentOS“最小”磁盘是自定义的,可能会做出意想不到的事情,因为它只是用来安装一套软件包。 它不应该用于kickstart安装; 请使用netinstall或DVD映像。
但是正如我所说的,ISO是使用CentOS 6.4的基础,它不应该影响kickstart的安装。
你需要validation这一点。 试用一个标准的ISO。
如果它仍然给出错误,你告诉它只清除sda :
# Partition clearing information clearpart --all --initlabel --drives=sda
改成:
clearpart --all --initlabel
然后再试一次。