nfs的建立
为了将来方便使用lvm的方式创建
fdisk /dev/sda 创建2个分区,然后把它们创建成逻辑卷的方式
这里只要注意两点别忘即可,一是注意给出分区类型,二是注意被忘记分完去后,记住使用partprobe命令.
我们这里创建的是/dev/sda5和/dev/sda6
下面就是创建lvm了.
pvcreate /dev/sda{5,6} 注意用这种短格式,linux总是这样,很好.
vgcreate myvg /dev/sda{5,6}
lvcreate -n mydata -L 20G myvg 注意这里的20G刚才规划的容量
下面的步骤就是格式化这个逻辑卷.
mke2fs -j /dev/myvg/mydata
因为我们这个是nfs共享存储,因此我们必须把它挂载到一个目录下,然后还要把它共享出去,让另外两个高可用的mysql服务器能够访问他,当然这个共享的目录必须要让mysql用户访问他时有读写权限,否则的话人家怎么读写你里面的数据,这里我们必须明确,这三个的用户id必须一样.因此下面这一步先创建
在nfs服务器上 mkdir /sharedata
在另外两个服务器各自创建用户
useradd -r -u 300 mysql (这里只要注意,三个服务器上的id ,用户必须一样)
接下来先挂载nfs上的共享目录到lvm上.
mount /dev/myvg/mydata /shareddata 而且要让他下次开机时自动挂载,因此需要在/etc/fstab文件中添加下边这一行.
/dev/myvg/mydata /sharedata ext3 defaults 0 0
chown -R mysql.mysql /sharedata
接下来的动作就是要让这个共享的目录共享出来,让人家能够访问得到
vim /etc/exports 在里边写入下边这一行即可
/sharedata 172.16.100.11(rw,no_root_squash) 172.16.100.12(rw,no_root_squash)
启动nfs服务
service nfs start
chkconfig nfs on
iptables -L (察看iptables有没有组织这个共享)
接下来的动作就很顺理成章就是在两个mysql服务器上安装mysql数据库,当然首先你得知道mysql包哪里有,然后下载到你本机,然后还要解压哈哈.怎么解压,你问我怎么解压,你可以找个地方去撞墙了.
tar xf mysql-5.5.24-linux2.6-i686.tar.gz -C /usr/local
cd /usr/local
ln -sv mysql-5.5.24-linux2.6-i686 mysql
su -mysql (这里一定要注意,我们登陆使用的是root,但是它为了保证数据库的安全,系统自动把以root用户的身份登陆的映射成了nobodyyonghu,如果我们不这个步骤,下边的命令便不能用.)
cd mysql
chown -R mysql.mysql .
scripts/mysql_install_db --user=mysql --datadir=/data/mydata
chown-R root .
cp support-files/my-large.cnf /etc/my.cnf
打开这个配置文件,然后稍作修改就行
thread_concurrency = 2 默认是8,然后在他下面加一行
datadir = /data/mydata 注意各个语法,=号前后都有空格.
然后就是把启动脚本放到启动的地方
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
别忘了给他个权限 chmod+x /etc/rc.d/init.d/mysql
/etc/rc.d/init.d/mysqld start
以上的操作仅仅是在一台mysql服务器上的操作,下边是在另一台服务器上的操作步骤,略有不同.
当然首先得解压mysql软件
tar xf mysql-5.5.24-linux2.6-i686.tar.gz -C /usr/local
cd /usr/local (注意这里进入的是这个目录)
ln -sv mysql-5.5.24-linux2.6-i686 mysql
cd mysql
改变属主和属组 chown -R root:mysql .
cp support-files/my-large.cnf /etc/my.cnf
vim /etc/my.cnf(该同样的两个地方)
cp suppot-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
接下来就是挂在nfs这个共享出来的目录/sharedata.
以上作的也只是一个阶段,接下来我们进行下一个阶段.
下面就是关于高可用方面的资源的相关配置
crm 首先进入配置的地方
configure
primitive vip ocf:heartbeat:IPaddr params ip=172.16.100.1
commit
primitive mynfs (注释:这是给起的名字) ocf:heartbeat:filesystem params device="172.16.100.21:/shareda" diretory="/data/mydata" fstype="nfs" op start timeout=60s stop timeout=60s
commit
下边就是定义约束
primitive mysql lsb:mysqld
colocation mysql_with_mynfs inf:mysql(这一步骤是说明mysql 必须要和mynfs在一起)
commit
mysql 一定要在nfs后启动,因此要定义约束来实现这一个要求.
order mysql_after_mynfs mandatory: mynfs mysql
commit
整个完成