分页: 2/28 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]
Jul 26
一、第一步获取安装文件,官网目前搜索也找不到了,这里附件提供之前保存的安装文件

二、使用VMware vSphere Client连接ESXI在配置里启用ssh服务,然后通过ssh客户端工具连接ESXI,安装文件通过sftp上传或者在ESXI上下载都可以,本文文件上传至/tmp目录。

三、安装MegaCli
esxcli software vib install -v /tmp/vmware-esx-MegaCli-8.04.07.vib --no-sig-check

四、MegaCli使用
cd /opt/lsi/MegaCLI/

#查看磁盘状态
./MegaCli -PDList -aAll  |  grep  "Firmware state:"
Firmware state: Online, Spun Up
Firmware state: Online, Spun Up
Firmware state: Online, Spun Up
Firmware state: Online, Spun Up


#查看RAID信息
./MegaCli -LDinfo -Lall -aAll    
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name                :Virtual Disk 0
RAID Level          : Primary-5, Secondary-0, RAID Level Qualifier-3
Size                : 836.625 GB
Parity Size         : 278.875 GB
State               : Optimal
Strip Size          : 64 KB
Number Of Drives    : 4
Span Depth          : 1
Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy   : Disk's Default
Encryption Type     : None
Is VD Cached: No

五、相关命令
./MegaCli -LDInfo -Lall -aALL 查raid级别
./MegaCli -AdpAllInfo -aALL 查raid卡信息
./MegaCli -PDList -aALL 查看硬盘信息
./MegaCli -AdpBbuCmd -aAll 查看电池信息
./MegaCli -FwTermLog -Dsply -aALL 查看raid卡日志
./MegaCli -adpCount 【显示适配器个数】
./MegaCli -AdpGetTime –aALL 【显示适配器时间】
./MegaCli -AdpAllInfo -aAll    【显示所有适配器信息】
./MegaCli -LDInfo -LALL -aAll    【显示所有逻辑磁盘组信息】
./MegaCli -PDList -aAll    【显示所有的物理信息】
./MegaCli -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Charger Status’ 【查看充电状态】
./MegaCli -AdpBbuCmd -GetBbuStatus -aALL【显示BBU状态信息】
./MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aALL【显示BBU容量信息】
./MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL    【显示BBU设计参数】
./MegaCli -AdpBbuCmd -GetBbuProperties -aALL    【显示当前BBU属性】
./MegaCli -cfgdsply -aALL    【显示Raid卡型号,Raid设置,Disk相关信息】

5.1、磁带状态的变化,从拔盘,到插盘的过程中。
Device        |Normal|Damage|Rebuild|Normal
Virtual Drive    |Optimal|Degraded|Degraded|Optimal
Physical Drive    |Online|Failed –> Unconfigured|Rebuild|Online

5.2、查看磁盘缓存策略
./MegaCli -LDGetProp -Cache -L0 -a0
./MegaCli -LDGetProp -Cache -L1 -a0
./MegaCli -LDGetProp -Cache -LALL -a0
./MegaCli -LDGetProp -Cache -LALL -aALL
./MegaCli -LDGetProp -DskCache -LALL -aALL

5.3、设置磁盘缓存策略
缓存策略解释:
WT    (Write through
WB    (Write back)
NORA  (No read ahead)
RA    (Read ahead)
ADRA  (Adaptive read ahead)
Cached
Direct

例子:
./MegaCli -LDSetProp WT|WB|NORA|RA|ADRA -L0 -a0
./MegaCli -LDSetProp -Cached|-Direct -L0 -a0
enable / disable disk cache
./MegaCli -LDSetProp -EnDskCache|-DisDskCache -L0 -a0

5.4、创建一个raid5阵列,由物理盘 1,2,3构成,该阵列的热备盘是物理盘4
./MegaCli -CfgLdAdd -r5 [32:1,32:2,32:3] WB Direct -Hsp[32:4] -a0

5.5、创建阵列,不指定热备
./MegaCli -CfgLdAdd -r5 [32:1,32:2,32:3] WB Direct -a0

5.6、删除阵列
./MegaCli -CfgLdDel -L1 -a0

5.7、在线添加磁盘
./MegaCli -LDRecon -Start -r5 -Add -PhysDrv[32:5] -L1 -a0

5.8、阵列创建完后,会有一个初始化同步块的过程,可以看看其进度。
./MegaCli -LDInit -ShowProg -LALL -aALL
或者以动态可视化文字界面显示
./MegaCli -LDInit -ProgDsply -LALL -aALL

5.9、查看阵列后台初始化进度
./MegaCli -LDBI -ShowProg -LALL -aALL
或者以动态可视化文字界面显示
./MegaCli -LDBI -ProgDsply -LALL -aALL

5.10、指定第5块盘作为全局热备
./MegaCli -PDHSP -Set [-EnclAffinity] [-nonRevertible] -PhysDrv[32:5] -a0

5.11、指定为某个阵列的专用热备
./MegaCli -PDHSP -Set [-Dedicated [-Array1]] [-EnclAffinity] [-nonRevertible] -PhysDrv[32:5] -a0

5.12、删除全局热备
./MegaCli -PDHSP -Rmv -PhysDrv[32:5] -a0

5.13、将某块物理盘下线/上线
./MegaCli -PDOffline -PhysDrv [32:5] -a0
./MegaCli -PDOnline -PhysDrv [32:5] -a0

5.14、查看物理磁盘重建进度
./MegaCli -PDRbld -ShowProg -PhysDrv [32:5] -a0
或者以动态可视化文字界面显示
./MegaCli -PDRbld -ProgDsply -PhysDrv [32:5] -a0

5.15、查看Foreign状态的磁盘
./MegaCli -CfgForeign -Scan -a0

5.16、清除Foreign状态
./MegaCli -CfgForeign -Clear -a0

5.17、获取某个盘的详细信息
./MegaCli -pdInfo -PhysDrv[32:1] -a0

5.18、创建raid10
./MegaCli -CfgSpanAdd -r10 -Array0[32:1,32:2] -Array1[32:3,32:4] WB Direct -a0

使用MegaCli在线操作raid还是很方便的,在其他操作系统上也有相应的安装包可以使用,感兴趣的可以自己找台机器试试。

参考文档:
http://de.community.dell.com/techcenter/support-services/w/wiki/909.how-to-install-megacli-on-esxi-5-x
Tags: , ,
Nov 20
有个php程序需要使用php的imap扩展,而且当前环境默认又没有把imap编译进去,只好动手编译一个了,当前环境使用的是lnmp一键安装包,php的版本是php-5.2.17,安装目录为lnmp的默认安装目录/usr/local/php

一、下载php-5.2.17源码包
wget -c http://www.zhanghaijun.com/soft/php/php-5.2.17.tar.gz

二、编译安装
tar -xzvf php-5.2.17.tar.gz
cd php-5.2.17/ext/imap/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-kerberos=/usr --with-imap-ssl=/usr
make && make install

可能遇到的报错有以下几个:

1、configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information

yum -y install libc-client  libc-client-devel

2、configure: error: Cannot find imap library (libc-client.a). Please check your

ln -s /usr/lib64/libc-client.so  /usr/lib/libc-client.so


三、修改php.ini文件
vi /usr/local/php/etc/php.ini
在第49行extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/" 的下面加一行
extension="imap.so"

保存之后执行/usr/local/php/bin/php -m 就可以看见是否成功加载imap扩展了。
[root@localhost php-5.2.17]# /usr/local/php/bin/php -m
[PHP Modules]
bcmath
ctype
curl
date
dom
filter
ftp
gd
gettext
hash
iconv
imap
json
libxml
mbstring
mcrypt
mhash
mime_magic
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
posix
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
SQLite
standard
sysvsem
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
Zend Optimizer
zip
zlib

[Zend Modules]
Zend Optimizer

最后重启下php-fpm就可以看见已经支持imap了。
Tags: ,
Jan 8
今天把一个Java的应用迁移到另一台机器上,结果启动tomcat时报以下错误:
引用

Jan 8, 2014 2:31:11 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile([省略]/ROOT/WEB-INF/lib/servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Jan 8, 2014 2:31:11 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Jan 8, 2014 2:32:15 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 8 in XML document from file [(省略)/ROOT/WEB-INF/classes/spring-ju.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:404)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
        at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)
        at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:92)

解决方法:
一、

如果在项目中遇到该异常,通常是项目无法下载到spring-beans-2.5.xsd文件而出现的问题,这里的版本号因项目版本而异。
这里需要配置本地的xsd文件,方法如下:
找到你的项目中引用的spring的核心包,spring.jar
用压缩文件打开,找到该路径
org/springframework/beans/factory/xml/
并将这个路径下的xsd文件以下列形式配置到applicationContext.xml文件中,如果有多个配置文件,则全部代替

即以
classpath:/org/springframework/beans/factory/xml/spring-beans-2.5.xsd
代替http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
使得从本地直接读取该配置文件


二、配置文件XML的头部声明,具体根据自己使用的Spring版本决定

<?xml version="1.0" encoding="UTF-8"?>

<!--
  - Application context definition for JPetStore's business layer.
  - Contains bean references to the transaction manager and to the DAOs in
  - dataAccessContext-local/jta.xml (see web.xml's "contextConfigLocation").
  -->
<beans xmlns="http://www.springframework.org/schema/beans"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:aop="http://www.springframework.org/schema/aop"
         xmlns:tx="http://www.springframework.org/schema/tx"
         xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
Tags: , ,
Apr 24
一、安装kvm

1 在安装CentOS6.3时可以选择安装好kvm

2 如果未安装好kvm,请按照下列方式安装

[创建本地yum源]

挂载iso文件
mount -o loop -t iso9660 CentOS-6.3-x86_64-bin-DVD1.iso /mnt

设置本地yum源
在/etc/yum.repos.d/创建   “任意文件名.repo"    文件  
vi 刚才新建的文件名编辑
【localyum】任意名称 ,不能有空格。
name= local yum  任意名称
baseurl=file:////mnt/Packages      这个路径是自定的。Server为光盘中的Server目录 ,Packages与Server放在同一目录下。即/software目录下
enabled=1   代表   生效     0为不生效
gpgcheck=1   检查gpgkey  1 生效   0不生效
gpgkey=file:///software    安装光盘里有这个文件        不指定  安装时,可能提示没有注册
保存退出
执行命令 yum clean all(1) kvm需要有 CPU 的支持(Intel VT 或 AMD SVM)
[root@moniter ~]#egrep '^flags.*(vmx|svm)' /proc/cpuinfo
(2) 安装kvm libvirted
yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst

yum groupinstall KVM

(3) 启动libvirted
service messagebus start

service haldaemon start

service libvirtd start

chkconfig messagebus on

chkconfig haldaemon on

chkconfig libvirtd on

(4)检查kvm是否安装成功
[root@moniter ~]#virsh -c qemu:///system list
Id Name                 State
----------------------------------
(5)kvm模块
/sbin/lsmod | grep kvm

二、配置网桥

vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
BROADCAST=10.207.20.255
IPADDR=10.207.20.200
NETMASK=255.255.255.0
NETWORK=10.207.20.0
ONBOOT=yes
b、
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br0
c、
重起网络服务生效
service network restart
d、
echo 1 > /proc/sys/net/ipv4/ip_forward  #虚拟机上网

e、
检查桥接网络
[root@moniter ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.842b2b74e1b6       no              eth0
virbr0          8000.000000000000       yes
br0是我们配置的桥接网卡,virbr0是系统脚本自动配置的NAT网卡

三、安装vnc

注意:CentOS6.3 VNC的命名rpm为tiggervnc-server

(1)
yum install tiggervnc-server

(2)
vi /etc/sysconfig/vncservers

#加一行
VNCSERVERS="1:root"

(3)
vncpasswd

创建密码
(4)
/etc/init.d/vncserver start

(5)
# netstat -nulpt | grep vnc
tcp        0      0 0.0.0.0:5901                0.0.0.0:*                   LISTEN      29167/Xvnc
tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN      29167/Xvnc
tcp        0      0 :::6001                     :::*                        LISTEN      29167/Xvnc
表示vnc可以使用了

四、创建kvm虚拟机

virsh-install
    1、输入虚拟机名称
    2、分配多少内存
    3、处理器的个数
    4、此步可以直接输入iso的位置或是url
    5、虚拟机类型KVM
    6、定义虚拟机磁盘映像的位置
    7、磁盘的大小
    6、指定哪个桥或者可以指定多个桥
    7、额外的控制台和KS文件
    8、连接到系统参数
    
    参数说明注意每行都要空格
    -n 虚拟机名称
    -r 分配虚拟机内存大小
    --vcpus 分配虚拟cpu个数
    -c 镜像文件位置
    --vnc --vncport=5901 --vnclisten=0.0.0.0 启动图形安装界面
    --virt-type 虚拟机模式
    -f 虚拟机系统文件存储目录
    -s 分配磁盘大小(GB)
    -w 联网方式(birdge bridge:br0/nat bridge:virbr0)
    --os-type='windows' --os-variant=win2k3 安装windows最好加上这个否则会报错
    virt-install工具安装虚拟机后,在目录/etc/libvirt/qemu/下生成xml配置文件
    -s 用来指定虚拟磁盘的大小单位为GB
    -m 指定虚拟网卡的硬件地址默认virt-install自动产生
    -p 以半虚拟化方式建立虚拟机
    -l 指定安装来源
    -x EXTRA, --extra-args=EXTRA当执行从"--location"选项指定位置的客户机安装时,附加内核命令行参数到安装程序。
    -v, --hvm 设置全虚拟化

virt-install --name=centos6.3  --ram 1024 --vcpus=2 --disk path=/data0/centos-6.3.x86_64.img.img,size=20  --accelerate --cdrom /data0/CentOS-6.3-x86_64-bin-DVD1.iso  --graphics vnc,listen=0.0.0.0,port=5920,  --network bridge=br0  --force  --autostart

执行后,netstat -nulpt | grep 5920 看端口启用否

五、用vnc连接5920完成安装

IP:5920

六、管理kvm虚拟机

virsh --connect qemu:///system
a、如果你修改了一个客户机的xml文件(位于/etc/libvirt/qemu/ 目录),你必须重新定义客户机:
define /etc/libvirt/qemu/vm10.xml
b、启动和停止客户机,运行:
start vm10
c、停止一个客户机,运行
shutdown vm10
d、立即中断一个客户机(类似直接关电源),运行
destroy vm10
e、挂起一个客户机:
suspend vm10
f、恢复客户机:
resume vm10

七、克隆

virt-clone  --connect=qemu:///system \
-o 原虚拟机 -n 新虚拟机 -f /data0/centos5.4/新虚拟机镜像

新虚拟机配置文件需要注意:虚拟机克隆完毕后,需修改vnc端口;MAC地址也是需要注意的。

八、加载磁盘空间

#qemu-img create -f qcow2 disk1.img 50G
#vi /etc/libvirt/qemu/centos1.xml

增加的部分为:

    <disk type='file' device='disk'>
      <source file='/data0/disk1.img'/>
      <target dev='hdb' bus='ide'/>
    </disk>


使配置文件生效
virsh --connect qemu:///system

virsh #define /etc/libvirt/qemu/centos1.xml


重起虚拟机生效

virsh # shutdown centos1

virsh # start centos1

进入虚拟机:
mkfs.ext3 /dev/hdb
mkdir /data
mount /dev/hdb /data
Tags: ,
Mar 4
Webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发。

Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。

Webbench最多可以模拟3万个并发连接去测试网站的负载能力。

官方主页:http://home.tiscali.cz/~cz210552/webbench.html

官方介绍:

Web Bench is very simple tool for benchmarking WWW or proxy servers. Uses fork() for simulating multiple clients and can use HTTP/0.9-HTTP/1.1 requests. This benchmark is not very realistic, but it can test if your HTTPD can realy handle that many clients at once (try to run some CGIs) without taking your machine down. Displays pages/min and bytes/sec. Can be used in more aggressive mode with -f switch.


1、WebBench安装:

wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make
make install

在centos 6.3 下执行make的时候会有以下错误信息:
[root@localhost webbench-1.5]# make
cc -Wall -ggdb -W -O   -c -o webbench.o webbench.c
webbench.c: In function ‘alarm_handler’:
webbench.c:77: warning: unused parameter ‘signal’
cc -Wall -ggdb -W -O  -o webbench webbench.o  
ctags *.c
/bin/sh: ctags: command not found
make: [tags] Error 127 (ignored)
这是因为系统缺少ctags包,执行yum install ctags 安装ctags,然后执行make clean 之后再执行make
[root@localhost webbench-1.5]# make
cc -Wall -ggdb -W -O   -c -o webbench.o webbench.c
webbench.c: In function ‘alarm_handler’:
webbench.c:77: warning: unused parameter ‘signal’
cc -Wall -ggdb -W -O  -o webbench webbench.o  
ctags *.c
执行make install 安装
[root@localhost webbench-1.5]# make install
install -s webbench /usr/local/bin
install -m 644 webbench.1 /usr/local/man/man1
install -d /usr/local/share/doc/webbench
install -m 644 debian/copyright /usr/local/share/doc/webbench
install -m 644 debian/changelog /usr/local/share/doc/webbench

2、WebBench使用:
[root@localhost webbench-1.5]# /usr/local/bin/webbench -c 300 -t 30 http://www.qq.com/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://www.qq.com/
300 clients, running 30 sec.

Speed=2006 pages/min, 11800774 bytes/sec.
Requests: 1003 susceed, 0 failed.

/usr/local/bin/webbench -c 并发数 -t 运行测试时间 URL

更多参数可以查看帮助信息:
[root@localhost webbench-1.5]# /usr/local/bin/webbench -h
webbench [option]... URL
  -f|--force               Don't wait for reply from server.
  -r|--reload              Send reload request - Pragma: no-cache.
  -t|--time           Run benchmark for seconds. Default 30.
  -p|--proxy Use proxy server for request.
  -c|--clients          Run HTTP clients at once. Default one.
  -9|--http09              Use HTTP/0.9 style requests.
  -1|--http10              Use HTTP/1.0 protocol.
  -2|--http11              Use HTTP/1.1 protocol.
  --get                    Use GET request method.
  --head                   Use HEAD request method.
  --options                Use OPTIONS request method.
  --trace                  Use TRACE request method.
  -?|-h|--help             This information.
  -V|--version             Display program version.

分页: 2/28 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]