[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

目的

本文档旨在提供首次安装 GlusterFS 的逐步指引。在这个教程内,我们会假设你采用 CentOS(其它发行版本及方法已收录在下列的新用户指南)。我们亦不会详细解释每个步骤,此指南是要协助你尽快开始运作。当你按这些步骤完成 GlusterFS 的部署后,我们推荐你阅读 GlusterFS Admin Guide 学习如何管理 GlusterFS 及如何选择迎合你需要的扇区类型。有关下列步骤的深入解释,请阅读 GlusterFS New User Guide。我们盼望你能在最短时间内成功。

如果你需要更详细的指引,包括不同的安装方法(虚拟计算机、ECS2 及实体硬件)和针对不同发行版本的说明,请参阅 GlusterFS 的入门指南

1. 采用「存储 SIG」的 Yum 软件库

如果你要采用「存储 SIG」的 RPM,你必须安装 centos-release-gluster RPM,因它提供了所需的 YUM 软件库档。该 RPM 已收录于 CentOS Extras 内。

样例(针对 CentOS 7/x86_64):

# yum install centos-release-gluster

Gluster 提供了不同发行版本:Long Term Maintenance(LTM 长期维护)及 Short Term Maintenance(STM 短期维护)。CentOS Extras 收录了数个 centos-release-gluster 组件,而安装 centos-release-gluster 时缺省会选择 LTM 发行版本。有关不同 Gluster 发行版本的详细数据已收录于 发行时间表

2. 第一步 —— 准备最少两个节点

* 名为 server1 及 server2 的两个 CentOS 7 服务器 * 有效的网络连接 * 最少两个虚拟碟盘,一个供操作系统用(sda),一个作为 GlusterFS 存储器(sdb)。这个做法仿效现实世界的部署,把 GlusterFS 存储器从操作系统中分割出来。

注:GlusterFS 在 /var/lib/glusterd 存储它动态创建出来的配置文件,要是 GlusterFS 在任何时候不能写入这些文件,小则导致你的系统出现反常现象,大则导致系统完全瘫痪。因此我们推荐为 /var/log 等目录创建独立分区,确保以上情况不会出现。

3. 第二步 —— 格式化及挂载砖块

(在两个节点): 注:这些样例假设砖块将会位于 /dev/sdb1

# mkfs.xfs -i size=512 /dev/sdb1
# mkdir -p /bricks/brick1
# vi /etc/fstab

加入以下内容:

/dev/sdb1 /bricks/brick1 xfs defaults 1 2

存储文件及离开

# mount -a && mount

你应该看见 sdb1 挂载在 /bricks/brick1

注:在 CentOS 6,你必须安装 xfsprogs 组件才能格式化 XFS 文件系统

# yum install xfsprogs

4. 第三步 —— 安装 GlusterFS

(在两个节点) 安装所需软件:

# yum install glusterfs-server

引导管理 GlusterFS 的守护程序(此样例采用 CentOS 7,在 CentOS 6,service 会有不同的输出):

# systemctl enable glusterd
ln -s '/usr/lib/systemd/system/glusterd.service' '/etc/systemd/system/multi-user.target.wants/glusterd.service'
# systemctl start glusterd
# systemctl status glusterd
glusterd.service - GlusterFS, a clustered file-system server
   Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled)
   Active: active (running) since Fri 2015-11-13 10:16:09 CET; 3s ago
  Process: 25972 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 25973 (glusterd)
   CGroup: /system.slice/glusterd.service
           └─25973 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO

存储 SIG 亦为其它生态环境(例如 Samba)提供 Gluster 组件。组件的详情已记录在此处

5. 第四步 —— 设置 iptables

你可以通过 iptables 规则执行 gluster,但你须决定如何设置这些规则。根据缺省值,glusterd 将会在 tcp/24007 上聆听,但单单在 gluster 节点上打开该端口并不足够。 每次你加入一台新的机器,它将会打开一个新的端口(你可以通过 gluster volume status 来查阅)

视乎你的设计,利用专用的网络卡来传输 gluster/存储器的数据是较好的选择,因此你可利用 netfilter 方案(CentOS 是 /etc/sysconfig/iptables 及 firewalld/firewall-cmd)来「信任」某网络卡/子网/gluster 节点。

设置 iptables 的方法已超越此文档的范畴,但你可以在 IPTables 的专用 wiki 页面读入有用的信息。

6. 第五步 —— 设置互信组别

在 server1 上

# gluster peer probe server2

注:采用主机名称时,首台服务器必须获一台服务器侦察才能设置主机名称。

在 server2 上

# gluster peer probe server1

注:设立组别后,只有获信任的成员才能侦察新服务器加进组别。一台新的服务器不能侦察组别,它必须由组别侦察出来。

7. 第六步 —— 设立 GlusterFS 扇区

在 server1 及 server2 上:

# mkdir /bricks/brick1/gv0

在任何一台服务器上:

# gluster volume create gv0 replica 2 server1:/bricks/brick1/gv0 server2:/bricks/brick1/gv0
# gluster volume start gv0

确定扇区汇报 Started(已引导):

# gluster volume info

注:要是扇区未能引导,你可在其中一台或两台服务器的 /var/log/glusterfs 目录下的日志档找寻有关错误的线索 —— 信息多数记录在 etc-glusterfs-glusterd.vol.log

8. 第七步 —— 测试 GlusterFS 扇区

在此步骤,我们将会利用其中一台服务器挂载扇区。一般来说,你应该在另一台计算机,称为「客端」,进行此动作。但由于这个步骤涉及在客端计算机上安装额外的组件,因此服务器为我们的首轮测试提供了一个方便的测试点。

# mount -t glusterfs server1:/gv0 /mnt
# for i in `seq -w 1 100`; do cp -rp /var/log/messages /mnt/copy-test-$i; done

首先,检查挂载点:

# ls -lA /mnt | wc -l

你应该看见 100 个文件。 接著,检查每台服务器的 GlusterFS 挂载点:

# ls -lA /bricks/brick1/gv0

采用上述的测试方法,你应该在每台服务器上看见 100 个文件。在一个不复制、分布式的扇区上(不会在此详述),你应该在每台机器看见约 50 个文件。

总结

就这样了,这大概是最快速的方法。恳请你阅读 Admin Guide 及 New User Guide 来取得更深入的理解,但这里已经为测试提供了一个很好的起点。

此页的灵感源自 Gluster 社群快速入门指南

详情请参阅 Gluster 社群的文档主页

Translation of revision 28


2023-09-11 07:24