*nix相关

[DRBD新手上路] -- 测试

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

技术相关:

[DRBD新手上路] -- 节点切换

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

技术相关:

[DRBD新手上路] -- 启动DRBD

4. 启动

4.1. 启动drbd

准备启动之前,需要分别在2个主机上的 /dev/sdc1 分区上创建相应的元数据保存的数据块:

[root@s1.yejr.com ~]# drbdadm create-md db
[root@s2.yejr.com ~]# drbdadm create-md db

技术相关:

[DRBD新手上路] -- 配置

3. 配置

编辑配置文件,2个主机上的内容一样。

[root@s1.yejr.com drbd-8.2.5]# vi /etc/drbd.conf
global {
}

#设定同步速率
common {
  syncer { rate 100M; }
}

技术相关:

[DRBD新手上路] -- 安装

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

技术相关:

[DRBD新手上路] -- 简介

1. 简介

DRBD由PhilippReisner and LarsEllenberg 开发维护,它是基于Linux系统下的块复制分发设备。它可以让你把本地磁盘镜像复制到远程主机上。把它加上心跳(heartbeat,HB)功能,就可以构建Linux下的高可用(HA)集群环境。DRBD也可以成为网络RAID-1,当数据写入本地文件系统时,数据还将会发送到网络中另一台主机上,以相同的形式记录在该主机的文件系统中。

本地(主节点,primary)与远程主机(备节点,secondary)的数据可以保证实时同步。当本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用。其实DRBD就类似MySQL里的复制(replication),一主一从,主负责读写数据,从只能读数据;在主发生故障时,从切换成主,继续读写数据。

在高可用(HA)中使用DRBD功能,可以代替使用一个共享盘阵。因为数据同时存在于本地主机和远程主机上,切换时,远程主机只要使用它上面的那份备份数据,就可以继续进行服务了。
DRBD的工作原理如下图:

技术相关:

DRBD新手上路

目录:

技术相关:

while循环中碰到ssh的话,如何避免退出

先看一个例子:

#!/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

技术相关:

/proc/kcore是什么文件?

原文: 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

技术相关:

FreeBSD 6 手動編譯 MySQL5 (最佳化)(ZT)

原文出自: 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

性能調整:

技术相关:

页面

Subscribe to RSS - *nix相关