https://geekeefy.wordpress.com/2017/10/07/4-ways-to-send-output-to-null-in-powershell/
注意输出结果很大的情况
DevOps
stat一个目录时卡死:
(这个错误和十年前遇到的执行du就卡死的问题,如出一辙)
dmesg 错误信息:
这个机器早被下线了,看来是下线时清理的不够好,现在还有一个机器挂载这死去的机器的nfs呢:(3年了)
https://www.makeuseof.com/tag/upscaling-how-does-it-work-and-is-it-worth-it/
关于4k电视看2k视频的问题,有些电视可以将2k视频转成4k视频来播放的(这样会更耗电的吧?)
抽帧命令:
1 |
ffmpeg -i HPIM0002IMP.MP4 -r 15 HP2.mp4 |
原因:
MP4有3种编码,mpg4(xdiv),,mpg4(xvid),avc(h264);
原本是h264编码,抽帧后变成了mpeg4了
抽帧前:
抽帧后:
解决办法:
转码为 h264格式; 问题,转码后,文件体积增大到原始文件的3倍(这个好不地道)
参考:
错误信息:
查看卷列表时,dashboard提示: 无法获取连接信息 ; 英文提示应该是: Unable to retrieve attachment information.
查看日志:
发现一个卷是挂在某个实例上的,但是实例早被删掉了,所以“无法获取连接信息”;
实例ID: a95f316f-aeb7-40ce-8887-9145499518fc
卷ID: 7f75f270-17a9-4694-aff3-70c950f9c9b5
解决办法:
直接从cinder数据库中修改该卷的相关信息,然后删掉,相关表:
volume_attachment
volumes
sql 语句:
1 |
update volume_attachment set attach_status='detached' where instance_uuid='a95f316f-aeb7-40ce-8887-9145499518fc'\G |
1 |
update volumes set status='available', attach_status='detached' where id='7f75f270-17a9-4694-aff3-70c950f9c9b5'\G |
相关代码:
/usr/share/openstack-dashboard/openstack_dashboard/dashboards/project/volumes/tables.py 598 行
https://blog.csdn.net/zgy621101/article/details/79298777
https://blog.csdn.net/qiyuanxiong/article/details/77943578
简单的校验办法如下: ff d9 结尾就可以认为图片是完整的
1 2 |
#tail -c 2 IMG_2806.jpg|od -tx1 -An|xargs printf '%s%s' ffd9 |
问题:
1 2 |
# curl https://github.com curl: (35) SSL connect error |
分析:
tcpdump 抓包、wireshark分析:
基本是由于ssl版本导致的:
client想使用TLS 1.0 , server说,不行,太低
解决办法:
1 |
curl --tlsv1.2 https://github.com |
每次都带上个选项多不方便,使用 .curlrc ; linux上的程序一般都这个套路,在用户目录下写个配置文件:
1 2 |
# cat ~/.curlrc --tlsv1.2 |
配置文件格式就是直接写curl的命令行选项,简单粗暴高效。
有些curl -v 就能看到握手的ssl版本号
1 2 3 4 5 6 7 8 9 10 11 12 |
$ curl -v https://github.com * Rebuilt URL to: https://github.com/ * Trying 172.16.20.14... * Connected to github.com (172.16.20.14) port 443 (#0) * TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 * Server certificate: github.com * Server certificate: DigiCert SHA2 Extended Validation Server CA * Server certificate: DigiCert High Assurance EV Root CA > GET / HTTP/1.1 > Host: github.com > User-Agent: curl/7.49.1 > Accept: */* |
删除前:
其中windows.old 有 5G+
rbd 信息:
使用磁盘清理看看能清理多少:
可以清理掉24GB,实在惊讶,预计清理后,大小在10GB左右,还算可以接受吧
删除后:
没有想预期那样释放掉24GB,而是释放了大约20GB空间,不过确实windows.old 不见了;
rbd info:
从rbd上来看基本没有任何变化,因为没有fstrim,那么,如何对ntfs进行fstrim呢?或许有必要先进行一遍碎片整理(其实碎片整理的效果一点儿也不明显)
那么依据这个rbd做一个镜像的话,会占用多大的空间呢?会是60GB呢?还是和现在一样呢?还是和文件系统大小一样呢?
fstrim: https://blog.csdn.net/liumangxiong/article/details/50502367
搭建openstack时,配置好rbd后,我们并没有在virsh pool-list 时看到一个存储池,但是如果我们要配置一个存储池也是可以的:
编写配置文件: rbd-volumes.xml
1 2 3 4 5 6 7 8 9 10 |
<pool type='rbd'> <name>rbd-volumes</name> <source> <host name='10.88.12.4' port='6789'/> <name>volumes</name> <auth username='cinder' type='ceph'> <secret uuid='9dd5c6f0-ffc2-476b-b89c-071998ad8462'/> </auth> </source> </pool> |
其中rbd-volumes是我们给这个存储池起的一个名字,随便你;
10.88.12.4 是ceph monitor节点地址
volumes 是rbd所在的ceph中的pool
auth里面有用户名cinder和预先定义好的秘钥(秘钥通过secret-define来定义)
然后执行:
1 |
virsh pool-define rbd-volumes.xml |
然后就会自动生成文件 /etc/libvirt/storage/rbd-volumes.xml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<pool type='rbd'> <name>rbd-volumes</name> <uuid>09ec5b59-509d-40b9-9c8a-e03e8de60b1d</uuid> <capacity unit='bytes'>0</capacity> <allocation unit='bytes'>0</allocation> <available unit='bytes'>0</available> <source> <host name='10.88.12.4' port='6789'/> <name>volumes</name> <auth type='ceph' username='cinder'> <secret uuid='9dd5c6f0-ffc2-476b-b89c-071998ad8462'/> </auth> </source> </pool> |
然后通过virsh pool-list 可以查看到定义好的存储池:
1 |
virsh pool-list |
然后启动池子:
1 |
virsh pool-start rbd-volumes |
就可以列出来存储池中的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
下面的dockerd占用了5G的内存+2.6G的swap,管理几个容器需要这么多的资源吗?一定是哪里有bug?
图中的java和mysql也都是不怎么使用的,所以占用很多的swap; 真正用的时候就会很慢。