设为首页 收藏本站
查看: 2126|回复: 0

[经验分享] kvm tboot和libvirt的安装

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-12-29 15:01:30 | 显示全部楼层 |阅读模式
                      参考:http://www.ibm.com/developerwork ... re_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.内核支持
                [iyunv@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.jpg
        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里面是我的系统缺少的,总结出来以供参考。

                   


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-321123-1-1.html 上篇帖子: kvm 安全相关:selinux svirt 下篇帖子: kvm及libvirt、使用virsh管理kvm虚拟机、网络虚拟化技术基础...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表