libvirt_storage_backend_rbd.so报错处理

2019年1月15日 没有评论

手欠把自用的一台宿主机的OS进行yum update 升级,升级的同时kvm也进行了升级。升级后,发现虚拟化服务libvirtd启不来了,报错:error : virModuleLoadFile:53 : internal error: Failed to load module '/usr/lib64/libvirt/storag  e-backend/libvirt_storage_backend_rbd.so': /usr/lib64/libvirt/storage-backend/libvirt_storage_backend_rbd.so: undefined sym[......]

Read more

分类: 虚拟化云和自动化 标签:

golang sync包互斥锁和读写锁的使用

2019年1月5日 没有评论

golang sync包里提供了 Locker接口、互斥锁 Mutex、读写锁 RWMutex用于处理并发过程中可能出现同时两个或多个协程(或线程)读或写同一个变量的情况。

一、为什么需要锁

在并发的情况下,多个线程或协程同时去修改一个变量。使用锁能保证在某一时间点内,只有一个协程或线程修改这一变量,具体我们可以看示例。先看不加锁的程序(会出现多个程序同时读该变量):

package main
import (
    "fmt"
    "time"
)
func main() {
    var a = 0
    f[......]

Read more

golang channel与sync.WaitGroup同步

2019年1月3日 没有评论

golang中有2种方式同步程序,一种使用channel,另一种使用sync.WaitGroup。最近在使用golang写一个比较简单的功能 ---- host1主机需要先在本机起一个TCP监听,起来后给host2主机发送指令,让其主动给host1主机监听的端口进行连接。最终使用了sync.WaitGroup实现了该功能。本篇就结合一些示例来看下两者的使用。

一、channel并行同步

比如有三个需要取数据的程序同时进行,但是终需要同步并返回数据。我们可以按如下代码操作:

package main
import (
    "fmt"[......]

Read more

使用lshell构建受限的shell环境

2018年12月29日 没有评论

2013年我写过一篇博文《linux下自建ssh堡垒机》,其核以是通过chroot和google Authenticator实现的。最近在研究一些web ssh平台时,无意中注意到一个python写的类似于chroot限定shell产品lshell 。本篇就记录下该工具的安装和使用。

一、lshell的安装 

安装非常简单,几条命令的事,如下:

[root@361way srv]# git clone https://github.com/ghantoos/lshell
[root@361way srv]# cd lshe[......]

Read more

分类: 安全/漏洞 标签: , ,

开源ssh web终端gateone

2018年12月28日 没有评论

golang runtime进程调度函数

2018年12月24日 没有评论

golang下慎用log.Fatal和log.Panic

2018年12月21日 没有评论

su部分帐户免密码切换

2018年12月20日 没有评论

Linux setuid和seteuid

2018年12月20日 没有评论

golang plugin插件的使用

2018年12月19日 没有评论