Juniper-Ex系-STP配置实例

S1交换机:

set protocols stp enable                              #"打开stp功能"

set protocols stp bridge-priority 8k                  #"设置stp的优优先值"

set protocols stp interface ge-0/0/1.0 priority 8     #"设置stp端口优先值"

set protocols stp interface ge-0/0/2.0 priority 8

S2交换机:

set protocols stp enable

set protocols stp bridge-priority 16k

set protocols stp interface ge-0/0/1.0 priority 16

set protocols stp interface ge-0/0/2.0 priority 16

S3交换机:

set protocols stp enable

set protocols stp bridge-priority 32k

set protocols stp interface ge-0/0/1.0 priority 32

set protocols stp interface ge-0/0/2.0 priority 32

检查命令:

Show span-tree bridge

转载自:http://mtonet.com/?p=282


Juniper-Ex系交换,VLAN配置

说明:EX交换机除了具有二层VLAN功能之外,还具有三层VLAN路由功能。

EX交换机会有一个名字为vlan的三层逻辑端口,这个三层逻辑端口可以划分多个逻辑unit单元,unit号范围是(0..16385),而每个逻辑unit单元可以配置IP地址然后跟一个VLAN绑定,实际上unit 单元号和VLAN号没有对应关系,但是为了维护方便,我们建议在实际应用中unit单元号和vlan号配置相同(如下面的vlan.10中的10是unit单元号,它实际上可以跟VLAN 20绑定,但是在实际中最好将它和vlan 10绑定),这样在EX上就可以配置不同VLAN的网关地址了。

例如下面交换机划分了3个VLAN,每个VLAN对应的网关IP分别配置在vlan.10 、vlan.20以及vlan.30端口(跟Cisco的interface vlan10和interface vlan20,interface vlan30效果一样的)。


一、添加/修改VLAN

如果创建一个名字为liy_vlan的VLAN 10,并且网关设置为192.168.1.1/24,ge-0/0/1属于该VLAN。

配置步骤:

(1)创建VLAN

#编辑vlan信息liy_vlan是vlan名字,如果不存在则新建一个VLAN

lab@EX4200-1# edit vlans liy_vlan    #"以下所有操作都是对liy_vlan进行"

[edit vlans liy_vlan]

lab@EX4200-1# set vlan-id 10   #"设置liy_vlan的vlan id"

lab@EX4200-1# set description "Server VLAN"    #"设置vlan描述"

lab@EX4200-1# set mac-limit 200  #"设置mac数量,范围是(1..65535),通常不配置"

lab@EX4200-1# set mac-table-aging-time 600 #"设置mac生存时间(秒),范围是(60-1000000) "

lab@EX4200-1# set l3-interface vlan.10  #"将绑定三层逻辑子端口"

lab@EX4200-1# set interface ge-0/0/1.0  #"将端口加入到VLAN中"

lab@EX4200-1# set interface ge-0/0/2.0  #"将端口加入到VLAN中"


(2)创建三层逻辑子端口

lab@EX4200-1# top   #"回到最外层菜单"

[edit]

lab@EX4200-1# set interfaces vlan unit 10 family inet address 192.168.1.1/24


(3)将交换机端口修改为access模式并加入到新创建的VLAN中

lab@EX4200-1# top   #"回到最外层菜单"

[edit]

lab@EX4200-1# set interfaces ge-0/0/1  unit 0 family ethernet-switching port-mode access

lab@EX4200-1# set interfaces ge-0/0/1 unit 0 family ethernet-switching vlan members 10

lab@EX4200-1# set interfaces ge-0/0/2  unit 0 family ethernet-switching port-mode access

lab@EX4200-1# set interfaces ge-0/0/2 unit 0 family ethernet-switching vlan members 10


(4)commit提交:

lab@EX4200-1#commit

二、删除VLAN

由于一个VLAN创建之后,会被端口引用,可能还创建了三层端口,因此在删除vlan的时候需要把端口引用关系接触同时删除三层vlan子端口,删除步骤如下:

1.删除端口vlan

lab@EX4200-1# top  

[edit]

lab@EX4200-1# delete interfaces ge-0/0/1  unit 0 family ethernet-switching port-mode access

lab@EX4200-1# delete interfaces ge-0/0/1 unit 0 family ethernet-switching vlan members 10

lab@EX4200-1# delete interfaces ge-0/0/2  unit 0 family ethernet-switching port-mode access

lab@EX4200-1# delete interfaces ge-0/0/2 unit 0 family ethernet-switching vlan members 10


2.删除vlan对应的L3子端口

lab@EX4200-1# top  

[edit]

lab@EX4200-1# delete interfaces vlan unit 10


3.接着删除vlan配置

lab@EX4200-1# top  

[edit]

lab@EX4200-1# delete vlans liy_vlan


转载自:http://mtonet.com/?p=268

Juniper-EX系列面板指示灯告警alarm设置

EX交换机在前面面板LCD旁边,有一个alarm的告警LED灯,当系统出现出现alarm之后,除了在系统日志中反映出来,还可以通过LED显示出来。可以设置端口down产生告警,并且定义LED的显示颜色。EX不支持对单个端口定义产生alarm告警,只能对全部端口或者MGT管理端口产生link down的alarm告警,一旦端口down之后会在alarm LED上显示出来。(注意:如果设置了端口link down的alarm告警,则不用的端口最好disable)

配置方法:

lab@EX4200-1# top  

[edit]

lab@EX4200-1# set chassis alarm ethernet link-down red  #"设置全部端口产生告警"

lab@EX4200-1# set chassis alarm ethernet link-down ignore  # "全部端口不产生告警"

lab@EX4200-1# set chassis alarm management-ethernet link-down  red# "MTG端口产生告警"

link-down后面可以选择的参数有:


 ignore               Do not assert any alarm signals

 red                    Assert red system alarm

 yellow               Assert yellow system alarm


转载自:http://mtonet.com/?p=265

kvmla支付宝二维码通道活动

*先使用手机支付宝领取折扣券,付款的时候选择二维码扫码支付获得20%的折扣.

*有效期为领取后30天内,一个人一次.

* 一共30个名额

*可叠加其他优惠码使用

*在https://www.kvmla.com 上所有的订单和账单都可以走二维码通道使用.

本次活动为一次尝试,后续陆续会做一些代金券的活动.

 手机访问链接: https://m.alipay.com/vZAKa1U

二维码领券

 

付款示例图

svg ico图标网站

https://www.flaticon.com

RHEL7 禁用NetworkManager

systemctl stop NetworkManager

systemctl disable NetworkManager

一个LSI ​MegaCli的收集py脚本

前两天在电报群里面看到屌鸡在问这玩意顺道捡来的,我平时还是喜欢用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

supervisor+inotify监控管理nginx项目

安装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服务

lsyncd安装部署记录

约定如下:    
运行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/

阅读剩余部分...

Centos的openresty安装记录

以下是自用的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

Solusvm手动迁移kvm虚拟机

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差不多可以切换了。

在线服务数据出入量小或者几乎不变动可以用这种方法。

Centos升级第三方高版本Kernel

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

DELL U3818DW的type-c对MBP输出充电不足

首先DELL U3818DW背后的tpye-c接口标注了100w供电。

这几次外出发现明明充满电的mbp无法启动或者是直接停电黑屏。

在接入充电头后才能开机发现电池只有 10%多点或者 55%的电。

原装充电头充满电后和原来平常使用无差别。


之前关注过LG 38UC99-W发现可能会供电不足导致过热才选择了DELL U3818DW,

根据当前的表现来看,Type-c充电和数据一条线搞定还不能完美解决。

Linux下更新AMI主板bios

以下内容基于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

清空centos系统日志记录shell

顺手一个for循环解决清空各种系统日志。

LIST="boot.log btmp cron dmesg lastlog maillog messages secure spooler tallylog wtmp yum.log"
for NAME in $LIST; do echo> /var/log/$NAME;done
history -c

如果是已使用比较久的系统需要加入一些删除命令。