前两天在电报群里面看到屌鸡在问这玩意顺道捡来的,我平时还是喜欢用MegaCli直接看。
这玩意其实就是把MegaCli的命令做了个集合输出,在使用前得先安装有MegaCli和python。
安装包地址:http://dl.kvm.la/lsi/MegaCli_All_OS
wget https://raw.githubusercontent.com/eLvErDe/hwraid/master/wrapper-scripts/megaclisas-status
python megaclisas-status
none
安装supervisor
yum install epel-release -y
yum install supervisor inotify-tools -y
chkconfig --add supervisord
chkconfig --level 235 supervisord on
/etc/supervisord.conf增加的内容如下
[program:inotifywait]
command="/opt/inotifywait.sh"
numprocs=1
/opt/inotifywait.sh的配置内容如下:
cat /opt/inotifywait.sh
#!/bin/bash
inotifywait -mrqe delete,create /opt/nginx | while read file
do nginx -s reload
echo `date`>>/tmp/rsync.log
done
supervisorctl常用命令
supervisorctl reload //重载supervisor
supervisorctl update //更新supervisor
supervisorctl status //查看状态
supervisorctl update //更新新的配置到supervisord
supervisorctl start [all]|[x] //启动所有/指定的程序进程
supervisorctl stop [all]|[x] //关闭所有/指定的程序进程
supervisord //启动supervisor
supervisord -c supervisor.conf //通过配置文件启动supervisor
supervisorctl start test //开启test服务
none
约定如下:
运行lsyncd的节点为master
被同步的节点为slave
1.在master上生成key并copy给slave节点做免密码通信。
这里我们是自用的机器则直接用的root。
ssh-keygen -t rsa # 全部回车默认
ssh-copy-id root@slave_server_IP
2.安装epel源码仓库和lsyncd
yum -y install epel-release
yum install lsyncd rsynce
systemctl enable lsyncd
3.配置文并启动
cat /etc/lsyncd.conf
sync { default.rsyncssh,host="slave_server_IP-A",source="/opt/nginx/",targetdir="/opt/nginx/"}
sync { default.rsyncssh,host="slave_server_IP-B",source="/opt/nginx/",targetdir="/opt/nginx/"}
4.启动并查看状态
systemctl start lsyncd
systemctl status lsyncd
更多的使用细节懒得记录了。
更多的配置例子和文章可以参考下面
/usr/share/doc/lsyncd*/examples/
https://github.com/axkibe/lsyncd
http://seanlook.com/2015/05/06/lsyncd-synchronize-realtime/
阅读剩余部分...
none
以下是自用的openresty编译归纳
yum安装常用包
yum -y update
yum -y install epel-release -y
yum install lua-devel luajit git dos2unix mercurial -y
yum -y --skip-broken install gcc vim-enhanced gcc-c++ libtool-libs libtool autoconf subversion zip unzip wget crontabs iptables file bison patch mlocate flex diffutils automake imake make cmake cpp unix2dos mercurial kernel-devel zlib-devel
编译安装pcre
cd /tmp
wget -c http://sourceforge.net/projects/pcre/files/pcre/8.21/pcre-8.21.tar.gz/download -O -|tar xz
cd pcre-8.21 && ./configure
make && make install
if [ `uname -i` == x86_64 ]; then ln -s /usr/lib64/{libpcre.*,libjpeg.so,libpng.so,libXpm.so,libc-client.so,libkrb5.so,libexpat.so,libevent.so} /usr/lib/;fi
编译安装openresty
wget https://openresty.org/download/openresty-1.17.8.1rc1.tar.gz -O -|tar xz
cd openresty-1.17.8.1rc1
#wget -c https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.2.tar.gz -O -|tar xz && mv libressl-* libressl
git clone https://github.com/libressl-portable/portable libressl
cd libressl && ./autogen.sh
cd ../
./configure --prefix=/etc --sbin-path=/usr/sbin/nginx --pid-path=/var/run/nginx.pid --conf-path=/etc/nginx/nginx.conf --lock-path=/var/lock/subsys/nginx --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-mail=dynamic --with-mail_ssl_module --with-openssl=libressl --with-http_v2_module --with-pcre --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_secure_link_module --with-http_dav_module --with-http_ssl_module --with-http_sub_module
gmake
gmake install
wget http://dl.kvm.la/conf/nginx.init -O /etc/init.d/nginx
chmod 755 /etc/init.d/nginx
chkconfig --add nginx
chkconfig --level 235 nginx on
# cat /usr/lib/systemd/system/openresty.service
[Unit]
Description=The OpenResty Application Platform
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
none
Solusvm有在线迁移,但是需要离线,而且没有队列支持,操作起来相当的操心。
因数据比较大的原因,快照后直接用dd读取并压缩通过管道传递给新的宿主10.10.1.2并解压再写入lvm分区。
lvcreate -L 200G -s -n kvm101_snap /dev/vg0/kvm101_img
dd if=/dev/vg0/kvm101_snap conv=sync,noerror bs=8M | gzip -c | ssh [email protected] "gzip -d |dd of=/dev/vg0/kvm101_img conv=sync,noerror bs=8M"
lvremove /dev/vg0/kvm101_snap -f
等待数据写入完成后,再使用rsync进行一次同步jiu差不多可以切换了。
在线服务数据出入量小或者几乎不变动可以用这种方法。
Centos6
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel -y install kernel-ml kernel-ml-devel
Centos7
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install -y elrepo-release
sed -e 's/^DEFAULTKERNEL=kernel$/DEFAULTKERNEL=kernel-ml/' -i /etc/sysconfig/kernel
yum --enablerepo=elrepo-kernel -y install kernel-ml kernel-ml-devel
release的版本号有时候会因为升级而变动,所以尽量核对一下原文出处的内容http://elrepo.org/tiki/tiki-index.php
在升级完后修改grub的配置文件/boot/grub/grub.conf将default=1改为default=0 这个地方主要是为了手动修改确认选择默认内核。
另外建议将timeout参数改为15以上,方便部分延长高操作卡的IPMI选择。
UPDATE:ORZ!发现之前好像写过一次, 地址是http://www.kvm.la/1024.html
none
首先DELL U3818DW背后的tpye-c接口标注了100w供电。
这几次外出发现明明充满电的mbp无法启动或者是直接停电黑屏。
在接入充电头后才能开机发现电池只有 10%多点或者 55%的电。
原装充电头充满电后和原来平常使用无差别。
之前关注过LG 38UC99-W发现可能会供电不足导致过热才选择了DELL U3818DW,
根据当前的表现来看,Type-c充电和数据一条线搞定还不能完美解决。
none
以下内容基于Centos6 X64
涉及到epel gcc kernel git等依赖工具和包
主要解决编译Linux的AFU
涉及到的源码和程序如下两个链接
afu的二进制下载链接 http://domoticx.com/bios-tool-ami-flasher-software/
Linux的afu驱动源码 https://github.com/mrwnwttk/afulnx
yum install epel-release gcc git wget -y
git clone https://github.com/mrwnwttk/afulnx
cd afulnx/
wget http://dl.kvm.la/linux/afulnx-5.05.04.zip
unzip fulnx-5.05.04.zip
cd afulnx64/driver
make clean
make default
mv amifldrv_mod.o ..
chmod 775 ../afulnx_64
./afulnx_64 ./X9DR3P8.523 /P /B /N /K /R /MER /OPR
+---------------------------------------------------------------------------+
| AMI Firmware Update Utility v5.05.04 |
| Copyright (C)2013 American Megatrends Inc. All Rights Reserved. |
+---------------------------------------------------------------------------+
Reading flash ............... done
- ME Data Size checking . ok
- FFS checksums ......... ok
Erasing Boot Block .......... done
Updating Boot Block ......... done
Verifying Boot Block ........ done
Erasing Main Block .......... done
Updating Main Block ......... done
Verifying Main Block ........ done
Erasing NVRAM Block ......... done
Updating NVRAM Block ........ done
Verifying NVRAM Block ....... done
Erasing NCB Block ........... done
Updating NCB Block .......... done
Verifying NCB Block ......... done
- Successful Update Recovery Loader to OPRx!!
- Successful Update FPT, MFSB, FTPR and MFS!!
- ME Entire Image update success !!
- Update success for /OPR!!
WARNING : System must power-off to have the changes take effect!
附带DOS版本用法
@echo off
REN AFUDOSU.SMC AFUDOSU.EXE
AFUDOSU.EXE %1 /P /B /N /K /R /FDT /MER /OPR
REN AFUDOSU.EXE AFUDOSU.SMC
none