首頁 > 軟體

xCAT安裝Kit

2020-06-16 18:05:15

生成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


IT145.com E-mail:sddin#qq.com