<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>蓝色数据</title>
	<atom:link href="http://blog.bluedata.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.bluedata.org</link>
	<description>奋斗是幸福的……</description>
	<pubDate>Wed, 08 Oct 2008 15:19:49 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>解决 VMware 下 Solaris 网络不稳定的问题</title>
		<link>http://blog.bluedata.org/vmware-solaris-network-problem/</link>
		<comments>http://blog.bluedata.org/vmware-solaris-network-problem/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 07:13:55 +0000</pubDate>
		<dc:creator>bluedata</dc:creator>
		
		<category><![CDATA[Solaris]]></category>

		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=93</guid>
		<description><![CDATA[VMware Server 1.0.6 安装的 Solaris 10 5/08 , 有时启动的时候会出现如下错误：
ar_entry_query: Could not find the ace for source address 192.168.0.249
arp -an 无输出
零时解决办法：
ifconfig -a &#124; grep ether
        ether 0:c:... ]]></description>
			<content:encoded><![CDATA[<p>VMware Server 1.0.6 安装的 Solaris 10 5/08 , 有时启动的时候会出现如下错误：<br />
ar_entry_query: Could not find the ace for source address 192.168.0.249</p>
<p>arp -an 无输出</p>
<p>零时解决办法：<br />
ifconfig -a | grep ether<br />
        ether 0:c:29:c5:f9:15<br />
arp -s 192.168.0.249 00:0c:29:c5:f9:15</p>
<p>就算 arp 正常了，网络也不稳定，时断时续的。</p>
<p>以为是 bug<br />
http://sunsolve.sun.com/search/printfriendly.do?assetkey=1-66-238887-1<br />
http://sunsolve.sun.com/search/document.do?assetkey=1-21-137112-06-1<br />
http://sunsolve.sun.com/search/document.do?assetkey=1-21-137092-01-1<br />
其实 Solaris 10 5/08 已经包含这些 patch 了。</p>
<p>安装 VMware Tools<br />
使用光盘镜像<br />
C:\Program Files\VMware\VMware Server\solaris.iso</p>
<p>cd /cdrom/vmwaretools<br />
gtar zxvf vmware-solaris-tools.tar.gz -C /tmp/<br />
cd /tmp/vmware-tools-distrib<br />
./vmware-install.pl<br />
一路回车<br />
mv /etc/hostname.pcn0 /etc/hostname.vmxnet0<br />
重启</p>
<p>问题解决</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluedata.org/vmware-solaris-network-problem/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Solaris 10 使用 Linux 环境</title>
		<link>http://blog.bluedata.org/solaris10-use-linux-env/</link>
		<comments>http://blog.bluedata.org/solaris10-use-linux-env/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 01:59:21 +0000</pubDate>
		<dc:creator>bluedata</dc:creator>
		
		<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=88</guid>
		<description><![CDATA[Linux 用户刚接触 Solaris 时，处处都感到不方便。其实，最小化安装 Debian 后也是这种感觉。可以对系统进行一些简单设置来符合 Linuxer 的习惯。
设置 root 用户目录及 Shell
mkdir /root
chmod 700 /root
vi ... ]]></description>
			<content:encoded><![CDATA[<p>Linux 用户刚接触 Solaris 时，处处都感到不方便。其实，最小化安装 Debian 后也是这种感觉。可以对系统进行一些简单设置来符合 Linuxer 的习惯。</p>
<p>设置 root 用户目录及 Shell<br />
mkdir /root<br />
chmod 700 /root<br />
vi /etc/passwd<br />
root:x:0:1:Super-User:/root:/usr/bin/bash</p>
<p>允许 root 用户 SSH 登陆<br />
vi /etc/ssh/sshd_config<br />
PermitRootLogin yes<br />
svcadm restart network/ssh</p>
<p>设置环境变量<br />
vi ~/.bashrc<br />
<coolcode linenum="off"><br />
PATH=/opt/csw/bin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/ucb:/usr/ccs/bin:/usr/sfw/bin<br />
MANPATH=/opt/csw/man:/opt/csw/share/man:/usr/local/man:/usr/local/share/man:/usr/man:/usr/share/man:/usr/sfw/man<br />
LD_LIBRARY_PATH=/opt/csw/lib:/usr/local/lib:/lib:/usr/lib:/usr/sfw/lib<br />
export PATH MANPATH LD_LIBRARY_PATH<br />
</coolcode></p>
<p>vi ~/.bash_profile<br />
if [ -f ~/.bashrc ]; then<br />
. ~/.bashrc<br />
fi</p>
<p>source ~/.bash_profile</p>
<p>设置 pkg-get<br />
pkgadd -d http://blastwave.network.com/csw/pkg_get.pkg</p>
<p>vi /opt/csw/etc/pkg-get.conf<br />
#url=http://ibiblio.org/pub/packages/solaris/csw/unstable<br />
url=http://blastwave.unix-center.net/csw/stable</p>
<p>pkg-get -U<br />
pkg-get install gnupg textutils<br />
wget --output-document=pgp.key http://www.blastwave.org/mirrors.html<br />
gpg --import pgp.key</p>
<p>安装常用软件<br />
http://sunfreeware.com/programlistintel10.html#coreutils<br />
wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/coreutils-6.4-sol10-x86-local.gz<br />
gzip -d coreutils-6.4-sol10-x86-local.gz<br />
pkgadd -d coreutils-6.4-sol10-x86-local</p>
<p>pkg-get install gtar ggrep gawk vim top lsof<br />
cp /opt/csw/share/vim/vim71/vimrc_example.vim ~/.vimrc<br />
vi ~/.vimrc<br />
set nobackup<br />
" set mouse=a<br />
set nohlsearch<br />
"  filetype plugin indent on</p>
<p>vi ~/.bashrc<br />
<coolcode linenum="off"><br />
export LS_OPTIONS='--color=auto'<br />
alias ls='ls $LS_OPTIONS'<br />
alias ll='ls $LS_OPTIONS -lh'<br />
alias l='ls $LS_OPTIONS -lA'<br />
alias h='history 25'</p>
<p>alias ping='ping -s'<br />
alias awk='gawk'<br />
alias tar='gtar'<br />
alias vi='vim'<br />
</coolcode></p>
<p>vi /etc/DIR_COLORS<br />
vi ~/.bash_profile<br />
source ~/.bash_profile<br />
这里直接使用了 Gentoo Linux 的 DIR_COLORS 和 .profile 文件的配置。</p>
<p>缩短 grub timeout 时间<br />
vi /boot/grub/menu.lst<br />
timeout 3</p>
<p>取消自动关机<br />
vi /etc/power.conf<br />
#autoshutdown 30 9:00 9:00 default</p>
<p>防止堆栈溢出<br />
cp /etc/system /etc/system~<br />
vi /etc/system<br />
在文件最后加上以下两行<br />
set noexec_user_stack=1<br />
set noexec_user_stack_log=1</p>
<p>禁止自动启动桌面系统<br />
/usr/dt/bin/dtconfig -d<br />
恢复<br />
/usr/dt/bin/dtconfig -e</p>
<p>删除根目录下产生的 root 用户文件<br />
cd /<br />
rm -rf .I* .X* .d* .g* .i* .m* .n* .r* .s* D*</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluedata.org/solaris10-use-linux-env/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Solaris 10 5/08 x86 的安装</title>
		<link>http://blog.bluedata.org/solaris10-x86-install/</link>
		<comments>http://blog.bluedata.org/solaris10-x86-install/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 08:25:50 +0000</pubDate>
		<dc:creator>bluedata</dc:creator>
		
		<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=83</guid>
		<description><![CDATA[安装过程很简单，照着提示一步一步来就是了。
为了体验下 Java Desktop , 安装类型选择了最终用户，但是还是去掉了一些用不着的包。
核心安装就不会安装桌面系统了。
下面是安装摘要的截图... ]]></description>
			<content:encoded><![CDATA[<p>安装过程很简单，照着提示一步一步来就是了。<br />
为了体验下 Java Desktop , 安装类型选择了最终用户，但是还是去掉了一些用不着的包。<br />
核心安装就不会安装桌面系统了。<br />
下面是安装摘要的截图：</p>
<p><img src="http://blog.bluedata.org/wp-content/uploads/2008/09/user_install_1.jpg" alt="solaris_10_user_install_1.jpg" /><br />
<img src="http://blog.bluedata.org/wp-content/uploads/2008/09/user_install_2.jpg" alt="solaris_10_user_install_2.jpg" /><br />
<img src="http://blog.bluedata.org/wp-content/uploads/2008/09/user_install_3.jpg" alt="solaris_10_user_install_3.jpg" /><br />
<img src="http://blog.bluedata.org/wp-content/uploads/2008/09/user_install_4.jpg" alt="solaris_10_user_install_4.jpg" /></p>
<p>这里有一个详细安装过程的截图： <a href="http://solaris.tophk.net/basicsetting/quick_install_solaris10/index.htm" target="_blank">Solaris 10 OS 1/06 x86 快速安裝</a></p>
<p>完全的安装文档可以查看 Sun 官方的<a href="http://docs.sun.com/app/docs/coll/1264.6?l=zh" target="_blank">安装指南</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluedata.org/solaris10-x86-install/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CentOS4.6 安装配置 GFS</title>
		<link>http://blog.bluedata.org/centos4-gfs/</link>
		<comments>http://blog.bluedata.org/centos4-gfs/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 07:28:18 +0000</pubDate>
		<dc:creator>bluedata</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Redhat/CentOS]]></category>

		<category><![CDATA[centos]]></category>

		<category><![CDATA[gfs]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=81</guid>
		<description><![CDATA[在 /etc/hosts 文件添加：
192.168.0.171   centos4-1
192.168.0.172   centos4-2
添加 yum 源
cd /etc/yum.repos.d/
wget http://mirror.centos.org/centos/4/csgfs/CentOS-csgfs.repo
更新系统
yum -y update
安装 Red Hat Cluster Suite with DLM 所需... ]]></description>
			<content:encoded><![CDATA[<p>在 /etc/hosts 文件添加：<br />
192.168.0.171   centos4-1<br />
192.168.0.172   centos4-2</p>
<p>添加 yum 源<br />
cd /etc/yum.repos.d/<br />
wget http://mirror.centos.org/centos/4/csgfs/CentOS-csgfs.repo</p>
<p>更新系统<br />
yum -y update</p>
<p>安装 Red Hat Cluster Suite with DLM 所需要的包：<br />
yum install ccs cman-kernel-smp dlm dlm-kernel-smp fence iddev magma magma-plugins gulm perl-Net-Telnet</p>
<p>安装 Red Hat GFS 所需要的包：<br />
yum install GFS GFS-kernel-smp lvm2-cluster</p>
<p>配置 cluster<br />
vi /etc/cluster/cluster.conf<br />
<coolcode linenum="off"><br />
<?xml version="1.0"?><br />
<cluster name="alpha_cluster" config_version="1"></p>
<p><cman two_node="1" expected_votes="1"><br />
</cman></p>
<p><clusternodes><br />
<clusternode name="centos4-1" votes="1"><br />
<fence><br />
<method name="single"><br />
<device name="human" ipaddr="192.168.0.171"/><br />
</method><br />
</fence><br />
</clusternode></p>
<p><clusternode name="centos4-2" votes="1"><br />
<fence><br />
<method name="single"><br />
<device name="human" ipaddr="192.168.0.172"/><br />
</method><br />
</fence><br />
</clusternode><br />
</clusternodes></p>
<p><fencedevices><br />
<fencedevice name="human" agent="fence_manual"/><br />
</fencedevices></p>
<p></cluster><br />
</coolcode></p>
<p>配置 fence<br />
cd /sbin<br />
mv fence_manual fence_manual~<br />
vi /sbin/fence_manual<br />
#!/bin/sh<br />
exit 0</p>
<p>在集群开始前插入模块<br />
vi /etc/sysconfig/cluster<br />
modprobe lock_dlm<br />
modprobe gfs</p>
<p>启动 cluster<br />
service ccsd start<br />
service cman start<br />
service fenced start</p>
<p>检查一下是否正常<br />
ccs_tool lsnode<br />
<coolcode linenum="off"><br />
Cluster name: alpha_cluster, config_version: 1</p>
<p>Nodename                        Votes Nodeid Iface Fencetype<br />
centos4-1                          1               human<br />
centos4-2                          1               human<br />
</coolcode></p>
<p>ccs_tool lsfence<br />
<coolcode linenum="off"><br />
Name             Agent<br />
human            fence_manual<br />
</coolcode></p>
<p>cman_tool services<br />
<coolcode linenum="off"><br />
Service          Name                              GID LID State     Code<br />
Fence Domain:    "default"                           3   2 run       -<br />
[2 1]<br />
</coolcode></p>
<p>配置 clvm<br />
vi /etc/lvm/lvm.conf<br />
locking_type = 3</p>
<p>service clvmd start</p>
<p>设置开机自启动<br />
ntsysv<br />
选中 clvmd<br />
可以把不用的 lock_gulmd 和 scsi_reserve 去掉。</p>
<p>只在一个节点上执行如下操作：<br />
pvcreate /dev/sda<br />
vgcreate vg /dev/sda<br />
lvcreate -l 18431 -n lv1 vg<br />
gfs_mkfs -j 2 -p lock_dlm -t alpha_cluster:gfs /dev/vg/lv1</p>
<p>挂载后即可使用<br />
mount -t gfs /dev/vg/lv1 /mnt<br />
可以写入 /etc/rc.local 开机自动挂载。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluedata.org/centos4-gfs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nagios 札记之四：扩展提示信息发送方式(smtp, msn, fetion)</title>
		<link>http://blog.bluedata.org/nagios-notification-type/</link>
		<comments>http://blog.bluedata.org/nagios-notification-type/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 03:00:20 +0000</pubDate>
		<dc:creator>bluedata</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[fetion]]></category>

		<category><![CDATA[msn]]></category>

		<category><![CDATA[nagios]]></category>

		<category><![CDATA[smtp]]></category>

		<category><![CDATA[飞信]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=46</guid>
		<description><![CDATA[1. 使用 SMTP 发送邮件
objects/commands.cfg 中有邮件提醒命令的设置
如要通过 SMTP 发送邮件，可以使用 sendEmail:
http://caspian.dotconf.net/menu/Software/SendEmail/
安装
wget http://caspian.dotconf.net/menu/Software/SendEmail... ]]></description>
			<content:encoded><![CDATA[<p>1. 使用 SMTP 发送邮件<br />
objects/commands.cfg 中有邮件提醒命令的设置<br />
如要通过 SMTP 发送邮件，可以使用 sendEmail:<br />
http://caspian.dotconf.net/menu/Software/SendEmail/</p>
<p>安装<br />
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz<br />
tar zxvf sendEmail-v1.55.tar.gz<br />
mv sendEmail-v1.55/sendEmail /usr/local/bin/</p>
<p>发送邮件的示例：<br />
sendEmail -f nagios@test.com -t admin@test.com -s smtp.test.com -u "test" -xu nagios@test.com -xp password -m "test."</p>
<p>vi objects/commands.cfg<br />
把 notify-host-by-email 和 notify-service-by-email 的邮件发送部分改为：<br />
<coolcode linenum="off"><br />
/usr/local/bin/sendEmail -f nagios@test.com -t $CONTACTEMAIL$ -s smtp.test.com -u "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" -xu nagios@test.com -xp password<br />
</coolcode></p>
<p>2. 发送 MSN 提醒<br />
这里有个 perl 写的程序：<br />
http://blog.chinaunix.net/u/24312/showart_1076329.html</p>
<p>yum install perl-XML-Simple<br />
yum install perl-Hash-Merge<br />
perl -MCPAN -e 'install Net::MSN'<br />
cd msn<br />
修改一下 hello.pl 的 $handle 和 $password<br />
chmod +x hello.pl</p>
<p>把发送者和接收者互相加为好友，然后发个测试信息试试：<br />
./hello.pl admin@test.com hello</p>
<p>第一次运行时发现这样的错误提示：<br />
could not find ParserDetails.ini in /usr/lib/perl5/vendor_perl/5.8.5/XML/SAX<br />
在这里有相关说明：<br />
http://perl-xml.sourceforge.net/faq/#parserdetails.ini<br />
执行<br />
perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"</p>
<p>mkdir /usr/local/nagios/lib<br />
mv lib /usr/local/nagios/lib/msn<br />
chown -R nagios:nagios /usr/local/nagios/lib</p>
<p>vi msn_send.pl<br />
#!/usr/bin/perl<br />
use lib "/usr/local/nagios/lib/msn";<br />
my $handle = 'nagios@live.cn';<br />
my $password = 'password';</p>
<p>chown nagios:nagios msn_send.pl<br />
chmod +x msn_send.pl<br />
mv msn_send.pl /usr/local/nagios/libexec/</p>
<p>添加 MSN 提醒执行的命令：<br />
vi /usr/local/nagios/etc/objects/commands.cfg<br />
<coolcode linenum="off"><br />
define command{<br />
        command_name    notify-host-by-msn<br />
        command_line    /usr/local/nagios/libexec/msn_send.pl $CONTACTEMAIL$ "`/usr/bin/printf "%b" "***** Monitor *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n"`"<br />
        }</p>
<p>define command{<br />
        command_name    notify-service-by-msn<br />
        command_line    /usr/local/nagios/libexec/msn_send.pl $CONTACTEMAIL$ "`/usr/bin/printf "%b" "***** Monitor *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$"`"<br />
        }<br />
</coolcode></p>
<p>使用中发现，需要回复了才能终止进程，不然 check 就无法继续，而且是所有其它 host 和 service 的 check 都无法继续了。<br />
作者说需要把接收报警的人加为好友，可是的确是加为好友了的。但据说是可以设置超时时间的。</p>
<p>如果有可以运行 PHP 的 Web 服务，用 PHP 发送 MSN 信息是个简单的办法：<br />
http://www.fanatic.net.nz/2005/02/15/send-a-message-using-php/</p>
<p>安装<br />
wget http://downloads.fanatic.net.nz/dev/php/sendMsg.zip<br />
unzip sendMsg.zip<br />
mv sendMsg /path/to/web/dir/msn</p>
<p>配置<br />
默认的验证提交方式需要 ssl 支持，用 curl 的（需要在编译 PHP 时加上 --with-curl ）：<br />
vi sendMsg.php<br />
require_once('msnpauth-1.1.3.php');</p>
<p>发送中文需要先用 iconv 将字符集转为 UTF-8:<br />
vi index.php<br />
$sendMsg->sendMessage(iconv("GBK", "UTF-8", $_POST['message']), 'Times New Roman', '008000');</p>
<p>同样需要把发送者和接收者互相加为好友。<br />
可以先打开 http://server/msn/index.php 测试一下能否发送。如果没有问题，可以写一个脚本来执行 MSN 信息发送命令：<br />
vi /usr/local/nagios/libexec/msn_send.sh<br />
<coolcode lang="cpp" linenum="off"><br />
#!/bin/sh<br />
wget -O - -q --post-data="sender=nagios@live.cn&#038;password=password&#038;recipient=$1&#038;message=$2" http://server/msn/index.php > /dev/null<br />
</coolcode></p>
<p>chmod +x /usr/local/nagios/libexec/msn_send.sh</p>
<p>再把前面设置的 MSN 提醒命令中的 msn_send.pl 改为 msn_send.sh 就可以使用了。</p>
<p>3. 发送 短信 提醒<br />
简单的，在 www.139.com 注册移动的邮箱，设置邮件短信提醒。这样就可以发送邮件的标题到注册的手机号码上。</p>
<p>还有利用飞信实现的：<br />
http://www.it-adv.net/<br />
依赖 glibc-2.4 。 CentOS4/RHEL4, Debian Etch 不能使用。</p>
<p>安装所依赖的库：<br />
tar zxvf lib.tar.gz<br />
mv lib /usr/local/lib/fetion<br />
echo "/usr/local/lib/fetion" > /etc/ld.so.conf.d/fetion-i386.conf<br />
ldconfig</p>
<p>再安装飞信的命令行客户端：<br />
tar zxvf fetion_linux_20080402.tar.gz -C /usr/local/bin/</p>
<p>vi /usr/local/bin/sms.sh<br />
<coolcode lang="cpp" linenum="off"><br />
#!/bin/sh<br />
/usr/local/bin/sms -f 159xxxxxxxx -p password -t $1 -m "$2"<br />
</coolcode></p>
<p>chmod +x /usr/local/bin/sms.sh</p>
<p>和添加 MSN 提醒命令一样添加短信提醒的命令就可以了。</p>
<p>Debian Etch 可以升级到 testing ， glibc 也就更新到 2.4 了。<br />
sed -e 's|etch|testing|g' /etc/apt/sources.list > /etc/apt/sources.list~<br />
mv /etc/apt/sources.list~ /etc/apt/sources.list<br />
apt-get update<br />
apt-get dist-upgrade</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluedata.org/nagios-notification-type/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nagios 札记之三：安装配置 NRPE</title>
		<link>http://blog.bluedata.org/install-setup-nrp/</link>
		<comments>http://blog.bluedata.org/install-setup-nrp/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 07:20:36 +0000</pubDate>
		<dc:creator>bluedata</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[nagios]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=44</guid>
		<description><![CDATA[监控平台上的安装：
先安装 openssl-devel
yum install openssl-devel
Installing for dependencies: e2fsprogs-devel krb5-devel
再安装 NRPE:
tar zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
在 objects/commands.cfg... ]]></description>
			<content:encoded><![CDATA[<p>监控平台上的安装：<br />
先安装 openssl-devel<br />
yum install openssl-devel<br />
Installing for dependencies: e2fsprogs-devel krb5-devel</p>
<p>再安装 NRPE:<br />
tar zxvf nrpe-2.12.tar.gz<br />
cd nrpe-2.12<br />
./configure<br />
make all<br />
make install-plugin</p>
<p>在 objects/commands.cfg 中定义 check_nrpe 使用的命令：<br />
<coolcode linenum="off"><br />
# 'check_nrpe' command definition<br />
define command{<br />
        command_name    check_nrpe<br />
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$<br />
        }<br />
</coolcode></p>
<p>被监控主机的安装：<br />
同样需要安装 openssl-devel<br />
创建 nagios 用户和组<br />
groupadd nagios<br />
useradd -g nagios -d /usr/local/nagios -s /sbin/nologin nagios</p>
<p>先安装 nagios-plugin:<br />
tar zxvf nagios-plugins-1.4.12.tar.gz<br />
cd nagios-plugins-1.4.12<br />
./configure --prefix=/usr/local/nagios<br />
make<br />
make install</p>
<p>再安装 NRPE:<br />
tar zxvf nrpe-2.12.tar.gz<br />
cd nrpe-2.12<br />
./configure<br />
make all<br />
make install-plugin<br />
make install-daemon<br />
make install-daemon-config</p>
<p>chown -R nagios:nagios /usr/local/nagios</p>
<p>配置 NRPE:<br />
vi /usr/local/nagios/etc/nrpe.cfg<br />
allowed_hosts=127.0.0.1,$Nagios监控平台的地址或域名</p>
<p>启动 NRPE 守护进程：<br />
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d<br />
可以将此命令加入 /etc/rc.local ，以便开机自动启动。</p>
<p>检查 NRPE 是否正常：<br />
在被监控主机上<br />
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1<br />
在监控平台上<br />
/usr/local/nagios/libexec/check_nrpe -H $目标主机地址<br />
都应该可以输出 NRPE 的版本： NRPE v2.12</p>
<p>在被监控端的 nrpe.cfg 文件中，可以看到这样的配置：<br />
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20<br />
这是用来检查 CPU 负载的。</p>
<p>这样，就可以在监控平台上定义如下服务来监控被监控端的 CPU 负载了：<br />
<coolcode linenum="off"><br />
define service{<br />
host_name remotehost<br />
service_description check_load<br />
...<br />
check_command check_nrpe!check_load }<br />
</coolcode></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluedata.org/install-setup-nrp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nagios 札记之二：配置</title>
		<link>http://blog.bluedata.org/nagios-setup/</link>
		<comments>http://blog.bluedata.org/nagios-setup/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 04:13:41 +0000</pubDate>
		<dc:creator>bluedata</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[nagios]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=43</guid>
		<description><![CDATA[主配置文件 nagios.cfg 需要更改的地方：
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
interval_length=1  ; 间隔时间基准由 60s 改为 1s
command_check_interval=10s  ; 命令检查时间间隔，-1 表示尽可能频繁的进行... ]]></description>
			<content:encoded><![CDATA[<p>主配置文件 nagios.cfg 需要更改的地方：<br />
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg<br />
interval_length=1  ; 间隔时间基准由 60s 改为 1s<br />
command_check_interval=10s  ; 命令检查时间间隔，-1 表示尽可能频繁的进行检查<br />
date_format=iso8601  ; 日期格式</p>
<p>objects/contacts.cfg 用来定义联系人：<br />
<coolcode linenum="off"><br />
define contact {<br />
contact_name sa<br />
alias System Administrator<br />
service_notification_period 24x7<br />
host_notification_period 24x7<br />
service_notification_options w,u,c,r<br />
host_notification_options d,u,r<br />
service_notification_commands notify-service-by-email<br />
host_notification_commands notify-host-by-email<br />
email admin@test.com<br />
}<br />
</coolcode></p>
<p>再定义联系人组<br />
<coolcode linenum="off"><br />
define contactgroup {<br />
contactgroup_name admins<br />
alias Administrator Group<br />
members sa    ; 添加其它联系人用 "," 分隔<br />
}<br />
</coolcode></p>
<p>主机监控的配置<br />
<coolcode linenum="off"><br />
define host {<br />
host_name host_name    ; 简短的主机名称。<br />
alias alias    ; 别名，可以更详细的说明主机。<br />
address address    ; IP 地址，也可以写主机名。如果不定义这个值， nagio 将会用 host_name 去寻找主机。<br />
parents host_names    ; 上一节点的名称，也就是指从 nagios 服务器到被监控主机之间经过的节点，可以是路由器、交换机、主机等等。<br />
hostgroups hostgroup_names    ; 简短的主机组名称。<br />
check_command command_name    ; 检查命令的简短名称，如果此项留空， nagios 将不会去判断主机是否 alive 。<br />
max_check_attempts 整数    ; 当检查命令的返回值不是 "OK" 时，重试的次数。<br />
check_interval 数字    ; 循环检查的间隔时间。<br />
active_checks_enabled [0/1]    ; 是否启用 "active_checks"<br />
passive_checks_enabled [0/1]    ; 是否启用 "passive_checks" ，及“被动检查”<br />
check_period timeperiod_name    ; 检测时间段简短名称，这只是个名称，具体的时间段要写在其他的配置文件中。<br />
obsess_over_host [0/1]    ; 是否启用主机操作系统探测。<br />
check_freshness [0/1]    ; 是否启用 freshness 检查。freshness 检查是对于启用被动检查模式的主机而言的，其作用是定期检查主机报告的状态信息，如果该状态信息已经过期，freshness 将会强制做主机检查。<br />
freshness_threshold 数字     ; fressness 的临界值，单位为秒。 如果定义为 "0" ，则为自动定义。<br />
event_handler command_name    ; 当主机发生状态改变时，采用的处理命令的简短的名字（可以在 commands.cfg 中对其定义）<br />
event_handler_enabled [0/1]    ; 是否启用 event_handler<br />
low_flap_threshold 数字    ; 抖动的下限值。抖动，即在一段时间内，主机（或服务）的状态值频繁的发生变化。<br />
high_flap_threshold 数字   ; 抖动的上限值。<br />
flap_detection_enabled [0/1]    ; 是否启用抖动检查。<br />
process_perf_data [0/1]    ; 是否启用 processing of performance data<br />
retain_status_information [0/1]    ; 程序重启时，是否保持主机状态相关的信息。<br />
retain_nonstatus_information [0/1]    ; 程序重启时，是否保持主机状态无关的信息。<br />
contact_groups contact_groups    ; 联系人组，在此组中的联系人都会收到主机的提醒信息。<br />
notification_interval 整数    ; 重复发送提醒信息的最短间隔时间。默认间隔时间是 "60" 分钟。如果这个值设置为 "0" ，将不会发送重复提醒。<br />
notification_period timeperiod_name   ; 发送提醒的时间段。非常重要的主机（服务）定义为 24x7 ，一般的主机（服务）就定义为上班时间。如果不在定义的时间段内，无论发生什么问题，都不会发送提醒。<br />
notification_options [d,u,r,f]    ; 发送提醒包括的情况： d = 状态为 DOWN , u = 状态为 UNREACHABLE , r = 状态恢复为 OK , f = flapping<br />
notifications_enabled [0/1]    ; 是否开启提醒功能。"1" 为开启，"0" 为禁用。一般，这个选项会在主配置文件 (nagios.cfg) 中定义，效果相同。<br />
stalking_options [o,d,u]    ; 持续状态检测参数，o = 持续的 UP 状态 , d = 持续的 DOWN 状态 , u = 持续的 UNREACHABLE 状态<br />
}<br />
</coolcode></p>
<p>服务监控的配置<br />
<coolcode linenum="off"><br />
define service {<br />
host_name host_name<br />
service_description service_description<br />
servicegroups servicegroup_names<br />
is_volatile [0/1]<br />
check_command command_name<br />
max_check_attempts<br />
normal_check_interval<br />
retry_check_interval<br />
active_checks_enabled [0/1]<br />
passive_checks_enabled [0/1]<br />
check_period timeperiod_name<br />
parallelize_check [0/1]<br />
obsess_over_service [0/1]<br />
check_freshness [0/1]<br />
freshness_threshold<br />
event_handler command_name<br />
event_handler_enabled [0/1]<br />
low_flap_threshold<br />
high_flap_threshold<br />
flap_detection_enabled [0/1]<br />
process_perf_data [0/1]<br />
retain_status_information [0/1]<br />
retain_nonstatus_information [0/1]<br />
notification_interval<br />
notification_period timeperiod_name n<br />
otification_options [w,u,c,r,f]<br />
notifications_enabled [0/1]<br />
contact_groups contact_groups<br />
stalking_options [o,w,u,c]<br />
}<br />
</coolcode></p>
<p>服务监控的配置和主机监控的配置较为相似，就不一一说明了。</p>
<p>间隔时间的计算方法为：<br />
normal_check_interval x interval_length 秒<br />
retry_check_interval x interval_length 秒<br />
notification_interval x interval_length 秒</p>
<p>主机监控配置的例子<br />
<coolcode linenum="off"><br />
define host {<br />
host_name web1<br />
alias web1<br />
address 192.168.0.101<br />
contact_groups admins<br />
check_command check-host-alive<br />
max_check_attempts 5<br />
notification_interval 0<br />
notification_period 24x7<br />
notification_options d,u,r<br />
}<br />
</coolcode></p>
<p>对主机 web1 进行 24x7 的监控，默认会每 10 秒检查一次状态，累计五次失败就发送提醒，并且不再重复发送提醒。</p>
<p>服务监控配置的例子<br />
<coolcode linenum="off"><br />
define service {<br />
host_name web1<br />
service_description check_http<br />
check_period 24x7<br />
max_check_attempts 3<br />
normal_check_interval 30<br />
contact_groups admins<br />
retry_check_interval 15<br />
notification_interval 3600<br />
notification_period 24x7<br />
notification_options w,u,c,r<br />
check_command check_http<br />
}<br />
</coolcode></p>
<p>配置解释： 24x7 监控 web1 主机上的 HTTP 服务，检查间隔为 30 秒， 检查失败后每 15 秒再进行一次检查，累计三次失败就认定是故障并发送提醒。<br />
联系人组是 admins 。提醒后恢复到 30 秒一次的 normal_check_interval 检查。如果服务仍然没有被恢复，每个小时发送一次提醒。</p>
<p>如果要检测其他服务，例如，要检查 ssh 服务是否开启，更改如下两行：<br />
service_description check_ssh<br />
check_command check_ssh</p>
<p>为方便管理，对配置文件的分布做了如下修改：<br />
nagios.cfg 中增加了：<br />
cfg_dir=/usr/local/nagios/etc/hosts<br />
cfg_dir=/usr/local/nagios/etc/services</p>
<p>在 hosts 目录中，为不同类型的主机创建了配置文件，如： app.cfg cache.cfg mysql.cfg web.cfg<br />
并创建了 hostgroup.cfg 文件对主机进行分组，如：<br />
<coolcode linenum="off"><br />
define hostgroup {<br />
hostgroup_name app-hosts<br />
alias APP Hosts<br />
members app1,app2<br />
}<br />
</coolcode></p>
<p>在 services 目录中创建了各种服务的配置文件，如： disk.cfg http.cfg load.cfg mysql.cfg<br />
并创建了 servicegroup.cfg 文件对服务进行分组，如：<br />
<coolcode linenum="off"><br />
define servicegroup {<br />
servicegroup_name disk<br />
alias DISK<br />
members cache1,check_disk,cache2,check_disk<br />
}<br />
</coolcode></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluedata.org/nagios-setup/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nagios 札记之一：安装</title>
		<link>http://blog.bluedata.org/nagios-install/</link>
		<comments>http://blog.bluedata.org/nagios-install/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 14:42:39 +0000</pubDate>
		<dc:creator>bluedata</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[nagios]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=42</guid>
		<description><![CDATA[下载所需软件：
http://www.nagios.org/download/
创建 nagios 用户和组
groupadd nagios
useradd -g nagios -d /usr/local/nagios -s /bin/bash nagios
创建一个 nagcmd 组用于从 Web 接口执行外部命令，并将 nagios 用户和 Apache 用... ]]></description>
			<content:encoded><![CDATA[<p>下载所需软件：<br />
http://www.nagios.org/download/</p>
<p>创建 nagios 用户和组<br />
groupadd nagios<br />
useradd -g nagios -d /usr/local/nagios -s /bin/bash nagios</p>
<p>创建一个 nagcmd 组用于从 Web 接口执行外部命令，并将 nagios 用户和 Apache 用户都加到这个组中<br />
groupadd nagcmd<br />
usermod -G nagcmd nagios<br />
usermod -G nagcmd nobody</p>
<p>tar zxvf nagios-3.0.3.tar.gz<br />
cd nagios-3.0.3<br />
./configure \<br />
--prefix=/usr/local/nagios \<br />
--with-command-group=nagcmd</p>
<p>make all</p>
<p>make install<br />
make install-init<br />
make install-config<br />
make install-commandmode</p>
<p>安装 Nagios 的 WEB 配置文件到 Apache 的 /etc/httpd/conf.d 目录下<br />
make install-webconf</p>
<p>如果是编译安装的 Apache ，可以手动添加一下配置<br />
cat sample-config/httpd.conf >> /usr/local/apache/conf/httpd.conf</p>
<p>创建 Nagios Web 接口登录的用户<br />
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin</p>
<p>确认加载了 cgi_module 和 alias_module ，然后重启 Apache<br />
service httpd restart</p>
<p>安装 Nagios 插件<br />
tar zxvf nagios-plugins-1.4.12.tar.gz<br />
cd nagios-plugins-1.4.12<br />
./configure \<br />
--prefix=/usr/local/nagios \<br />
--with-nagios-group=nagcmd</p>
<p>make<br />
make install</p>
<p>添加 nagios 服务<br />
chkconfig --add nagios<br />
chkconfig nagios on</p>
<p>检查配置文件是否有错误<br />
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg</p>
<p>启动<br />
service nagios start</p>
<p>通过 http://IP/nagios 输入用户名密码就可以打开 nagios 的页面了。<br />
此时还只能简单的查看 localhost 的状态。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluedata.org/nagios-install/feed/</wfw:commentRss>
		</item>
		<item>
		<title>用 MySQL-Proxy 实现 MySQL 主从模式下的读写分离</title>
		<link>http://blog.bluedata.org/mysql-proxy-rw-splitting/</link>
		<comments>http://blog.bluedata.org/mysql-proxy-rw-splitting/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 14:48:51 +0000</pubDate>
		<dc:creator>bluedata</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[Redhat/CentOS]]></category>

		<category><![CDATA[daemontools]]></category>

		<category><![CDATA[mysql-proxy]]></category>

		<category><![CDATA[supervise]]></category>

		<category><![CDATA[读写分离]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=41</guid>
		<description><![CDATA[准备所需的软件：
读写分离脚本是由 lua 语言编写的，需要安装 lua
http://www.lua.org/
下载适合的 MySQL-Proxy 版本
http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/
安装依赖的库：
yum -y install readline-devel
Inst... ]]></description>
			<content:encoded><![CDATA[<p>准备所需的软件：<br />
读写分离脚本是由 lua 语言编写的，需要安装 lua<br />
http://www.lua.org/<br />
下载适合的 MySQL-Proxy 版本<br />
http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/</p>
<p>安装依赖的库：<br />
yum -y install readline-devel<br />
Installing for dependencies: libtermcap-devel</p>
<p>安装 lua:<br />
tar zxvf lua-5.1.3.tar.gz<br />
cd lua-5.1.3<br />
make linux<br />
make install</p>
<p>安装 MySQL-Proxy:<br />
tar zxvf mysql-proxy-0.6.1-linux-rhel4-x86-32bit.tar.gz<br />
cd mysql-proxy-0.6.1-linux-rhel4-x86-32bit<br />
mv sbin/mysql-proxy /usr/local/sbin/<br />
mv share/mysql-proxy /usr/local/share/<br />
strip /usr/local/sbin/mysql-proxy</p>
<p>创建一个启动脚本，方便管理：<br />
vi /etc/init.d/mysql-proxy<br />
<coolcode lang="cpp" linenum="off"><br />
#!/bin/sh<br />
export LUA_PATH=/usr/local/share/mysql-proxy/?.lua</p>
<p>case "$1" in<br />
    start)<br />
        /usr/local/sbin/mysql-proxy --daemon \<br />
        --proxy-address=:3306 \<br />
        --proxy-backend-addresses=192.168.0.9:3306 \<br />
        --proxy-read-only-backend-addresses=192.168.0.10:3307 \<br />
        --proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua<br />
        ;;<br />
    stop)<br />
        killall mysql-proxy<br />
        ;;<br />
    *)<br />
        echo "Usage: mysql-proxy {start|stop}"<br />
        exit 1<br />
esac<br />
</coolcode></p>
<p>chmod +x /etc/init.d/mysql-proxy</p>
<p>参数解释：<br />
--proxy-address=:3306  代理监听在本机所有 IP 的 3306 端口。<br />
--proxy-backend-addresses=192.168.0.9:3306  写入操作连接 master - 192.168.0.9 的 3306 端口。<br />
--proxy-read-only-backend-addresses=192.168.0.10:3307  读取操作连接 slave - 192.168.0.10 的 3307 端口。<br />
--proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua  使用的读写分离脚本。</p>
<p>因为 MySQL-Proxy 还是 Alpha 版的，实际使用中并不稳定，运行一段时间后 mysql-proxy 的进程就会死掉。<br />
所以，用 daemontools 来管理 mysql-proxy 进程比较保险。</p>
<p>在 Redhat 9 和 CentOS 3.x 上用源码编译安装 daemontools 是可以的，但在 CentOS 4.x 上就不行了。<br />
可以下载 RPM 包安装：<br />
http://www.qmail.org/rpms/daemontools.html<br />
http://untroubled.org/supervise-scripts/</p>
<p>wget http://www.qmail.org/rpms/RPMS/daemontools-0.76-112memphis.i386.rpm<br />
wget http://untroubled.org/supervise-scripts/supervise-scripts-3.5-1.noarch.rpm</p>
<p>rpm -Uvh daemontools-0.76-112memphis.i386.rpm supervise-scripts-3.5-1.noarch.rpm</p>
<p>注意：<br />
Daniel J. Bernstein 的软件包不是依照 FHS(Filesystem Hierarchy Standard) 标准创建的。<br />
rpm -ql daemontools 可以看到那“怪异”的文件分布状况。</p>
<p>安装 supervise-scripts 包会在 /etc/inittab 的 si::sysinit:/etc/rc.d/rc.sysinit 行下添加如下两行：<br />
SV:2345:respawn:/usr/bin/svscan-start /service<br />
SX:S016:wait:/usr/bin/svscan-stopall /service</p>
<p>重新检查 /etc/inittab 文件：<br />
telinit q</p>
<p>应该可以看到 svscan 进程了：<br />
ps -ef | grep svscan<br />
root      2269     1  0 21:25 ?        00:00:00 svscan /service</p>
<p>创建 mysql-proxy 运行脚本：<br />
mkdir /service/mysql-proxy<br />
vi /service/mysql-proxy/run<br />
<coolcode lang="cpp" linenum="off"><br />
#!/bin/sh<br />
export LUA_PATH=/usr/local/share/mysql-proxy/?.lua<br />
/usr/local/sbin/mysql-proxy \<br />
--proxy-address=:3306 \<br />
--proxy-backend-addresses=192.168.0.9:3306 \<br />
--proxy-read-only-backend-addresses=192.168.0.10:3307 \<br />
--proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua<br />
</coolcode></p>
<p>chmod 755 /service/mysql-proxy/run</p>
<p>马上就可以看到 mysql-proxy 进程被启动了，并且是由 supervise 管理的：<br />
<coolcode linenum="off"><br />
ps -ef | grep mysql-proxy<br />
root      2309  2269  0 21:27 ?        00:00:00 supervise mysql-proxy<br />
root     29442 29441 32 21:27 ?        00:00:00 /usr/local/sbin/mysql-proxy --proxy-address=:3306 --proxy-backend-addresses=192.168.0.9:3306 --proxy-read-only-backend-addresses=192.168.0.10:3307 --proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua<br />
</coolcode></p>
<p>杀死 mysql-proxy 进程再查看：<br />
<coolcode linenum="off"><br />
killall mysql-proxy<br />
ps -ef | grep mysql-proxy<br />
root      2309  2269  0 21:27 ?        00:00:00 supervise mysql-proxy<br />
root     29640 29639 36 21:31 ?        00:00:01 /usr/local/sbin/mysql-proxy --proxy-address=:3306 --proxy-backend-addresses=192.168.0.9:3306 --proxy-read-only-backend-addresses=192.168.0.10:3307 --proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua<br />
</coolcode></p>
<p>可以看到，mysql-proxy 进程依然还在，不过 PID 已经变了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluedata.org/mysql-proxy-rw-splitting/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CentOS 安装过程中使用 softraid 和 LVM</title>
		<link>http://blog.bluedata.org/centos-install-with-softraid-lvm/</link>
		<comments>http://blog.bluedata.org/centos-install-with-softraid-lvm/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 06:30:14 +0000</pubDate>
		<dc:creator>bluedata</dc:creator>
		
		<category><![CDATA[Redhat/CentOS]]></category>

		<category><![CDATA[centos]]></category>

		<category><![CDATA[grub]]></category>

		<category><![CDATA[lvm]]></category>

		<category><![CDATA[mdadm]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/centos-install-with-softraid-lvm/</guid>
		<description><![CDATA[磁盘分区设置开始时 Alt+F2 切换到 shell 进行如下操作：
fdisk /dev/sda
分两个主分区， sda1 100M ，剩下的全给 sda2 ，并且把分区类型都设为 fd
/dev/sdb 也做同样操作。 
创建 RAID1
mdadm -C /dev/md0 -l1 -n2 -c... ]]></description>
			<content:encoded><![CDATA[<p>磁盘分区设置开始时 Alt+F2 切换到 shell 进行如下操作：<br />
fdisk /dev/sda<br />
分两个主分区， sda1 100M ，剩下的全给 sda2 ，并且把分区类型都设为 fd<br />
/dev/sdb 也做同样操作。 </p>
<p>创建 RAID1<br />
mdadm -C /dev/md0 -l1 -n2 -c128 /dev/sd[a,b]1<br />
mdadm -C /dev/md1 -l1 -n2 -c128 /dev/sd[a,b]2</p>
<p>创建 VG<br />
lvm pvcreate /dev/md1<br />
lvm vgcreate vg0 /dev/md1</p>
<p>然后 Alt+F1 切换回安装界面继续使用 Disk Druid 进行分区操作：<br />
编辑 /dev/md0 ，格式化为 ext3 ，挂载点设为 /boot<br />
在 vg0 上添加逻辑卷挂载根 swap 及其它目录。</p>
<p>安装完成进入系统后执行如下操作：<br />
grub<br />
> device (hd0) /dev/sda<br />
> root (hd0,0)<br />
> setup (hd0)<br />
> device (hd1) /dev/sdb<br />
> root (hd1,0)<br />
> setup (hd1)</p>
<p>如果不能引导，重新用光盘引导系统， linux rescue 进入修复模式执行以上操作。</p>
<p>更换从盘 sdb ：<br />
进入系统后执行 fdisk /dev/sdb ，创建和安装系统时一样的分区结构。</p>
<p>然后重新加入 RAID<br />
mdadm /dev/md0 --add /dev/sdb1<br />
mdadm /dev/md1 --add /dev/sdb2</p>
<p>再把 grub 写入 MBR<br />
grub<br />
> device (hd1) /dev/sdb<br />
> root (hd1,0)<br />
> setup (hd1)</p>
<p>更换主盘 sda 需要互换 sda 和 sdb 的数据线接口再进行上述操作。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluedata.org/centos-install-with-softraid-lvm/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
