Kickstart clearpart在RHEL CentOS 7中不起作用
时间:2020-01-09 10:41:08 来源:igfitidea点击:
在执行全新安装之前,我们在RHEL/CentOS 7/8 Linux中使用kickstart命令clearpart
来清除分区标签。
在我们的一种情况下,Kickstartclearpart
不起作用,并且无法从节点中删除现有分区。
在本文中,将介绍解决此情况下有效的" Kickstartclearpart
无法正常工作"的解决方案。
尽管它可能对我们不起作用,但请让我知道是否有其他解决方案对环境有效。
问题:Kickstart clearpart无法正常工作
在kickstart文件中,我们使用clearpart命令擦除一些或者所有现有分区
在某些情况下,由于kickstart安装失败,因此无法删除现有分区时,会看到Kickstartclearpart
无法正常工作的问题。
clearpart支持以下选项
--all
-从系统中删除所有分区。--drives =
-指定要从中清除分区的驱动器--initlabel
-通过为各自的体系结构中已指定用于格式化的所有磁盘创建默认磁盘标签来初始化一个或者多个磁盘--list =
-指定要清除的分区。--linux
-擦除所有Linux分区。--- none(默认)
-不删除任何分区。--cdl
-将所有LDL DASD格式化为CDL格式。--disklabel = LABEL
-设置要使用的默认disklabel。
解决方案:Kickstart clearpart无法正常工作
分区可能仍在使用,这就是为什么clearpart
无法删除分区的原因。
作为解决方案,我们将编写一个%pre脚本来手动删除所有现有分区,清除所有分区和文件系统标签,删除所有RAID设备
以下是我的示例%pre脚本,用于修复kickstart clearpart无法正常工作的问题。
%pre udevadm settle dmsetup remove_all # De-activate any exiting Volume Groups vgchange -an system vgchange -an os # Clear software raid devices if any raid_devices=$(mktemp /tmp/mdstat.XXXXXXXXX) cat /proc/mdstat | grep ^md | cut -d : -f 1 > $raid_devices if [ -s $raid_devices ];then for raid in `cat $raid_devices`;do wipefs -f -a /dev/$raid mdadm --stop -f /dev/$raid if [ $? != "0" ];then udevadm settle dmsetup remove_all mdadm --stop -f /dev/$raid fi done else echo "All raid devices are cleared" fi rm -vf $raid_devices # Wipe any partitions if found available_disks=$(mktemp /tmp/disks.XXXXXXXXX) ls -r /dev/sd* > $available_disks for disk in `cat $available_disks`;do wipefs -f -a $disk done rm -vf $available_disks %end
我们可以修改此%pre脚本,以识别和删除Linux环境中的文件系统以及更多分区。
因此,我们将不依赖于clearpart
来删除现有分区。