ddzfeng 发表于 2012-05-19 22:49

熟悉kickstart的大神请进

环境:各种品牌服务器
      硬盘:1.通常情况:为1块小盘+7块大盘
                2.特殊情况:7块小盘+1块大盘
                                 或者不同大小的磁盘
要求:系统CentOS
         需要选择最小的一块磁盘进行安装,其他磁盘不动,包括不做LVM等任何操作
         如果是几块相同的小磁盘,选择sd(a-z)中最靠前的a进行安装

我个人分析,由于不能使用系统命令,所以要在ks-cn文件中需要先使用外部命令,对此一无所知
所以求各位大神指导,如何对磁盘进行判断并选择适当的磁盘进行安装,请各位大神帮忙!

unixlinuxsys 发表于 2012-05-20 10:15

http://fedoraproject.org/wiki/Anaconda/Kickstart#Creating_the_Kickstart_File

wolf5729 发表于 2012-05-20 16:05

据我之前的浅薄理解,这种硬件配置(硬盘顺序、大小、分区情况等)不一致的情况,想用kickstart来批量安装,应该不理想。
如果说,除分区之外,还有其它大量的安装工作,那么收集各硬盘参数与分区定制情况来完成无人值守安装,意义还是很大的。

------------------------------------
欢迎光临我的博客:www.danoking.com

zgbchi 发表于 2012-06-04 17:38

看来kickstart的精华,你们是没有学到。
在%pre里,用shell脚本选择最小安装就是了。我以前也有这样的需求,很简单的。

Yuri.G. 发表于 2012-06-05 11:02

回复 4# zgbchi


    还请详细解答一下。

hn_lwdian 发表于 2012-06-14 16:52

%pre 部分脚本作为一个bash shell脚本执行,在Kickstart文件解析后执行

在ks中加一段判断的 很容易的

lxiaoshuangs 发表于 2012-06-14 18:58

[ ! -z $name ]&&disk=`echo "$name""mapper"` || disk="mapper"
hddisk=`fdisk-l 2>/dev/null |egrep -vi "($disk)" |grep "^Disk /dev/"|awk 'BEGIN{m=100000;}{if($4 ~ //){name[$2]=$3;n++;}} END{if(n>1){for(aa in name){if(m>name){m=name;dev=aa;}}print dev;}else{for(aa in name) print aa}}'|sed -e 's/\/dev\///;s/://'`
echo "#partitioning scheme generated in %pre for 1 drive" > /tmp/part-include
echo "clearpart --all --initlabel --drives=$hddisk" >> /tmp/part-include
echo "part pv.008002 --grow --size=1 --ondisk=$hddisk" >> /tmp/part-include
echo "part /boot --fstype=ext4 --size=500 --ondisk=$hddisk" >> /tmp/part-include
echo "part swap --size=6000 --ondisk=$hddisk" >> /tmp/part-include

lxiaoshuangs 发表于 2012-06-14 19:03

前面少了
for i in `ls /sys/block`
do
   if [ `cat /sys/block/$i/removable` -eq 1 ];then
      name="$i|"$name
   fi
done

ulovko 发表于 2012-06-15 18:13

http://bbs.chinaunix.net/thread-3753043-1-1.html

ulovko 发表于 2012-06-14 20:29 static/image/common/back.gif
页: [1]
查看完整版本: 熟悉kickstart的大神请进