2021-05-12 14:32:11
xCAT安裝Kit
生成Kit檔案結構
首先使用buildkit工具來生成一個Kit,比如這裡我們假定我們的Kit名字叫helloworld
buildkit create helloworld
上面命令會在使用者的根目錄下生成一個helloworld目錄,下面是生成的目錄結構,這裡我們只是想做一下測試,所以我什麼都沒有改,生成的目錄結構直接就可以打包成Kit包
helloworld/
├── buildkit.conf
├── docs
│ └── index.html
├── other_files
│ └── sample
│ ├── exclude.lst
│ └── kitdeployparams.lst
├── plugins
│ └── sample
│ ├── imageprofile.pm
│ └── nodemgmt.pm
├── scripts
│ └── sample
│ ├── genimage_post.sh
│ ├── postboot.sh
│ ├── post.sh
│ ├── postun.sh
│ ├── postup.sh
│ ├── pre.sh
│ ├── preun.sh
│ └── preup.sh
└── source_packages
└── sample
├── pkg1
│ └── pkg1-1-1.noarch.rpm
├── pkg2
│ ├── pkg2
│ │ ├── cfg
│ │ │ └── pkg2.cfg
│ │ └── files
│ │ ├── pkg2.file1
│ │ └── pkg2.file2
│ └── pkg2.spec
├── pkg3
│ ├── pkg3.spec
│ └── pkg3.tar.gz
└── pkg4
└── pkg4-1-1.src.rpm
修改組態檔
編輯buildkit.conf檔案,這個檔案還是比較容易理解的,裡面注釋也比較詳細,其中主要定義了kit,kitrepo,kitcomponent和kitpackage等。
但是組態檔中有一個屬性compat_osbasenames需要特別注意一下,如果目標機器都是rh的機器,可以忽略,但是如果是CentOS的話,需要修改這個屬性的定義
compat_osbasenames=centos
打包
使用下面的命令打包,結果會在helloworld目錄下生成一個helloworld-1.0-1.tar.bz2檔案
cd ~/helloworld
buildkit buildrepo all
buildkit buildtar
如果修改了檔案想重新生成kit包,需要先執行“buildkit cleanall”然後再執行上面的打包命令。
新增Kit
首先在xCAT環境下可以使用 lskit 來檢視已新增的Kit和KitComponent,比如
lskit
lskit helloworld-1.0-1
lsdef -t kit -l helloworld-1.0-1
lskitcomp
然後可以使用 addkit 命令來新增上面建立的kit,新增完成後可以用上面的命令檢視一下
addkit helloworld-1.0-1.tar.bz2
如果要刪除的話,可以使用 rmkit 命令
rmkit helloworld-1.0-1
下一步是檢查上面新增的kit是不是可以被osimage使用,首先我們來檢視一下當前系統有哪些osimage
lsdef -t osimage
然後用 chkkitcomp 命令來檢查有效性
chkkitcomp -i centos6.6-x86_64-install-compute helloworld_compute-1.0-1-rh-6.6-x86_64
如果檢查結果可用,那麼就可以使用 addkitcomp 來給 osimage 新增kitcomponent了
addkitcomp -a -i centos6.6-x86_64-install-compute helloworld_compute-1.0-1-rh-6.6-x86_64
當然新增後也可以使用 rmkitcomp 來刪除
rmkitcomp -i centos6.6-x86_64-install-compute helloworld_compute-1.0-1-rh-6.6-x86_64
升級node
chdef <nodelist> provmethod=<osimage>
updatenode <nodelist>
比如
chdef <nodelist> provmethod=centos6.6-x86_64-install-compute
updatenode <nodelist>
此時就會在node節點上安裝kit了,安裝完成後可以使用 “xdsh <node> yum search helloworld” 來檢視安裝後的結果。
參考
http://sourceforge.net/p/xcat/wiki/Building_Software_Kits
http://sourceforge.net/p/xcat/wiki/Using_Software_Kits_in_OS_Images
相關文章