clients ---> www.xxx.com
|
----------------------
| |
web1 ... web2 <---- iscsi客户端/gnbd客户端
|--------------------|
|
share storage <--- iscsi / gnbd
准备:
静态IP和FQDN主机名,hosts(必须)
同步时间
存储 node1.upl.com 1.1.1.128
web1 node2.upl.com 1.1.1.129
web2 node3.upl.com 1.1.1.130
iscsi存储端的搭建:略
存储客户端的搭建: web1,web2
1、把存储登录回来
保证:各个客户端节点共享的存储是同一个
2、为了使用集群文件系统,必须把集群环境搭建起来,确定节点间的关系是互为集群成员。
# yum groupinstall "Clustering" "Cluster Storage" -y
3、配置集群
只需要在其中一个成员节点中去完成配置,然后把相应的配置文件同步到剩余其他成员节点。
# system-config-cluster &
1)集群名字
不能和同一个网络中其他集群具有相同的名字,否则会相互干扰。
2)加入集群节点
把node2.upl.com, node3.upl.com加入到该集群。
保存退出
/etc/cluster/cluster.conf
同步配置文件
# rsync -alvR /etc/cluster/cluster.conf 1.1.1.130:/
3)启动集群,正式建立成员之间的关系。
# service cman start 《---两边依次紧跟着启动
查看集群的状态信息
# cman_tool status
Version: 6.2.0
Config Version: 2
Cluster Name: web_storage1543
Cluster Id: 615
Cluster Member: Yes
Cluster Generation: 8
Membership state: Cluster-Member
Nodes: 2
Expected votes: 1
Total votes: 2
Quorum: 1
Active subsystems: 7
Flags: 2node Dirty
Ports Bound: 0
Node name: node2.upl.com
Node ID: 1
Multicast addresses: 239.192.2.105
Node addresses: 1.1.1.129
4、建立集群文件系统: gfs / gfs2
1)软件
# yum install kmod-gfs gfs-utils gfs2-utils -y
2)加载gfs驱动模块
# modprobe gfs2 《--- modprobe gfs
# chkconfig gfs2 on
3)格式化(只需要在其中一个节点去执行)
建议:进到Bois把软驱禁用,不然有些时候格式化出错或者等待好长时间
# mkfs.gfs2 -p lock_dlm -t web_storage1543:gfs2 -j 2 /dev/mapper/iscsi_webdatap1
Are you sure you want to proceed? [y/n] y
Device: /dev/mapper/iscsi_webdatap1
Blocksize: 4096
Device Size 2.80 GB (732957 blocks)
Filesystem Size: 2.80 GB (732955 blocks)
Journals: 2
Resource Groups: 12
Locking Protocol: "lock_dlm"
Lock Table: "web_storage1543:gfs2"
UUID: 5537948D-A3BE-9744-5A10-150F0661364A
4) 挂载使用,验证集群文件系统的特性
# mount /dev/mapper/iscsi_webdatap1 /mnt
下次重启需要怎么?
1、确定iscsi目标已经登录
service iscsi start
如果是多路径,还得确定:
service multipathd start
2、service cman start
3、
modprobe gfs2
4、挂载
停止使用gfs
1、umount /mnt
无法卸载: # umount -f -i /mnt
2、service cman stop
无法停止服务:
# cman_tool leave force
# service cman stop
====================================
使用gnbd实现clvm+gfs2
clients ---> www.xxx.com
|
----------------------
| |
web1 ... web2 <---- gnbd客户端
|--------------------|
|
share storage <--- gnbd服务器
一、建立集群环境
1、搭建集群环境
该集群有三位成员: storage,web1,web2
同步配置文件到其余节点
2、启动集群,确定集群节点间关系
二、搭建gnbd服务端存储
1、集群模式启动gnbd服务
# gnbd_serv
gnbd_serv: startup succeeded
2、导出设备
考虑是否需要把gnbd服务器也加入集群?
-c cache 可加入可不加
uncached
不起用Linux页面,必须加入集群
如果是存在多路径,也不能使用cache
# gnbd_export -v -e gnbdstorage -c -d /dev/sda5
# gnbd_export -v -l
Server[1] : gnbdstorage
--------------------------
file : /dev/sda5
sectors : 5879727
readonly : no
cached : yes
timeout : no
三、客户端导入设备
# modprobe gnbd
# gnbd_import -v -i 1.1.1.128
# gnbd_import -v -l
Device name : gnbdstorage
----------------------
Minor # : 0
sysfs name : /block/gnbd0
Server : 1.1.1.128
Port : 14567
State : Close Connected Clear
Readonly : No
Sectors : 5879727
四、使用clvm
前提:确保cman服务已经启动
1、集群下所有节点都必须启动集群版本的lvm
# lvmconf --enable-cluster
# service clvmd start
2、创建逻辑卷
在web1或者web2上执行
# pvcreate /dev/gnbd/gnbdstorage
# vgcreate gnbdvg /dev/gnbd/gnbdstorage
# vgs
VG #PV #LV #SN Attr VSize VFree
gnbdvg 1 0 0 wz--nc 2.80G 2.80G
^^
# lvcreate -n gnbdlv -L 2G gnbdvg
五、建立gfs文件系统
1、modprobe gfs2
2、格式化
# mkfs.gfs2 -p lock_dlm -t gnbd5213:gfs2 -j 2 /dev/gnbdvg/gnbdlv
要求搭建rpm包的lamp环境,然后搭建一个phpwind论坛
# yum install httpd httpd-devel php php-common php-mysql
# mkdir /wwwroot
# mount /dev/gnbdvg/gnbdlv /wwwroot
解压phpwind到/wwwroot
向导连接其中一个web节点,进行安装。
需要一台独立mysql服务器
建立独立的数据库和一个允许远程访问的帐号,授予它访问该数据库的所有权限
Red_Hat_Enterprise_Linux-5-Cluster_Suite_Overview-zh-CN.pdf
Red_Hat_Enterprise_Linux-5-Global_Network_Block_Device-zh-CN.pdf