歡迎您光臨本站 註冊首頁

熟悉kickstart的大神請進

←手機掃碼閱讀     火星人 @ 2014-03-03 , reply:0

熟悉kickstart的大神請進

環境:各種品牌伺服器
        硬碟:1.通常情況:為1塊小盤+7塊大盤
                2.特殊情況:7塊小盤+1塊大盤
                                 或者不同大小的磁碟
要求:系統CentOS
         需要選擇最小的一塊磁碟進行安裝,其他磁碟不動,包括不做LVM等任何操作
         如果是幾塊相同的小磁碟,選擇sd(a-z)中最靠前的a進行安裝

我個人分析,由於不能使用系統命令,所以要在ks-cn文件中需要先使用外部命令,對此一無所知
所以求各位大神指導,如何對磁碟進行判斷並選擇適當的磁碟進行安裝,請各位大神幫忙!
《解決方案》

http://fedoraproject.org/wiki/Anaconda/Kickstart#Creating_the_Kickstart_File
《解決方案》

據我之前的淺薄理解,這種硬體配置(硬碟順序、大小、分區情況等)不一致的情況,想用kickstart來批量安裝,應該不理想。
如果說,除分區之外,還有其它大量的安裝工作,那麼收集各硬碟參數與分區定製情況來完成無人值守安裝,意義還是很大的。

------------------------------------
歡迎光臨我的博客:www.danoking.com
《解決方案》

看來kickstart的精華,你們是沒有學到。
在%pre里,用shell腳本選擇最小安裝就是了。我以前也有這樣的需求,很簡單的。
《解決方案》

回復 4# zgbchi


    還請詳細解答一下。
《解決方案》

%pre 部分腳本作為一個bash shell腳本執行,在Kickstart文件解析后執行

在ks中加一段判斷的 很容易的
《解決方案》

[ ! -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
《解決方案》

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

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

ulovko 發表於 2012-06-14 20:29 static/image/common/back.gif

[火星人 ] 熟悉kickstart的大神請進已經有911次圍觀

http://coctec.com/docs/service/show-post-733.html