首页 > 其他 > 详细

手动编译安装Libvirt之后利用systemctl管理libvirtd服务

时间:2016-11-02 20:30:28      阅读:538      评论:0      收藏:0      [点我收藏+]

因为要给特殊的虚拟机关联文件指定selinux标签,而默认的Libvirt没有这个功能,所以需要修改LIbvirt源代码,重新编译安装Libvirt,而手动编译安装的LIbvirt,没有办法使用systemctl管理libvirtd服务,只能通过libvirtd -d的方式手动启动。然而,手动启动的Libvirtd服务并不符合开发规范,所以只能手动把libvirtd.service添加到systemctl管理。


这就要详解下systemctl管理程序了

一、systemctl介绍

systemctl 是一个systemd工具,主要负责控制systemd系统和服务管理器,而Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程,当前redhat系列的Linux发行版都是采用这种方式。Systemd的功能是用于集中管理和配置类UNIX系统。而我们要通过systemctl管理服务原因之一也是想让系统进程启动我们的服务,这在标签机制中涉及到标签的继承问题,这里不在深入。

二、通过systemctl管理服务

通过systemctl管理服务简单高效,本来还是想深入分析写勒,但是突然发现一个大牛的博客,这里我就不画蛇添足了,需要的可以参考:

http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

重点写下通过systemctl管理libvirtd的具体步骤:

 1、systemctl管理的每个单元都有一个文件与之对应,以sshd服务来讲,对应的就是sshd.service,存在于/usr/lib/systemd/system/文件夹下,而在/etc/systemd/system/文件夹下有该文件的软连接,表明这是自动启动的。为了简便,我是从别处通过rpm包安装的libvirt机器上拷贝其libvirtd.service文件到本机的/etc/systemd/system/文件夹下。

文件内容如图所示:

技术分享

其中的大部分内容不需要改动,就是下面的文件的路径需要改,因为手动编译安装的libvirt安装路径在/usr/local/sbin/libvirtd

另外需要注意的是上面Unit单元里面after表示该服务以来上面的服务,这里libvirt-guest.service在手动编译安装的版本里面没有,需要我们自行安装,其具体作用不详。没有libvirt-client.service,libvirt仍然可以正常工作可以看出这个并不影响Libvirt基本功能,其所作的应该是管理类的工作。没有libvirt-client.service通过systemctl 没办法正常管理libvirtd.service

2、复制配置文件/etc/sysconfig/libvirtd文件到本机同等目录

3、安装libvirt-client

yum install libvirt-client

4、执行函数重新载入

systemctl damon-reload

 

 5、测试

systemctl status libvirtd.service

技术分享

systemctl start libvirtd.service

 技术分享

systemctl restart libvirtd.service

技术分享

systemctl enable libvirtd.service

技术分享

 

 查看状态:

技术分享

 

手动编译安装Libvirt之后利用systemctl管理libvirtd服务

原文:http://www.cnblogs.com/ck1020/p/6024039.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!