婉兮清扬

案上诗书杯中酒之快意人生

Ubuntu 12.04配置GFS2

发表时间:2013-06-15 20:02:04
简单地作个笔记。

测试环境包含三台服务器。其中一台服务器配置iSCSI TGT山寨一个IP SAN服务,将一块本地硬盘通过iSCSI协议暴露给所有的服务器。三台服务器均通过openi-scsi发现山寨IP SAN所提供的iSCSI存储。具体的配置方法可以参见《在Ubuntu 12.04上配置iSCSI Target服务》一文。

安装GFS2软件:


sudo apt-get install gfs2-utils gfs2-cluster


修改配置文件/etc/cluster/cluster.conf,内容如下(需要根据你的配置替换掉配置文件中的主机名)。












在所有的服务器上启动cman和gfs2-cluster服务:


sudo chkconfig cman on
sudo chkconfig gfs2-cluster on
sudo /etc/init.d/cman restart
sudo /etc/init.d/gfs2-cluster restart


可以通过cman_tool命令查看集群中的节点:


$ sudo cman_tool nodes
Node Sts Inc Joined Name
1 M 12 2013-06-15 16:53:35 node01
2 M 12 2013-06-15 16:53:35 node02
3 M 4 2013-06-15 16:53:35 node03


在iSCSI TGT服务器上将通过iSCSI协议暴露出去的硬盘上创建一个分区,并格式化为GFS2文件系统(假设该分区所对应的设备名为/dev/sdc1)。在下面的命令中,-p lock_dlm参数指定使用lock_dlm作为文件系统的加锁机制;-t myGfs2:mydisk参数中的myGfs2是集群的名称,需要与/etc/cluster/cluster.conf中的设置相同,mydisk则是文件系统的标签;-j 16参数指定为该文件系统所创建的日志的份数为16,由于每一个节点需要一份日志,所以该参数也限定了最多可以同时有16个节点挂载同一块磁盘。


sudo mkfs.gfs2 -p lock_dlm -t myGfs2:mydisk -j 16 /dev/sdc1


在所有的服务器上挂载对应的分区到/data目录:


sudo mkdir /data
sudo mount -t gfs2 /dev/sdc1 /data


也可以将对应的配置写入/etc/fstab文件,以便在操作系统启动时自动挂载:


/dev/sdc1 /data gfs2 _netdev 0 0


可以通过gfs_control命令来查看一些基本的相关信息:


$ sudo gfs_control -n ls
gfs mountgroups
name mydisk
id 0x48e6326b
flags 0x00000008 mounted
change member 3 joined 1 remove 0 failed 0 seq 1,1
members 1 2 3
all nodes
nodeid 1 jid 0 member 1 failed 0 start 1 seq_add 1 seq_rem 0 mount done
nodeid 2 jid 1 member 1 failed 0 start 1 seq_add 1 seq_rem 0 mount done
nodeid 3 jid 2 member 1 failed 0 start 1 seq_add 1 seq_rem 0 mount done


下面利用iozone来对在GFS2上运行虚拟机的文件IO性能做一个简单的测试。在这个测试中,将存储节点A 本地磁盘上的一个分区通过iSCSI TGT服务暴露给所有的服务器,并在此基础上配置GFS2集群文件系统,虚拟机实例运行在计算节点B 上,其磁盘映像文件存放在GFS2上。存储服务器和计算节点的配置都是单颗4 核处理器(Intel(R) Core(TM) i5-3330S CPU @ 2.70GHz),8 GB内存,750GB的7200转SATA硬盘,千兆网卡,运行64位Ubuntu 12.04服务器版+KVM进行虚拟化。虚拟机的配置为2 个处理器核,4 GB内存,10 GB磁盘,运行64位Ubuntu 12.04服务器版,磁盘和网卡都启用了virtio,并且设置虚拟机磁盘缓存参数为cache=”none”。

在我的前一篇博客文章《Ubuntu 12.04配置OCFS2》中对在NFS和OCFS2上分别运行虚拟机的文件IO性能做了一些类似的测试,在这里将NFS、GFS2和OCFS2的测试结果综合如下:










测试环境writerewritereadreread
存储节点 | 本地硬盘12268411932685646098792814
计算节点 | NFS6318466472953226738489
计算节点 | OCFS275547821151758727654664
计算节点 | GFS2611916456189503669134438
虚拟机 | NFS3667826711160948163411
虚拟机 | OCFS25925160797140720148803
虚拟机 | GFS25718158439147742172711


从这个非常粗糙的测试可以看出,在没有进行任何性能调优的情况下,GFS2和OCFS2的文件IO性能是类似的,都比NFS要好许多。OCFS2的性能似乎比GFS2好一点点,但是优势并不是十分明显。

回头找个强悍一点的FC SAN做个更加详细的测试看看结果。
上一篇 下一篇

发表时间:2014-04-29 10:25:57    评论者:yh

您好,想咨询您一个问题,我这边有三台xenserver 6.2的物理机 ,连接FC共享存储 ,现在xenserver上面有几台虚机,通过lvs组成集群,这几台虚机能否直接去连接FC共享存储中的特定LUN,就类似NFS。(我使用了RawHBA,使得VM可以直接访问LUN,但是无法共享访问)

 
姓名:
评论:

请输入下面这首诗词的作者姓名。

白日依山尽,黄河入海流。
欲穷千里目,更上一层楼。

答案:

云与清风常拥有,
冰雪知音世难求。
击节纵歌相对笑,
案上诗书杯中酒。

蒋清野
2000.12.31 于 洛杉矶