kvm tboot和libvirt的安裝

參考:http://www.ibm.com/developerworks/cn/aix/systemmaga/8/New_Way_Secure_Cloud/index.html(tboot)

https://en.wikipedia.org/wiki/Trusted_Execution_Technology(txt技術)

tboot簡介:

爲什麼會使用到這種技術請參考第一個鏈接。

tboot全稱trusted boot翻譯過來就是可信的引導,它是基於txt(trusted Excution Technology)技術對要啓動的宿主系統進行可信的檢測,具體的技術實現細節參考以上兩個鏈接。既然要對系統啓動進行檢測,那麼顯然,tboot要在內核啓動之前啓動,因爲我這裏的系統是藉助於grub引導,所以我的實驗是修改grub.conf從而更換啓動順序,如果有用其他程序引導的,請根據實際情況修改。

txt技術需要硬件支持,而且依賴於vt和vt-d技術,所以開啓功能時也需要開啓這兩個,還有一個是tpm(trusted platform module可信平臺模塊),這個用來保存軟件的指紋信息,每次軟件啓動時都會檢測並對比這些指紋信息是否一致,從而判斷是否存在風險。

tboot的安裝使用:

1.開啓txt技術的功能

bios選項位於:Advanced-->Processor Configuration-->Intel(R) TXT

vt和vt-d:Advanced-->Processor Configuration--> Intel(R) Virtualization Technology 和 Intel(R)VT for Direct I/O

tpm:Security -->TPM administartive Control

2.內核支持

[root@cqhdtest ~]# grep -i -E "txt|tcg|iommu|virtual|tpm"  /boot/config-2.6.32-431.el6.x86_64 查看

CONFIG_HAVE_INTEL_TXT=y

CONFIG_GART_IOMMU=y

CONFIG_CALGARY_IOMMU=y

# CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT is not set

CONFIG_AMD_IOMMU=y

CONFIG_AMD_IOMMU_STATS=y

CONFIG_IOMMU_HELPER=y

CONFIG_IOMMU_API=y

CONFIG_TCG_TPM=y

CONFIG_TCG_TIS=y

CONFIG_TCG_NSC=m

CONFIG_TCG_ATMEL=m

CONFIG_TCG_INFINEON=m

# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set

CONFIG_FB_VIRTUAL=m

# CONFIG_DEBUG_VIRTUAL is not set

# CONFIG_IOMMU_DEBUG is not set

# CONFIG_IOMMU_STRESS is not set

ONFIG_INTEL_TXT=y

CONFIG_VIRTUALIZATION=y

CONFIG_TCG_TPM=y

3.安裝tboot

yum install tboot -y 

4.修改grub.conf

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.32-431.el6.x86_64)

root (hd0,0)

kernel  /tboot.gz logging=vga,serial,memory

module /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=c492ad38-5c04-46e2-bddb-7b05428e16fa rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

module /initramfs-2.6.32-431.el6.x86_64.img

module /WSM_SINIT_100407_rel.bin

這裏grub引導程序首先加載tboot.gz,而元貝的kernel和initrd都改爲以模塊方式啓動,WSM_SINIT_100407_rel.bin是當前系統的SINIT AC模塊,需要到硬件供應商那去索取,也可以選擇不要這個模塊的功能,不進行加載

5.獲取可信平臺的所有權

modprobe tpm_infineon #這個是tpm的硬件驅動,有的是tpm_tis等

tcsd #啓動tpm守護進程

6.查看txt執行狀態

txt_stat  部分結果如下:

***********************************************************

TXT measured launch: TRUE

secrets flag set: TRUE

***********************************************************

libvirt簡介:參考:http://libvirt.org/ 

假設這麼一種場景:我們不懂英語,而又想跟美國人做交易,那麼我們有什麼方法解決呢?一種是我們自學英語,這無疑是比較浪費時間的;而另一種就是請個翻譯過來,這個就快捷多了。

libvirt的角色就是類似於上述場景的翻譯,上層用戶空間直接和hypervisor打交道會比較複雜,而libvirt則是屏蔽了底層hypervisor的細節,爲上層管理工具提供了一個統一的,較穩定的接口(api)。而且這個libvirt還是上述場景中精通多種語言的翻譯,支持多種虛擬化方案,比如kvm、xen、LXC等等。

wKioL1hjfQmic1rZAAH3Qn4mZOM676.png

libvirt的幾個重要概念如下:

節點(node):其實就是一個物理機器,上面可能運行多個虛擬機

hypervisor:也稱vmm,就是kvm,xen等實現虛擬化的軟件

domain:就是一個虛擬機,也稱爲instance(實例)

libvirt的安裝:

yum install libyajl yajl-devel libxml* device-mapper* libpciaccess-devel libnl-devel -y

wget  http://libvirt.org/sources/libvirt-2.5.0.tar.xz

tar xf libvirt-2.5.0.tar.xz

cd  libvirt-2.5.0

./configure --help

./configure  --prefix=/usr/local/libvirt

make && make install

libvirt的安裝很簡單,主要是configure 會提示缺少很多庫,此時可以 yum  list all |grep  "lib_keyword" 查看庫的關鍵字,查找對應的庫安裝即可,yum裏面是我的系統缺少的,總結出來以供參考。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章