7月 062018
 

stat一个目录时卡死:

(这个错误和十年前遇到的执行du就卡死的问题,如出一辙)

dmesg 错误信息:

 

这个机器早被下线了,看来是下线时清理的不够好,现在还有一个机器挂载这死去的机器的nfs呢:(3年了)

 

 Posted by at 下午 2:37
7月 052018
 

抽帧命令:

 

原因:

MP4有3种编码,mpg4(xdiv),,mpg4(xvid),avc(h264);

原本是h264编码,抽帧后变成了mpeg4了

 

抽帧前:

抽帧后:

 

解决办法:

转码为 h264格式; 问题,转码后,文件体积增大到原始文件的3倍(这个好不地道)

 

参考:

https://zhidao.baidu.com/question/2140012694328148628.html

 Posted by at 下午 5:48
7月 052018
 

错误信息:

查看卷列表时,dashboard提示: 无法获取连接信息 ; 英文提示应该是: Unable to retrieve attachment information.

 

查看日志:

发现一个卷是挂在某个实例上的,但是实例早被删掉了,所以“无法获取连接信息”;

实例ID: a95f316f-aeb7-40ce-8887-9145499518fc

卷ID: 7f75f270-17a9-4694-aff3-70c950f9c9b5

 

解决办法:

直接从cinder数据库中修改该卷的相关信息,然后删掉,相关表:

volume_attachment

volumes

 

sql 语句:

 

 

相关代码:

/usr/share/openstack-dashboard/openstack_dashboard/dashboards/project/volumes/tables.py  598 行

 Posted by at 上午 11:40

curl https://github.com SSL connect error

 默认分类  curl https://github.com SSL connect error已关闭评论
6月 282018
 

问题:

 

分析:

tcpdump 抓包、wireshark分析:

基本是由于ssl版本导致的:

client想使用TLS 1.0 , server说,不行,太低

 

解决办法:

 

每次都带上个选项多不方便,使用 .curlrc ; linux上的程序一般都这个套路,在用户目录下写个配置文件:

配置文件格式就是直接写curl的命令行选项,简单粗暴高效。

 

有些curl -v 就能看到握手的ssl版本号

 Posted by at 下午 5:30

windows 系统升级后的windows.old 如何删除

 Windows  windows 系统升级后的windows.old 如何删除已关闭评论
6月 282018
 

 

删除前:

其中windows.old 有 5G+

 

rbd 信息:

 

使用磁盘清理看看能清理多少:

可以清理掉24GB,实在惊讶,预计清理后,大小在10GB左右,还算可以接受吧

 

删除后:

没有想预期那样释放掉24GB,而是释放了大约20GB空间,不过确实windows.old 不见了;

rbd info:

 

从rbd上来看基本没有任何变化,因为没有fstrim,那么,如何对ntfs进行fstrim呢?或许有必要先进行一遍碎片整理(其实碎片整理的效果一点儿也不明显)

那么依据这个rbd做一个镜像的话,会占用多大的空间呢?会是60GB呢?还是和现在一样呢?还是和文件系统大小一样呢?

  1. 这个和做镜像的方式有关系,如果会自动消零,则可以和现在一样;否则,就是60GB
  2. 和文件系统大小一样不太容易
  3. 真实结果:(和原来基本一样)

 

 

 

fstrim: https://blog.csdn.net/liumangxiong/article/details/50502367

 

 Posted by at 下午 2:08

libvritd 配置 rbd存储池

 ceph, qemu, virsh  libvritd 配置 rbd存储池已关闭评论
6月 262018
 

搭建openstack时,配置好rbd后,我们并没有在virsh pool-list 时看到一个存储池,但是如果我们要配置一个存储池也是可以的:

编写配置文件: rbd-volumes.xml

其中rbd-volumes是我们给这个存储池起的一个名字,随便你;

10.88.12.4 是ceph monitor节点地址

volumes 是rbd所在的ceph中的pool

auth里面有用户名cinder和预先定义好的秘钥(秘钥通过secret-define来定义)

 

然后执行:

 

然后就会自动生成文件 /etc/libvirt/storage/rbd-volumes.xml:

 

然后通过virsh pool-list 可以查看到定义好的存储池:

 

然后启动池子:

 

就可以列出来存储池中的rbd了;(我这里的volumes就是上面提到的rbd-volumes)

然后就可以使用这里的rbd来启动虚拟机了呗?不过又遇到问题,通过virt-manage来使用这里的rbd创建机器时报错:

话说这个和/root/volumes 有毛关系?

google 之,别人也有遇到: https://bugzilla.redhat.com/show_bug.cgi?id=1074169#c14

问题似乎出现在virt-manager 上,问题版本: 1.4.1 ; 换个新的试试:

https://github.com/virt-manager/virt-manager

更新到 1.5.0 依然存在这个问题,稍后再研究; 最新的版本构建起来麻烦一些,依赖python3的东西,我的安装源中有些找不到

 

相关fix: https://github.com/tonich-sh/virt-manager/commit/ce939a04099431ea273fa53850ab8a6db363a112

 

 

 

 Posted by at 下午 4:25

不太优秀的dockerd

 docker  不太优秀的dockerd已关闭评论
6月 132018
 

下面的dockerd占用了5G的内存+2.6G的swap,管理几个容器需要这么多的资源吗?一定是哪里有bug?

图中的java和mysql也都是不怎么使用的,所以占用很多的swap; 真正用的时候就会很慢。

 Posted by at 下午 2:51

docker stop 卡死的问题

 docker  docker stop 卡死的问题已关闭评论
6月 132018
 

场景:

宿主机信息:

docker信息:

容器信息:

centos6.8

启动进程: /sbin/init (因为启动这个可以直接利用 init-scripts 配置自动启动的进程,比如: mysqld等)

 

操作

docker stop $name

 

现象: 卡死了,进不去了

 

分析:

/sbin/init进程不退出,由init进程启动的子进程也处于defunct状态; 很可能是上级的某进程存在bug; 逐级上朔,找到shim进程,该进程kill 默认信号是不死的,看来可能有问题,直接kill -9 ; 然后,容器就干净地退出了

 Posted by at 下午 2:23