Rootop 服务器运维与web架构

2015-02-27
发表者 Venus
Error: Missing Dependency: kernel-headers is needed by package glibc-headers已关闭评论

Error: Missing Dependency: kernel-headers is needed by package glibc-headers

在安装gcc编译器的时候报错:

glibc-headers-2.5-123.el5_11.1.x86_64 from updates has depsolving problems
–> Missing Dependency: kernel-headers is needed by package glibc-headers-2.5-123.el5_11.1.x86_64 (updates)
glibc-headers-2.5-123.el5_11.1.x86_64 from updates has depsolving problems
–> Missing Dependency: kernel-headers >= 2.2.1 is needed by package glibc-headers-2.5-123.el5_11.1.x86_64 (updates)
Error: Missing Dependency: kernel-headers >= 2.2.1 is needed by package glibc-headers-2.5-123.el5_11.1.x86_64 (updates)
Error: Missing Dependency: kernel-headers is needed by package glibc-headers-2.5-123.el5_11.1.x86_64 (updates)
You could try using –skip-broken to work around the problem
You could try running: package-cleanup –problems
package-cleanup –dupes
rpm -Va –nofiles –nodigest

提示找不到 kernel-headers这个包,检查yum仓库没问题,后来确认是配置文件中禁止了 kernel-headers开头的包安装升级。

解决方法:
[root@1 ~]# vi /etc/yum.conf

bugtracker_url=http://bugs.centos.org/yum5bug
#exclude=kernel* cloud-init* qemu-ga*   添加#注释

PS: 这台机器为云服务器,基于openstack,估计是防止升级后出现异常,所以在系统中禁止了安装升级功能。

2015-02-25
发表者 Venus
vCenter Single sign-on 5.5重置密码已关闭评论

vCenter Single sign-on 5.5重置密码

通过vclient登陆vcenter结果想不起来密码,重置步骤如下:

切换到目录:
cd C:\Program Files\VMware\Infrastructure\VMware\CIS\vmdird

执行vdcadmintool.exe程序:
C:\Program Files\VMware\Infrastructure\VMware\CIS\vmdird>vdcadmintool.exe

==================
Please select:
0. exit
1. Test LDAP connectivity
2. Force start replication cycle
3. Reset account password
4. Set log level and mask
5. Set vmdir state
==================

选择选项 3 重置账户密码:

Account DN: cn=Administrator,cn=users,dc=vSphere,dc=local
New password is –
d\+uxxxxxxZ0S;    //这个地方为新的密码

官方提示:
vdcadmintool,该实用程序生成的密码包含无效或不受支持的字符(例如,分号 (;)、双引号 (“)、音调符号 (^)、反斜线 (\) 或高位 ASCII 字符等),则下次尝试升级 vCenter Single Sign-On 时,升级可能会失败。

解决办法:如果您曾经使用 vdcadmintool 实用程序生成 administrator@vsphere.local 的密码,请使用 vSphere Web Client 更改该用户的密码。

2015-02-13
发表者 Venus
浪潮NF5245M3服务器RAID0配置及安装windows server 2008 R2已关闭评论

浪潮NF5245M3服务器RAID0配置及安装windows server 2008 R2

转载自:http://www.68idc.cn/help/opersys/2013083151187.html

 然后按ctrl+h键入WebBIOS中

 再按ctrl+s键入LSI设置即RAID设置模式

 进入到WebBISO界面如下图

 第三步、在WebBIOS中配置RAID0

点击配置向导

 新建配置,如果以前配置过RAID的话,需要选择清除配置,再新建配置

 将所有磁盘选择加入到阵列add to array

 加入到阵列后,点击accept dg

  next

 add to SPAN

选择RAID0,并按照提示可用的空间来选择使用多少磁盘空间,比如我这里有1TB,我选择1000GB

 保存配置

 快速初始化,并返回到初始页面,退出重启系统。

然后点击 set boot drive 设置为启动驱动器。

第四步、直接用浪潮自带的锐捷服务器套件引导安装08.

2015-01-27
发表者 Venus
自动化运维工具puppet安装及简单测试已关闭评论

自动化运维工具puppet安装及简单测试

系统版本              ip地址                主机名
centos6.5_x64 192.168.0.153    master (puppetmaster代表服务端)
centos6.5_x64 192.168.0.154    node1   (agent代表客户端)

修改master和node1的hosts文件,添加主机名和ip映射:
192.168.0.154    node1
192.168.0.153    master

master和node1安装epel源(或者用puppet官方源):
[root@master ~]# yum install -y epel-*
[root@node1 ~]# yum install -y epel-*

master安装服务端:
[root@master ~]# yum install -y ruby ruby-libs ruby-shadow puppet puppet-server facter

node1安装客户端:
[root@node1 ~]# yum install -y ruby ruby-libs ruby-shadow puppet facter

master配置:
主目录为/etc/puppet/
auth.conf          #定义puppet master的acl文件
environments   #这个可能在3.x版本上才有
fileserver.conf  #定义puppet master文件服务器的配置文件
manifests           #puppet脚本主文件目录,site.pp文件必须存在
modules             #puppet模块目录
puppet.conf       #puppet主配置文件

默认不需要太多配置,先保持默认。
启动服务。
[root@master ~]# service puppetmaster start
默认占用8140端口,在防火墙中放行,或关闭iptables。

node1配置:
/etc/puppet/puppet.conf

[agent]
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig
server = master     #设置master
runinterval = 5s    #探测master时间间隔 s/m/h/d/y 分别为秒/分/时/年 数字零0代表立即
listen = true
保存退出,启动服务。
[root@node1 ~]# service puppet start

客户端在puppetmaster登记:
[root@master ~]# puppet agent –test
Exiting; no certificate found and waitforcert is disabled  #出现此错误为正常,因为客户端还没有在master登记。

master检查证书请求:
[root@master ~]# puppet cert list
“node1” (B8:96:46:DD:B7:1C:21:8B:3A:2E:3B:6E:35:96:81:B1)

会看到一个包含计算机名的请求,对此请求签名:
[root@master ~]# puppet cert sign node1
notice: Signed certificate request for node1
notice: Removing file Puppet::SSL::CertificateRequest node1 at ‘/var/lib/puppet/ssl/ca/requests/node1.pem’

node1再次查看登记:
[root@node1 certs]# puppet agent –test
info: Caching certificate for node1
info: Caching certificate_revocation_list for ca
info: Caching catalog for node1
info: Applying configuration version ‘1422335958’
info: Creating state file /var/lib/puppet/state/state.yaml
notice: Finished catalog run in 0.03 seconds

配置差不多就完成了,现在测试对客户端发布命令,安装nmap、wget软件:
[root@master ~]# vi /etc/puppet/manifests/site.pp  #创建配置文件

node 'node1' {
 include install_rpm
}

class install_rpm {
 package { ["nmap","wget"]:
 ensure => latest,
 }
}

重启服务:
[root@master ~]# service puppetmaster restart

客户端根据上面配置是5秒跟master通信一次,如果想立即执行master下发的任务就执行:
[root@node1 ~]# puppet agent -t

node1上过5秒查看进程:

已经开始安装软件。

调试方法:

puppet agent -t #使用“-t”选项,你可以看到puppet的详细输出。
puppet agent -t --debug #debug 选项会显示puppet本次运行时的差不多每一个步骤。
puppet agent -t --noop #让 puppet 工作在dry-run模式下,不会应用任何修改,不会对真实环境产生影响。

2015-01-26
发表者 Venus
shell条件判断if中的-a到-z的意思已关闭评论

shell条件判断if中的-a到-z的意思

shell if判断中常用的也就是绿色部分,尾部部分越看越不懂。从百度文库转载。

[ -a FILE ] 如果 FILE 存在则为真。

[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。

[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。

[ -d FILE ] 如果 FILE 存在且是一个目录则为真。

[ -e FILE ] 如果 FILE 存在则为真。

[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。

[ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。

[ -h FILE ] 如果 FILE 存在且是一个符号连接则为真。

[ -k FILE ] 如果 FILE 存在且已经设置了粘制位则为真。

[ -p FILE ] 如果 FILE 存在且是一个名字管道(F如果O)则为真。

[ -r FILE ] 如果 FILE 存在且是可读的则为真。

[ -s FILE ] 如果 FILE 存在且大小不为o则为真。

[ -t FD ] 如果文件描述符 FD 打开且指向一个终端则为真。

[ -u FILE ] 如果 FILE 存在且设置了SUID (set user ID)则为真。

[ -w FILE ] 如果 FILE 如果 FILE 存在且是可写的则为真。

[ -x FILE ] 如果 FILE 存在且是可执行的则为真。

[ -O FILE ] 如果 FILE 存在且属有效用户ID则为真。

[ -G FILE ] 如果 FILE 存在且属有效用户组则为真。

[ -L FILE ] 如果 FILE 存在且是一个符号连接则为真。

[ -N FILE ] 如果 FILE 存在 and has been mod如果ied since it was last read则为真。

[ -S FILE ] 如果 FILE 存在且是一个套接字则为真。

[ FILE1 -nt FILE2 ] 如果 FILE1 has been changed more recently than FILE2, or 如果 FILE1 exists and FILE2 does not则为真。

[ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在则为真。

[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。

[ -o OPTIONNAME ] 如果 shell选项 “OPTIONNAME” 开启则为真。

[ -z STRING ] “STRING” 的长度为零则为真。

[ -n STRING ] or [ STRING ] “STRING” 的长度为非零 non-zero则为真。

[ STRING1 == STRING2 ] 如果2个字符串相同。 “=” may be used instead of “==” for strict POSIX compliance则为真。

[ STRING1 != STRING2 ] 如果字符串不相等则为真。

[ STRING1 < STRING2 ] 如果 “STRING1” sorts before “STRING2” lexicographically in the current locale则为真。

[ STRING1 > STRING2 ] 如果 “STRING1” sorts after “STRING2” lexicographically in the current locale则为真。

[ ARG1 OP ARG2 ] “OP” is one of -eq, -ne, -lt, -le, -gt or -ge. These arithmetic binary operators return true if “ARG1” is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to “ARG2”, respectively. “ARG1” and “ARG2” are integers.