Dell idrac 重启机器进入单次pxe安装

用Dell idrac的脚本来使服务器进入单次pxe安装进程。 脚本如下: sshpass -p "xxxxxxxx" ssh -oStrictHostKeyChecking=no root@172.16.17.1 racadm set iDRAC.ServerBoot.BootOnce 1 sshpass -p "xxxxxxxx" ssh -oStrictHostKeyChecking=no root@172.16.17.1 racadm set iDRAC.ServerBoot.FirstBootDevice PXE sshpass -p "xxxxxxxx" ssh -oStrictHostKeyChecking=no root@172.16.17.1 racadm serveraction powercycle

2024年01月18日 · 1 分钟 · 32 字 · 八戒

nxlog推送数据到elasticsearch

其实rsyslog、syslog-ng、nxlog这三种东西真的是都差不多。随便选一个用都没问题。 比较喜欢nxlog的route和json以及箭头的功能,很简洁,所以用它来推数据到elasticsearch 方法一、用om_elasticsearch推: ... <Input in> Module im_tcp Host 0.0.0.0 Port 1514 InputType Binary </Input> <Output es> Module om_elasticsearch URL http://localhost:9200/_bulk FlushInterval 2 FlushLimit 100 # Create an index daily Index strftime($EventTime, "nxlog-%Y%m%d") IndexType "My logs" # Use the following if you don't have $EventTime set #Index strftime(now(),"nxlog-%Y%m%d") </Output> <Route r> Path in => es </Route> ... 方法二、用om_http推: ... <Output elasticsearch> Module om_http URL http://elasticsearch:9200 ContentType application/json Exec set_http_request_path(strftime($EventTime, "/nxlog-%Y%m%d/" + $SourceModuleName)); rename_field("timestamp","@timestamp"); to_json(); </Output> ... 我们生产上是将各个机器上的日志通过rsyslog发到nxlog,再由nxlog导入elasticsearch,然后用kinaba看。 ...

2024年01月18日 · 1 分钟 · 206 字 · 八戒

F5-bigip的Load balance告警邮件设置

F5-Bigip负载均衡设备,在我们的生产环境,用于分发前端的请求,如果后端的成员离线了,需要及时得到通知。 规则是:load balance池子里的成员如果离线,就发送告警邮件,如果又恢复了,也发告警邮件。 首先我们需要在内网中设置一个邮件发送服务器,我们用的是qq的企业邮箱,如何设置在之前说过,这里设置的是内网用这台服务器发邮件不需要验证,但是发送者必须是monit@company.com。 先来确认f5的版本,不同的版本不一定通用撒。这里版本是11.5.3才可以。 登录F5(ip是172.16.0.1),查看版本,是不是11.5.3 $ ssh user@172.16.0.1 # tmsh show /sys version ... Product BIG-IP Version 11.5.3 ... # quit 编辑/etc/ssmtp/ssmtp.conf,设置邮件服务器 # vi /etc/ssmtp/ssmtp.conf mailhub=192.168.0.1 # 如果没有安装内网的邮件服务器,可以在这里设置。安装了就不用设 FromLineOverride=YES UseTLS=yes AuthUser=smtp_account AuthPass=password 设置告警内容: alert BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_DOWN "Pool (.*?) member (.*?):(.*?) monitor status down." { email toaddress="user01@company.com,user02@company.com" fromaddress="monit@company.com" body="A pool member went down" } alert BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_UP "Pool (.*?) member (.*?):(.*?) monitor status up." { email toaddress="user01@company.com,user02@company.com" fromaddress="monit@company.com" body="A pool member went up" } ok,搞定。不用重启什么的啊,即时生效。 ...

2024年01月18日 · 1 分钟 · 73 字 · 八戒

在Ubuntu上装个plsql通过远程桌面访问oracle

这真是个无比古怪的审计需求,需要让一些同事能访问oracle,但是不允许他们通过剪切板拷贝数据。 这只能是kvm+Ubuntu+xrdp+wine+plsql来实现了(CentOS应该也没问题) 首先准备ubuntu的iso,选精简的server版,桌面手动装: wget http://mirrors.163.com/ubuntu-releases/12.04/ubuntu-12.04.5-server-i386.iso 生成kvm虚机磁盘: qemu-img create -f qcow2 /home/kvm/ubuntu.qcow2 20G 安装kvm虚机: virt-install \ --name=ubuntu \ --vcpu=1 \ --ram=2048 \ --disk path=/home/kvm/ubuntu.qcow2,format=qcow2,size=20 \ --cdrom=/home/kvm/ubuntu-12.04.5-server-i386.iso \ --os-type=linux \ --network bridge=br0 \ --vnc --vnclisten=0.0.0.0 --vncport=5901 这时候就要连到实机的vnc 5901端口,开始安装。反正是只要用plsql的,所以缺省都可。记住要装上sshd server,便于远程管理。 装ubuntu时会提示生成一个非root用户,就叫plsql好了。 安装不表,安装好了以后因为装了sshd,所以就可以ssh远程操作了。 安装wine: sudo apt-get install software-properties-common sudo add-apt-repository ppa:ubuntu-wine/ppa sudo apt-get update sudo apt-get install wine 安装xrdp和gnome-shell以及输入法: sudo apt-get install xrdp sudo apt-get install gnome-shell sudo apt-get install ibus sudo apt-get install fcitx-table-wbpy 设置xrdp由gnome-session控制: ...

2024年01月18日 · 1 分钟 · 203 字 · 八戒

设置git ssh代理

万万没想到啊,github被封轮到自己头上了。 这个博客是在windows下用Typora写的,然后hugo生成,直接用git for windows提交,今天git无法提交了。 必须设置一下git ssh的代理了,我用的是socks5。 在C:\Users\username\.ssh\config文件中添加相关配置,如果没有config文件需要手动创建,connect命令是git Windows客户端git for windows自带的, 位于<Git-install-path>\mingw64\bin\connect.exe socks代理添加以下配置 Host github.com(改成你的站点) ProxyCommand connect -S 127.0.0.1:1080 %h %p 可以配置多个网站Host Host github.com(改成你的站点) ProxyCommand connect -S 127.0.0.1:1080 %h %p Host bitbucket.org(改成你的站点) ProxyCommand connect -S 127.0.0.1:1080 %h %p 如果Host设置为*,代理会对所有未配置的Host起作用。以下有三项配置,访问github使用第二项配置,访问bitbucket使用第三项配置,其它网站使用第一项配置 Host * ProxyCommand "C:/Program Files/Git/mingw64/bin/connect.exe" -H 127.0.0.1:1080 %h %p IdentityFile "C:/Users/bybon/.ssh/id_rsa" TCPKeepAlive yes IdentitiesOnly yes Host github.com ProxyCommand connect -S 127.0.0.1:1080 %h %p Host bitbucket.com ProxyCommand connect -S 127.0.0.1:1080 %h %p

2024年01月17日 · 1 分钟 · 69 字 · 八戒

Postfix和Sendmail设置所有邮件都收到一个邮件用户下

Postfix设置所有邮件都收到一个邮件用户下 申请了一个yi.zapto.org的免费域名,想把*@yi.zapto.org的邮件地址都送到zrr@yi.zapto.org这个地址去。 用Postfix来做: 编辑main.cf,设置邮件的域名,对了,最好在/etc/hosts中增加yi.zapto.org域名的解析。 # vi /etc/postfix/main.cf ... inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, yi.zapto.org virtual_alias_maps = hash:/etc/postfix/virtual ... 编辑virtual,设置全域邮件转发到zrr # vi /etc/postfix/virtual @yi.zapto.org zrr # postmap /etc/virtual 如果有多个域名,那么在mydestination最后依次添加,并且修改virtual并重新hash即可。 ok,重启postfix service postfix restart Sendmail设置所有邮件都收到一个邮件用户下 用Sendmail来做: 编辑local-host-names,设置邮件的域名,对了,最好在/etc/hosts中增加yi.zapto.org的解析,否则sendmail启动时会反解,速度很慢。 # vi /etc/mail/local-host-names yi.zapto.org 编辑virtusertable,设置全域邮件转发到zrr # vi /etc/virtusertable @yi.zapto.org zrr # rm /etc/virtusertable.db # cd /etc/mail # make 编辑sendmail.cf,增加信任用户nobody # vi /etc/mail/sendmail.cf ... ##################### # Trusted users # ##################### # this is equivalent to setting class "t" Ft/etc/mail/trusted-users Troot Tdaemon Tuucp Tnobody ... 这样所有发过来的邮件都会自动转发到zrr这个账号下。 ...

2024年01月17日 · 1 分钟 · 96 字 · 八戒

更新jar包或者jar包中的文件

jar包可以当作一个zip包来看待。 jar文件:/home/resin.jar 需要更新包中com/caucho/server/port/Port.class类文件 方法1,直接更新: 查看jar包的文件目录结构 jar tf resin.jar 更新指定内容 jar uf resin.jar com/caucho/server/port/Port.class jar uf testRedis-33.jar redis.properties 方法2,解压替换后再打包: 解压包: mkdir new cd new jar xvf ../testRedis-33.jar 进行修改 vi redis.properties 重新压包 jar cmvf META-INF/MANIFEST.MF t.jar *

2024年01月17日 · 1 分钟 · 35 字 · 八戒

怀念永远的freshmeat.net

怀念永远的freashmeat 这个网站是从一开站就关注的,基本上天天都看,有10几年了。 持续到2014年6月18日,永久的封站了。 时不时的,仍会打开这个网页,逡巡良久!!!,时光荏苒,2024年了,关站都要10年了。纪念一下!

2024年01月16日 · 1 分钟 · 4 字 · 八戒

LVM卷必须备份metadata

这是个反面教材。在京东数科的时候用的是kvm的虚机系统,同事追求更快,文件镜像用的是raw分区,里面装了lvm。 grub的启动文件如下: kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_root-lvroot rd_NO_LUKS rd_LVM_LV=vg_root/lvroot LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 console=ttyS0,115200n8 rd_LVM_LV=vg_root/lvswap KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet rd_NO_DM 看上面,root也被建立在lvroot的lvm卷上了。 然后就遇到了断电,导致kvm挂掉了,悲催的是lvm卷被破坏了,用尽办法也弄不出来卷信息。因为lvm的metadata没有备份。 数据全丢,无法恢复,杯具了。 综上LVM的metadata必须备份,方法如下: vgcfgbackup /etc/lvm/backup/VolGroup是当前lvm配置的一个备份,而/etc/lvm/archive是归档。 看看归档: ls -l /etc/lvm/archive/* -rw-------. 1 root root 1820 Jun 12 2015 /etc/lvm/archive/VolGroup_00000-444365108.vg 恢复方法: vgcfgrestore 具体恢复的步骤: 首先查看blkid,看看硬盘分区的UUID blkid /dev/mapper/VolGroup-LogVol01: UUID="d6d24cc3-5e4a-4f4d-a0b1-2524e727b0fe" TYPE="ext4" /dev/sda1: UUID="3d0103ac-1b18-4da5-bc20-4b7a980a55c0" TYPE="ext4" /dev/sda2: UUID="i5Cd6V-IVHN-e694-o9CQ-OZJe-zvt0-AhUBLq" TYPE="LVM2_member" /dev/mapper/VolGroup-LogVol00: UUID="06fe7af0-dee5-494a-9b5b-11bf95244acd" TYPE="swap" 查看lvm信息,找出里面所有物理卷的UUID: less /etc/lvm/archive/VolGroup_00000-444365108.vg ... physical_volumes { pv0 { id = "i5Cd6V-IVHN-e694-o9CQ-OZJe-zvt0-AhUBLq" device = "/dev/sda2" # Hint only ... 首先恢复所有的pv,物理卷,这里我们就一个物理卷,所以执行一次,如果有多个物理卷,一个一个来即可 pvcreate --uuid "i5Cd6V-IVHN-e694-o9CQ-OZJe-zvt0-AhUBLq" \ --restorefile /etc/lvm/archive/VolGroup_00000-444365108.vg 物理卷恢复完了,再恢复lv,逻辑卷: vgcfgrestore -f /etc/lvm/archive/VolGroup_00000-444365108.vg VolGroup 弄完后vgdisplay查看一下: vgdisplay --- Volume group --- VG Name VolGroup System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 9 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 1.64 TiB PE Size 4.00 MiB Total PE 428705 Alloc PE / Size 428705 / 1.64 TiB Free PE / Size 0 / 0 VG UUID 3h3yik-kmqP-Q8sC-5bn0-cwtw-SXpo-orMlKn 就恢复成功了。 ...

2024年01月16日 · 1 分钟 · 159 字 · 八戒

kvm提高网卡效率使用SR-IOV

什么是SR-IOV呢? 简单的说,SR-IOV是一种虚拟化方案,用来使一个PCIe的物理设备,能虚拟出多个设备,这些虚拟出来的设备看起来就像是多个真实的物理设备一样,并获得能够与本机性能媲美的 I/O 性能。 SR-IOV现在最多是用在网卡上,kvm虚拟机的网卡功能一般会下降到实体机的30-50%,如果改用SR-IOV会大大提高网卡性能。 SR-IOV 有2种功能: 物理功能 (Physical Function, PF) 就是标准的PCIe的功能了 虚拟功能 (Virtual Function, VF) 与物理功能关联的一种功能。VF 是一种轻量级 PCIe 功能,可以与物理功能以及与同一物理功能关联的其他 VF 共享一个或多个物理资源。VF 仅允许拥有用于其自身行为的配置资源。 好的,如何在生产环境中使用它呢? 场景如下: 如上: 机房里有两台交换机: switch-1用来连接各机器的eth0口 switch-2用来连接各机器的eth1口 switch-1和switch-2互联 这是一种机房的标准连法,eth0和eth1做bonding,做线路冗余 server-2是一台Dell R730的服务器,eth0连switch-1,eth1连switch-2,上面跑了三个虚机: VM-1跑在基于bonding的Bridge上,标准的做法 VM-2和VM-2则是利用了SR-IOV,从虚拟网卡直连到物理网卡,减少了中间环节,提高了网卡的效率。 首先要把服务器的vt和sr-iov打开: System BIOS > Processor Settings > Virtualization Technology System BIOS > Integrated Devices > SR-IOV Global Enable 当然,这么麻烦的事情,我们直接用脚本通过idrac调用racadm来做好了: #!/bin/sh sshpass -p "xxxxx" ssh -oStrictHostKeyChecking=no root@10.8.$1 racadm set BIOS.ProcSettings.ProcVirtualization Enabled sshpass -p "calvin" ssh -oStrictHostKeyChecking=no root@10.8.$1 racadm set BIOS.IntegratedDevices.SriovGlobalEnable Enabled sshpass -p "xxxxxx" ssh -oStrictHostKeyChecking=no root@10.8.$1 racadm serveraction powercycle 注意,Dell R730的机器用得是Intel I350的以太网卡,每个网口最多支持8个VF,如果是高级的X520网卡,就支持64个VF。 ...

2024年01月15日 · 5 分钟 · 883 字 · 八戒