Submitted by yejr on 周二, 2008/03/25 - 21:41
5. 测试
我们先在primary节点上写入数据:
[root@s1.yejr.com ~]# cp mysql-6.0.3.tar.gz /data/
[root@s1.yejr.com ~]# ls –l /data/
………
-rw-r--r-- 1 root root 56857784 Mar 13 16:41 mysql-6.0.3-alpha-linux-x86_64-glibc23.tar.gz
Submitted by yejr on 周二, 2008/03/25 - 21:39
4.2. 节点切换
我们来演示一下主节点挂掉,然后重新恢复连接的情况。这里我们已经事先设定好 s1.yejr.com 为 primary 节点了。
[root@s1.yejr.com ~]# ifdown eth1
[root@s1.yejr.com ~]# cat /proc/drbd
version: 8.2.5 (api:88/proto:86-88)
GIT-hash: 9faf052fdae5ef0c61b4d03890e2d2eab550610c build by root@s1.yejr.com, 2008-03-11 17:09:17
0: cs:StandAlone st:Primary/Unknown ds:UpToDate/DUnknown r---
[root@s1.yejr.com ~]# drbdadm state db
Primary/Unknown
Submitted by yejr on 周二, 2008/03/25 - 21:36
4. 启动
4.1. 启动drbd
准备启动之前,需要分别在2个主机上的 /dev/sdc1 分区上创建相应的元数据保存的数据块:
[root@s1.yejr.com ~]# drbdadm create-md db
[root@s2.yejr.com ~]# drbdadm create-md db
Submitted by yejr on 周二, 2008/03/25 - 21:31
3. 配置
编辑配置文件,2个主机上的内容一样。
[root@s1.yejr.com drbd-8.2.5]# vi /etc/drbd.conf
global {
}
#设定同步速率
common {
syncer { rate 100M; }
}
Submitted by yejr on 周二, 2008/03/25 - 21:29
2. 安装
2.1. 准备
本试验环境共有2个主机,其IP分别为:
drbd 主机列表 |
IP 地址 |
主机名 |
主机1(primary) |
10.168.115.250 |
s1.yejr.com |
主机2(secondary) |
10.168.115.251 |
s2.yejr.com |
Submitted by yejr on 周二, 2008/03/25 - 21:17
1. 简介
DRBD由PhilippReisner and LarsEllenberg 开发维护,它是基于Linux系统下的块复制分发设备。它可以让你把本地磁盘镜像复制到远程主机上。把它加上心跳(heartbeat,HB)功能,就可以构建Linux下的高可用(HA)集群环境。DRBD也可以成为网络RAID-1,当数据写入本地文件系统时,数据还将会发送到网络中另一台主机上,以相同的形式记录在该主机的文件系统中。
本地(主节点,primary)与远程主机(备节点,secondary)的数据可以保证实时同步。当本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用。其实DRBD就类似MySQL里的复制(replication),一主一从,主负责读写数据,从只能读数据;在主发生故障时,从切换成主,继续读写数据。
在高可用(HA)中使用DRBD功能,可以代替使用一个共享盘阵。因为数据同时存在于本地主机和远程主机上,切换时,远程主机只要使用它上面的那份备份数据,就可以继续进行服务了。
DRBD的工作原理如下图:
Submitted by yejr on 周一, 2007/11/26 - 15:54
先看一个例子:
#!/bin/sh
. /root/.bash_profile
cat /home/yejr/alldb|while read LINE
do
#取得IP和组号
IP=`echo $LINE | awk '{print $1}'`
NU=`echo $LINE | awk '{print $2}' | awk -F '-' '{print $1}'`
cnt=`ssh root@$IP "mysql -e 'select count(*) from yejr.tbl1'|tail -n 1"`
echo "$IP $NU $cnt"
done
看起来没有问题吧,实际上,执行的时候只循环了一次,就退出while循环了,为什么呢?
这是因为ssh需要从输入终端来读取数据,在第一次循环时ssh就把 read 读到的数据也给读取了,相当于是被他"吃"了.
解决办法是,指定 ssh 的输入终端,有3种方法:
ssh -f
Submitted by yejr on 周二, 2007/11/06 - 11:08
原文: http://unixguide.net/linux/faq/04.16.shtml
/proc/kcore is like an "alias" for the memory in your computer. Its
size is the same as the amount of RAM you have, and if you read it as
a file, the kernel does memory reads.
如果内核不能识别全部内存,即"ll /proc/kcore"(查看kcore的真实大小:du -h /proc/kcore)后显示的大小不等于实际的物理内存大小,可以用 cat /proc/meminfo 命令来校验.如果所显示的数量与系统的物理内存不同,则在 /boot/grub/grub.conf 文件中添加:
mem=xxM
Submitted by yejr on 周一, 2007/09/03 - 17:02
原文出自: http://www.pczone.com.tw/vbb3/archive/t-121574.html
今天看到的文章 , 改天打算再來 Compile 一次
原文來自:
http://www.hshh.org/index.php?id=26
------------------------------------------------------------------
根據 FreeBSD maillist、google 獲知 libthr 這樣1:1 的線程庫比較適合 MySQL 運行。
編譯參數:
預設啟用archive類型儲存格式,啟用支持大表,啟用OpenSSL支持,預設使用thr線程庫
./configure --prefix=/usr/local/mysql --without-debug --without-bench --enable-thread-safe-client --enable-assembler --with-extra-charsets=complex --with-named-thread-libs='-lthr' --with-archive-storage-engine --with-big-tables --with-openssl
# gmake all install-strip
性能調整:
页面
最近评论