最近需要做资产列表,要采集DELL服务器的硬件信息,包括如下信息:
1、操作系统信息(类型,版本,内核,平台,主机名)
2、主板信息(厂商,机型,序列号)
3、CPU信息(型号,个数,物理核数)
4、内存(条数,单条容量)
执行前请先安装MegaRAID,为了提高工作效率,我们使用SHELL脚本来实现,如下:
#!/bin/sh #get os information function get_os_info() { release=`cat /etc/redhat-release | awk '{print $1"_"$3}'` kname=`uname -s` nodename=`uname -n` kernal=`uname -r` bit=`uname -i` printf "OS_RELEASE: $release"_"$bit\n" printf "OS_DETAIL: $kname $nodename $kernal $bit\n" } get_os_info #get vendor, model, sn... function motherboard() { vendor=`dmidecode -t 1|grep "Manufacturer"|awk '{print $2}'` model=`dmidecode -t 1|grep "Product"|awk '{print $4}'` sn=`dmidecode -t 1|grep "Serial" |awk '{print $3}'` printf "MODEL: $vendor $model\n" printf "SN: $sn\n" } motherboard function memory() { count=`dmidecode -q -t 17 2 |grep "Size" |grep -v "No Module Installed"|awk '{print $2}'|uniq -c|awk '{print $1}'` capacity=`dmidecode -q -t 17 2 |grep "Size" |grep -v "No Module Installed"|awk '{print $2}'|uniq -c|awk '{print $2}'` capacity=`expr $capacity / 1024` printf "MEM: $count"*"$capacity"G"\n" } memory function cpuinfo() { cpu_model=`cat /proc/cpuinfo|grep "model name"|head -1|awk -F: '{print $2}'` cpu_count=`cat /proc/cpuinfo|grep "core id"|grep "0"|uniq -c|awk '{print $1}'` cpu_total_cores=`cat /proc/cpuinfo|grep "processor"|wc -l` single_cores=`expr $cpu_total_cores / $cpu_count` printf "CPU:$cpu_model($cpu_count"*"$single_cores"Cores")\n" } cpuinfo function diskinfo() { raidlevel=`/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL |grep "RAID"|awk '{print $3}'|cut -b 9-9` disknumber=`/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL | grep "Drives"|awk -F ":" '{print $2}'` disktype=`/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | grep "PD Type"|head -1|awk -F: '{print $2}'` diskcapacity=`/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | grep "Raw Size" head -1 awk '{print $3}'` printf "DISK: $disknumber"*"$diskcapacity"GB"$disktype (Raid Level: $raidlevel)\n" } diskinfo
脚本执行结果如下:
OS_RELEASE: CentOS_6.5_x86_64 OS_DETAIL: Linux appsrv 2.6.32-431.el6.x86_64 x86_64 MODEL: Dell R730 SN: CDFGHJL MEM: 4*8G CPU: Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz(2*8Cores) DISK: 2*279.396GB SAS (Raid Level: 1)
QinQ技术的应用场景:
在运营商的网络中每一个用户都需要放入一个单独的VLAN中,以便实现进行各用户之间的隔离,但是由于802.1q中VLAN TAG只有12比特,导致 vlan数量最多只能有个无法满足城域网中大量用户的隔离需求,这时就用到了QinQ技术。
QinQ技术是通过在原有的802.1q的基础上增加了一层802.1q标签来实现的,使得VLAN数量扩展到4094 * 4094个。如下图:
下面通过实验来详细说明,通过华为设备在运营商城域网中如何部署QINQ技术。
实验拓扑
使用eNSP模拟器(版本V100R002C00 1.2.00.370)
环境描述
城域网用户的接入大致拓扑为:BRAS设备(理解为路由器,只是多了宽带接入功能)→OLT设备(理解为一个大交换机就行了)→分光器(纯物理层设备)→ONU设备(理解为用户接入交换机就行了)→家庭用户,如上图所示通过在ONU设备上划分VLAN对用户进行隔离,每个用户属于一个VLAN,如果这样的话,一台OLT下的VLAN ID明显不够用,图中只接了2个ONU设备,在真实环境下一台OLT的下面一定挂着很多ONU设备这时个VLAN肯定不够用的,这时可以使用QinQ技术解决OLT下VLAN ID不够的问题!因为两层标签的情况下,VLAN的数量可以达到4096*4096个,一台OLT设备下不可能挂这么多的用户的。
实验规划
Win7 (VLAN 100):192.168.100.10/24
C2 (VLAN 200):192.168.100.20/24
C3 (VLAN 300):192.168.200.10/24
C4 (VLAN 400):192.168.200.20/24
OLT G0/0/1 (VLAN 10)
OLT G0/0/2 (VLAN 20)
实验需求
1.在OLT设备上配置QinQ解决VLAN ID不够问
2.在BRAS设备上配置子接口脱两层标签终结VLAN
3.在BRAS设备上配置PPPOE拨号功能,模拟实现家庭用户拨号上网。
4.抓包分析PPPOE报文。
实验配置
SW1配置:都是基本的交换要常规配置
<SW1>system-view
[SW1]vlanbatch 100 200
[SW1]inte0/0/1
[SW1-Ethernet0/0/1]portlink-type access
[SW1-Ethernet0/0/1]portdefault vlan 100
[SW1-Ethernet0/0/1]inte0/0/2
[SW1-Ethernet0/0/2]portlink-type access
[SW1-Ethernet0/0/2]portdefault vlan 200
[SW1-Ethernet0/0/2]intg0/0/1
[SW1-GigabitEthernet0/0/1]portlink-type trunk
[SW1-GigabitEthernet0/0/1]porttrunk allow-pass vlan 100 200
SW2配置:
<SW2>system-view
[SW2]vlanbatch 300 400
[SW2]inte0/0/1
没有评论:
发表评论