请问各位大神我这套配置能能让华为手机流畅到爆的设置吃鸡吗?

关于Glusterfs磁盘使用量的问题(by zls, rtfc)
发信人: zls (zls), 信区: P.zls标 &题: gfs 的磁盘使用量以及配额发信站: 搜狐研发中心 (Fri Jun 18 03:06:45 2010), 站内&& &gfs 里对磁盘使用量有两种不同的解释,假设 server 端对某个卷配置了物理目录 A,当 server 配置了 disk-usage-limit 时,磁盘总量为 min(disk-usage-limit, A所在物理磁盘的总空间),磁盘使用量为 gfs 为目录 A 记录在文件系统里的值;如果没有配置 disk-usage-limit,磁盘总量即为 A 所在磁盘的总量,使用量也是 A 所在磁盘的使用量。&& &客户端看到的卷的使用量及总量,完全取决于各个 server 基于上述理解传回的值。&& &所以有两点,一是如果 server 端并非一开始就配置了 disk-usage-limit,磁盘使用量可能是不准的,二是如果 server 端没有配置这个项,共用相同组机器的相同磁盘的不同卷,看到的卷总大小以及使用量是相同的。Server端的配置有两个disk-usage-limit: 限制使用的磁盘大小,可以跟单位(KB MB GB TB PB),如 500GB&& &设置了这个配置项时,gfsd 会在第一次收到 LOOKUP 请求时(如客户端的 ls)从文件系统里读取之前存入的配额使用量,如果这是该目录第一次设置配额,会因为之前没有写过这个值而被认为是 0,即使这个目录里已经有很多文件。这种情况下已有的文件是不会被计算在使用量里的,不过我们可以手动刷新这个记录在文件系统里的值&& 假设某卷对应的目录是 /search/disk1/26,先停掉 glusterfsd,然后&& & & du -sb /search/disk1/26&& & & attr -R -s glusterfs-quota-du -V du出的大小 /search/disk1/26&& 之后再起 glusterfsd&& 因为 gfsd 只在第一次 LOOKUP 请求时从文件系统中读这个值,之后只会根据新的请求情况向文件系统写入,所以手动更新时需要停掉服务,否则可能会被自动覆盖&& 设置了该配置项后,当 gfsd 自己维护的磁盘使用量大于配置项时,新的写入请求会返回 ENOSPC 失败另一个配置项是min-free-disk-limit: 用于设置磁盘的保留空间,只能设置百分比,但是%可以省略&& &这个配置项是针对整个磁盘的,所以 gfsd 不会只根据本卷的请求情况自己维护这个值,而是去文件系统里取,默认过期时间是 20s,可以通过配置项 refresh-interval 来改变,单位是秒,可以省略(不省略时必须是s或者sec).&& &设置了这个配置项后,任何写入请求之前都会检查磁盘剩余空间是否符合要求,如果低于配置项,也会返回 ENOSPC 错误。&& &Server端的两个配置项可以同时配置,任何一个不满足都会导致 server 端的写入失败。这时 client 端不会重新向其他空闲机器发送写请求,所以这是两个比较粗暴的配置项,建议在添加客户端配额后用作最后的防线客户端也有一个配置用来设置每台 server 的磁盘保留空间min-free-disk: 可以配置为百分比,也可以是具体的磁盘空间&& &当配置为&=100的整数,或者明确指明为xx%时,视为百分比,其他情况视为具体的保留空间,可以跟单位(KB MB GB TB PB). 这个配置项具有默认值 10%&& &客户端创建文件时,gfs 会根据一定的算法确定把文件创建在某台机器 A 上,但是当这台机器的剩余空间(剩余空间由 server 传回)不满足配置项时,会在其他机器里寻找剩余空间最大的机器 B,如果 B 也不满足条件,创建请求仍然会被发送到 A。这里可能存在一个
分享这篇日志的人也喜欢
爱傻静就520星座飘屏
来呀,造作呀。
还是那个人人第一黄?
我控制不住我自己个儿
想遇见第一个守护
热门日志推荐
人人最热标签
北京千橡网景科技发展有限公司:
文网文[号··京公网安备号·甲测资字
文化部监督电子邮箱:wlwh@··
文明办网文明上网举报电话: 举报邮箱:&&&&&&&&&&&&
请输入手机号,完成注册
请输入验证码
密码必须由6-20个字符组成
下载人人客户端
品评校花校草,体验校园广场总共321条微博每日一博:
查看: 1749|回复: 0
【站长推荐】nagios监控Glusterfs挂载卷使用容量及是否挂载【顶】
TA的每日心情开心 17:35签到天数: 5 天[LV.2]偶尔看看I
【重大新闻】
监控Glusterfs挂载卷使用容量及是否挂载,最近我看到一篇文章“nagios监控NFS是否被正确的挂载”所以我想请问各位朋友们
先说下我写这个脚本的初衷吧,事情还是因为上次网络部调整我服务器机柜位置引起的,当时蚊子自信满满的认为服务器上我已经配置好了自动挂载NFS,所以我根本不用担心NFS挂载的情况,当服务器启动恢复后,我的nagios给我发了一个recovery的邮件,我就想当然的认为好了,也就没管。第二天开发人员居然找到我,问我昨天是不是有两台机器重启了,我说是呀,他们就说NFS没有挂载上,我当时还很强调说不可能呢,结果我手动重启了一下昨天的机器,发现真的没有自动挂载上,让我很是郁闷。
没有自动挂载到还不是让人最郁闷,那个我已经通过技术问题解决了,郁闷的是有了问题居然不是nagios第一时间通知我。由于之前我使用的是nagios的check_disk这个脚本,在NFS磁盘有问题,不可读写或空间不足的时候给我报过警,但我经过测试发现,这个脚本只能监控本地磁盘(包括挂载好的NFS)可用性,而不管是否NFS被正确挂载了,所以才有了今天这个脚本。
脚本名称:check_nfsmount
脚本作用:
1,检查NFS磁盘是否被挂载
2,报告哪些NFS没有被挂载
使用方法:
1,将需要mount的NFS磁盘写入到fstab,如下
# cat /etc/fstab
/dev/VolGroup00/LogVol00 /& && && && && && && &&&ext3& & defaults,usrquota,grpquota& && &&&1 1
LABEL=/boot& && && && & /boot& && && && && && & ext3& & defaults& && &&&1 2
tmpfs& && && && && && & /dev/shm& && && && && & tmpfs& &defaults& && &&&0 0
devpts& && && && && && &/dev/pts& && && && && & devpts&&gid=5,mode=620&&0 0
sysfs& && && && && && & /sys& && && && && && &&&sysfs& &defaults& && &&&0 0
proc& && && && && && &&&/proc& && && && && && & proc& & defaults& && &&&0 0
/dev/VolGroup00/LogVol01 swap& && && && && && &&&swap& & defaults& && &&&0 0
192.168.211.129:/home/tst& && & /data/tst& && & nfs& &&&defaults& && &&&0 0
192.168.211.129:/home/tst02& &&&/data/tst02& &&&nfs& &&&defaults& && &&&0 0
192.168.211.129:/home/tst03& &&&/data/tst03& &&&nfs& &&&defaults& && &&&0 0
2,将脚本nagios安装目录的libexec下,并赋予可执行权限
3,配置nrpe配置文件,添加相应的command
4,nagios监控机上添加相应的服务
脚本内容:
#!/bin/bash
#VERSION=&1.0&
. /usr/local/nagios/libexec/utils.sh
CHECKNAME=&Mount NFS&
EXIT_STATUS=$STATE_OK
NFSFSTAB=`LC_ALL=C awk '!/^#/ && $3 ~ /^nfs/ && $3 != &nfsd& && $4 !~ /noauto/ { print $1 }' /etc/fstab`
NFSMTAB=`LC_ALL=C awk '$3 ~ /^nfs/ && $3 != &nfsd& && $2 != &/& { print $1 }' /proc/mounts`
theend() {
& & echo $RESULT
& & exit $EXIT_STATUS
CHECK_MOUNT(){
& & LIST=&&
& & for list in $NFSFSTAB
& && &&&NFS_MOUNT=$(LC_ALL=C cat /proc/mounts |cut -d & & -f 1|grep &${list}$&)
& && &&&if [ -z &${NFS_MOUNT}& ];then
& && && && &LIST=&$LIST$list &
& && &&&fi
& & return $LIST
if [ -n &${NFSMTAB}& ];then
& & if [ &${NFSFSTAB}& = &${NFSMTAB}& ];then
& && && && &RESULT=&$CHECKNAME OK - NFS BE MOUNTED PROPERLY&
& && && && &EXIT_STATUS=$STATE_OK
& && && && &CHECK_MOUNT
& && && && &RESULT=&$CHECKNAME WARNING - ${LIST} NOT BE MOUNTED&
& && && && &EXIT_STATUS=$STATE_WARNING
& & RESULT=&$CHECKNAME CRITICAL - ALL NFS NOT BE MOUNTED&
& & EXIT_STATUS=$STATE_CRITICAL
我要如何修改上面代码?运维网 感谢您的阅读
[]: baoroushi 乐于助人,奖励 1
运维网声明1、本站所有主题由该帖子作者发表,该帖子作者与享有帖子相关版权
2、其他单位或个人使用、转载或引用本文时必须注明原文的出处
3、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
4、 - 致力打造一个最实用的专业IT运维交流平台,为您的IT运维护航……
5、联系人QQ: 或 Email:
关注微信、关注微博、关注站点和大家一同进步,随时关注动态……
微信号:cnyunwei
运维网 高级QQ群:(满)、 (满)、(满)、
Powered by下次自动登录
现在的位置:
& 综合 & 正文
实习成果—GlusterFS
在Gluster Storage Platform上,管理员可以通过创建一个全局的存储空间来存储所有的虚拟机,然后让文件系统自动分布数据和平衡资源负载。除了加强虚拟机磁盘镜像本身, Gluster Storage Platform也为在虚拟机上层的应用提供了NAS卷。它支持GlusterFS自己的客户端,CIFS,NFS和WebDAV协议。在一个单独的全局namespace里,卷可以增加到数PB。此外,复制和自我在线修复能力使得虚拟机可以永不停止地运转。
GlusterFS提供了最大的灵活性:你可以自由地用各种现在存在的协议输出存储卷。例如,这允许一个Unix Server通过网络文件系统协议(NFS)访问一个放在Windows Vista客户端上的共享文件夹(CIFS)里的文件。Gluster支持的每一个协议都有着自己的性能表现,可管理性,以及操作系统支持优势,总结如下:
1. Gluster自己的协议:
Gluster从最底层做起,来设计这个协议,从而支持大规模的对外扩展并简化管理。尽管它功能很强大很灵活,但它只是像一个标准的应用一样安装,而不需要任何的内核操作。这个协议自动支持所有Gluster的实施。它兼容POSIX,这使得现有的应用可以不经过任何改变就跨存储运行。并且它支持GNU/Linux和Mac OS X操作系统(10.4以上)。
GNU/Linux和Unix操作系统有内置的NFS客户端支持,这使得应用程序无需安装任何其它软件就可以访问存储卷。这是一个对通用的文件存储和归档很有用,易于部署的协议。
3. Server Message Block/Common Internet File System (SMB/CIFS):
微软的操作系统有内置的CIFS客户端支持,这使得这个协议对于在windows环境下的通用的文件存储和归档是一个理想的选择。
4. HTTP GET/PUT:
GlusterFS提供了一个兼容亚马逊S3云存储服务的分布式对象存储机制。这对于可扩展的Web或者基于云的应用是很理想的。它还提供了一个说明充分的可以RESETful的,并绑定了流行的的API。图形化界面十分简单,用户甚至可以通过浏览器中的JavaScript对其进行访问。
5. Web-based Distributed Authoring and Versioning (WebDAV):
这个协议提供了一个基于标准的,分布式对象存储机制,它采用HTTP作为底层传输协议。功能比基本的HTTP GET/PUT命令更加强大。它通过一个全局的namespace提供了对文件,文件夹,以及meta属性的支持。
6. File Transfer Protocol (FTP):
这是网络下载文件的最流行的协议之一,它适用于在网络上传输大容量的文件。所有主流的系统都支持FTP协议。由于它工作在应用层,它是最互通的协议。
1. 配置要求
硬件要求:GlusterFS支持大多数的符合商业标准的x86-64bit硬件平台。存储可以是直接附加的存储,RAID盘,以SATA/SAS/FC盘做后端的FC/Infiniband/iSCSI SAN盘。
1.1 网路要求
GlusterFS支持千兆网,百兆网和Infiniband(光纤)。
1.2 操作系统要求
GlusterFS可以支持很多POSIX兼容的系统,如GNU/Linux, FreeBSD, OpenSolaris, Solaris, 和Mac OS X。Gluster建议采用Ext3, Ext4或者ZFS作为子系统磁盘的格式。Gluster对GNU/Linux, Mac OS X, FreeBSD和OpenSolaris有内嵌的支持。
1.3 本文中的安装测试环境
Ubuntu Server 9.10
服务器端IP: 124.127.117.28, 124.127.117.11, 124.127.117.9
客户端IP:124.127.117.12
2. 在服务器端,从源码安装GlusterFS,用作GlusterFS Server。
下载最新版本()
官方FTP主页()
本文中安装测试所用的GlusterFS为version3.0.4
2.1 安装必要的支持软件包
sudo apt-get install flex
sudo apt-get install bison
2.2 开始安装
tar -xzf glusterfs-version.tar.gz
cd glusterfs-version
./configure --prefix= & /dev/null
sudo make insatll
2.3 安装完毕,执行
sudo ldconfig
2.4 检验安装是否成功,输入
glusterfs --version
显示如下输出则说明安装成功
Glusterfs 3.0.4 built on Apr <span style="color:# <span style="color:#10 <span style="color:#:<span style="color:#:<span style="color:#
Repository revision: v3.0.4
Copyright (c) <span style="color:#06-<span style="color:#09 Gluster Inc.
GlusterFS comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GlusterFS under the terms of the GNU General Public License.
2.5 创建必要的文件
sudo mkdir /home/dir1
sudo chmod <span style="color:#77 /home/dir1
此配置方法为手工配置,参数设置简单。此方法可以用于在一台服务器上同时启动多个Sever。另外一种配制方法将在最后介绍。
cd /etc/glusterfs
在此目录下有两个文件:glusterfsd.vol.sample,glusterfs.vol.sample 。glusterfsd.vol.sample,是服务器端配置文件的模板;glusterfs.vol.sample 是客户端配置文件的模板。
2.6.1 备份客户端配置文件模板
sudo cp glusterfsd.vol.sample glusterfsd.vol
2.6.2 编辑服务器端配置文件
sudo vim glusterfsd.vol
编辑glusterfsd.vol中内容如下:
volume brick
type storage/posix # POSIX FS translator
option directory /home/dir1 # Export this directory
end-volume
volume server
type protocol/server
option transport-type tcp/server
option transport.socket.bind-address 124.127.117.28 # Default is to listen on all interfaces
subvolumes brick
option auth.addr.brick.allow * # Allow access to "brick" volume
end-volume
2.7 启动Server
sudo glusterfsd -f /etc/glusterfs/glusterfsd.vol -l /var/log/glusterfs/glusterfsd.log
2.8 检验Server启动是否成功
2.8.1 检验glusterfsd进程是否存在
ps ax|grep -v grep |grep gluster
显示如下则说明Server进程启动
<span style="color:#35 ? Ssl <span style="color:#:00 glusterfsd -f /etc/glusterfs/glusterfsd.vol -l /var/log/glusterfs/glusterfsd.log
2.8.2 检验端口6996是否启用监听
netstat -ln | grep <span style="color:#96
显示如下则说明6996端口处在监听状态
tcp <span style="color:# <span style="color:# 124.127.117.28:<span style="color:#96 0.0.0.0:* LISTEN
2.8.3 查看log
vim /var/log/glusterfs/glusterfsd.log
log末尾显示如下则说明Server正常启动
+------------------------------------------------------------------------------+
[<span style="color:#10-05-<span style="color:# <span style="color:#:<span style="color:#:<span style="color:#] N [glusterfsd.c:<span style="color:#08:main] glusterfs: Successfully started
2.9 关闭Server
用sudo kill -9加进程号,结束server进程。如:
sudo kill -9 <span style="color:#35
3. 在客户端,从源码安装GlusterFS,用作GlusterFS Client
3.1 客户端必须要有FUSE的内核支持。FUSE可到http://fuse.sourceforge.net下载安装。
Ubuntu9.10的内核里应该是有FUSE的,但是也许是没有开启,我在机器上查,没有FUSE加载。用网上的命令试了,也开启不了。于是我去下了个来安。安起来比较麻烦,于是后来放弃了。但是Gluster却可以用,至今没搞懂。。。
3.2 从源码安装GlusterFS。方法步骤参看服务器端安装。
3.3 配置:
此配置方法为手工配置,参数设置简单。另外一种配制方法将在最后介绍。
cd /etc/glusterfs
在此目录下有两个文件:glusterfsd.vol.sample,glusterfs.vol.sample。glusterfsd.vol.sample,是服务器端配置文件的模板;glusterfs.vol.sample 是客户端配置文件的模板。
3.3.1 备份客户端配置文件模板
sudo cp glusterfs.vol.sample glusterfs.vol
3.3.2 编辑客户端配置文件
sudo vim glusterfs.vol
编辑glusterfs.vol中内容如下:
volume client
type protocol/client
option transport-type tcp/client
option remote-host 124.127.117.28 # IP address of the remote brick
option remote-subvolume brick # name of the remote volume
end-volume
3.4 在客户端挂载
sudo glusterfs -f /etc/glusterfs/glusterfs.vol -l /var/log/glusterfs/glusterfs.log /mnt/
3.5 检测客户端是否正常挂载
3.5.1 查看挂在盘符
显示如下则说明客户端正常挂载了服务器端的磁盘 (即 /home/dir1)
Filesystem
Mounted on
<span style="color:#%
<span style="color:#%
<span style="color:#
<span style="color:#%
<span style="color:#%
<span style="color:#
<span style="color:#%
<span style="color:#
<span style="color:#%
/lib/init/rw
<span style="color:#%
<span style="color:#%
/etc/glusterfs/glusterfs.vol
<span style="color:#%
3.5.2 查看glusterfs进程是否存在
ps ax|grep -v grep |grep gluster
显示如下则说明glusterfs进程正常启动
<span style="color:#593 ? Ssl <span style="color:#:00 glusterfs -f /etc/glusterfs/glusterfs.vol -l /var/log/glusterfs/glusterfs.log /mnt/
3.5.3 查看log
vim /var/log/glusterfs/glusterfs.log
log末尾显示如下则说明Client正常启动,并和Server交互正常
+------------------------------------------------------------------------------+
[<span style="color:#10-05-<span style="color:# <span style="color:#:09:<span style="color:#] N [glusterfsd.c:<span style="color:#08:main] glusterfs: Successfully started
[<span style="color:#10-05-<span style="color:# <span style="color:#:09:<span style="color:#] N [client-protocol.c:<span style="color:#46:client_setvolume_cbk] client: Connected to 124.127.117.28:<span style="color:#96, attached to remote volume 'brick'.
[<span style="color:#10-05-<span style="color:# <span style="color:#:09:<span style="color:#] N [client-protocol.c:<span style="color:#46:client_setvolume_cbk] client: Connected to 124.127.117.28:<span style="color:#96, attached to remote volume 'brick'.
[<span style="color:#10-05-<span style="color:# <span style="color:#:09:<span style="color:#] N [fuse-bridge.c:<span style="color:#50:fuse_init] glusterfs-fuse: FUSE inited with protocol versions: glusterfs <span style="color:#.13 kernel <span style="color:#.12
3.6 在客户端进行操作
进入挂载目录后即可在客户端实现各种文件读写工作。
3.7 卸载时用命令
sudo umount /mnt
4. 利用GlusterFS内建的命令自动生成配置文件,并实现Client与Server的交互
glusterfs-volgen是GlusterFS内建的命令,可以用来生成配置文件。
4.1 生成分布式系统的配置文件
glusterfs-volgen –name &storage name& &hostname/ IP address&:&export directory&
如本例中有3个Server,分别是28, 11, 9。可以输入以下命令来生成配置文件。
glusterfs-volgen --name test 124.127.117.28:/home/dir1 124.127.117.11:/home/dir1 124.127.117.9:/home/dir1
如此,系统会生成4个文件:
124.127.117.28-test-export.vol
124.127.117.11-test-export.vol
124.127.117.19-test-export.vol
test-tcp.vol
前三个分别为28,11,9这三个Server端的配置文件,最后一个为Client端的配置文件。
4.2 配置服务器端
把124.127.117.28-test-export.vol拷贝到28服务器上,并进行如下操作,以创建GlusterFS Server的配置文件。
sudo cp 124.127.117.28-test-export.vol /etc/glusterfs/glusterfsd.vol
在11和9服务器上,安对应的文件重复以上操作。
4.3 启动Server
sudo /etc/init.d/glusterfsd start
显示如下则说明启动成功
* Starting glusterfs server glusterfsd [ OK ]
也可以他通过查看log了解Server启动情况
vim /var/log/glusterfs/etc-glusterfs-glusterfsd.vol.log
在log的末尾显示如下则表明启动成功
+------------------------------------------------------------------------------+
[<span style="color:#10-05-<span style="color:# <span style="color:#:<span style="color:#:<span style="color:#] N [glusterfsd.c:<span style="color:#08:main] glusterfs: Successfully started
4.4 配置客户端
把test-tcp.vol拷贝到12服务器上,并进行如下操作,以创建GlusterFS Client的配置文件。
sudo cp test-tcp.vol /etc/glusterfs/glusterfs.vol
4.5 在client挂载
4.5.1 创建挂载点
sudo mkdir /mnt/glusterfs
4.5.2 挂载
sudo mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs
4.5.3检测挂载是否成功
输入一下命令查看挂载情况
输出如下则说明正常挂载
Filesystem
Mounted on
<span style="color:#%
<span style="color:#%
<span style="color:#
<span style="color:#%
<span style="color:#%
<span style="color:#
<span style="color:#%
<span style="color:#
<span style="color:#%
/lib/init/rw
<span style="color:#%
<span style="color:#%
/etc/glusterfs/glusterfs.vol
<span style="color:#%
/mnt/glusterfs
也可查看log
vim /var/log/glusterfs/mnt-glusterfs.log
4.6 在客户端操作
cd /mnt/glusterfs
进入挂载目录后即可在客户端实现各种文件读写工作。
sudo umount /mnt/glusterfs
Gluster Storage Platform是一个开源的集群存储解决方案。这个系统是一个功能强大的灵活的解决方案,它简化了管理非结构化的文件数据的工作,无论是几TB或者好几PB的数据量。Gluster Storage Platform集成了Gluster File System,它是一个操作系统层,一个基于web的管理界面的安装软件。整个安装过程十分简单,用户只需点几下鼠标就可以部署上百TB的集群存储。Gluster Storage Platform运行在标准的工业化硬件平台上,并可以低成本地实现多次扩展。
Gluster Storage Platform把存储积木,磁盘聚集,内存资源,以及管理数据的功能集成在了一个全局的namespace中。它采用的可折叠的文件系统结构,可以简单地通过插件模块对特定的应用配置进行优化,在各种工作负载的情况下优化系统的性能。
更低的成本—开源软件运行在商用的硬件上:使用工业化的标准硬件,利用现有的系统。
可扩展性—可以线性扩展到数百PB。
性能—没有metadata server造成的瓶颈。
高可用性—数据镜像,实时的自我修复能力。
更好的虚拟存储—时刻保持虚拟机的运转。。
简洁—完善的基于web的管理界面:模块化的结构使得管理员可以各种负载轻松地对系统进行配置。
1. 可扩展性—线性扩展能力使得它可以很容易地根据需要进行扩展。
真正的线性扩展
可扩展到数百PB
添加新节点的时候只需点几下鼠标
2. 性能—独有的一个消除metadata server的结构,并提供了真正的突破性的了IOPS(Input/Output Operations Per Second)和吞吐量。
没有metadata server
没有单点故障
自动负载均衡
文件条目分布在数十个存储块上
3. 独立内核—可以在性能不受任何影响的情况下实现内核独立。
没有复杂的跨平台兼容性问题
没有升级问题
易于自定义应用程序和模块
4. 高可用性—包括数据镜像和实时自我修复。
可以自动检测并修复错误,甚至是在文件运行或者是硬件故障的时候
5. 易于部署和管理—-可以在15分钟内部署PB级的存储。通过集成的容量、数据、资源和服务器的管理,持续性的维护变得很简单并且高效。
自动修复错误
基于向导的部署
集中的日志和报告
在升级和添加节点的时候,系统会继续保持运转
6. 优化虚拟服务器—为服务器虚拟化提供真正的虚拟存储
把虚拟机镜像和数据存储在独立的namespace中
虚拟机镜像的多备份保证了系统的持续性能—即使在硬件故障的时候
7. 快捷灵活的配置—Gluster功能按键可以使管理员为自己的系统负载进行配置,可以轻松地优化小文件,云计算,或者其它任何用途。
提供自带的客户端,但不是必须的
支持NFS,CIFS,HTTP,Web-DAV和FTP协议
网络:千兆以太网,百兆以太网,光纤
8. 灵活的模块设计—Gluster的模式化结构使得添加新特性变得很简单
简单快捷地增强新特性
根据自己系统的工作负载设计Gluster
禁用不必要的特性以提升系统性能
Gluster Storage Platform系统结构
GlusterFS是一个可扩展的开源集群文件系统。它提供了全局的namespace,分布式的前端,并可以轻松地扩展到数百PB的量级。GlusterFS是Gluster Storage System的核心堆栈。
设计的核心是一个全新的存储结构构建观点。其结果是一个可线性扩展的,高弹性的,并可提供非凡业绩的系统。 Gluster Storage Platform集成了GlusterFS、操作系统层和基于Web的管理及安装工具。这些把部署PB级规模的集群存储简化到了两个步骤,整个过程只需要点几次鼠标。
最根本的变化—为了实现真正的线性扩展,必须进行三个转变
可扩展性:
metadata同步的消除和升级更新。
数据的有效分配,从而实现可扩展性和可靠性
使并行性能达到最大化
这些转变的影响是很显著的—在保持弹性的同时实现了可扩展性。更好的是,一个平衡的系统可以获得更高的性能。
Metadata—Gluster可扩展性的关键
Gluster结构中最重要的一个优势是它从任何依赖metadata的结构中解放出来,在所有商业化的存储管理系统中一枝独秀。这种根本的结构变化解决的是围绕着文件系统中的metadata的核心问题。
Gluster摆脱了metadata,他独一无二的无metadata的服务器结构消除了瓶颈效应,并提供了增强的扩展能力,可靠性以及性能。
Gluster不是将与文件,文件夹有关的metadata存在一系列静态的结构上,而是使用动态生成同等的信息。这些计算的结果是一个Gluster系统中一个节点所获得的任何必要的动态值。这消除了metadata不能同步的风险,因为这种算法是全局的,在分布式系统中无所不在。由于这些根本的原因,系统不可能永远不同步,并且这对于性能的提升是惊人的。
因为系统对节点没有“保持同步”的要求,Gluster可以独立地处理分布式结构中所有位置的数据访问。这使得无损耗的线性扩展得以实现。
此外,由于不依赖于静态数据结构(无论是单实例或可复制的整个分布式部署),Gluster速度较快。原因有二:配置性;以及与处理任何申请级别的文件系统相关I/O活动的工作量比例减少。Gluster不受metadata瓶颈的限制,所以这里可以提出一些大胆的想法。无论由什么产生的工作量(如NFS, CIFS, 以及本地应用软件的实例对I/O的请求),你可以简单地通过将CPU和硬盘升级到原来的两倍,来达到两倍的系统性能。Gluster中的每个元素都可以靠其独立的全局算法,独立地处理metadata。从而系统资源不必像传统文件系统终端那样长期处于等待状态,并受硬盘I/O瓶颈限制。
Gluster更快,可实现真正的线性扩展,并且更加安全
Gluster使每个独立的操作更快。因为它用算法计算metadata,并且这种方法比从任何介质中取metadata要快。
Gluster使大型的不断增长的独立系统更快。因为对存储在一个位置的任何一个单独的metadata实例来说,不会有任何争夺发生。
Gluster使分布式系统更快,并能实现真正的线性扩展。因为每个节点在它们处理自己metadata的算法时是独立的,这避免了同步metadata的需要。
Gluster使分布式部署更加安全。因为他避免了由同步metadata带来的各种风险。
数据分布:复制如何实现
Gluster用一种算法取代了metadata,来决定metadata在实时中的状态。通过这种算法,系统可以智能地处理文件分布,并可确保比一个单独的存储服务器容量大的文件可以被正确地处理。
弹性Hash是由Gluster研发出的一种新的具体存储算法。它负责决定数据保存的位置,是摆脱metadada的关键。
实现的核心有两个关键特性:
这种算法可以保证在添删服务器时不丢失对已存在的数据的追踪。
这种算法工作在文件层,而不是块层。
这种添删服务器的能力并不是一种典型的算法。大多数功能的实现是基于一个事实,即位置数据的量保持不变。在存储中,添加存储通常是通过抽象层(逻辑卷)实现,所以不需要对特定的文件系统进行修改。然而Gluster中的多个文件系统互相粘合在一起,通过metadada来追踪每个信息的位置。而在长期应用中metadata不需要可扩展性。
第二个特性的特点很显著:从块层向文件层的转变,加上抛弃了metadata,Gluster有了可以扩展到非凡水平的能力。
弹性的Hash使得对文件的存放位置的选择在host层决定,然后系统再把完成的文件发到选定的存储中。通过管理员的设定,多个文件的多个副本可以被放置到不同的host上去。这意味着,host以及所有与其相关的磁盘可以因为任何原因而下线,而由其它弄得host来担任文件的完整副本(例如网络分割,甚至只是系统维护)。
弹性的Hash使这些得到更进一步的推进。在优化选择的时候不仅基于可用性,更基于性能。所以在读取文件时,系统会选择离用户更近的副本。这种特性为系统提供了一种天然的复制机制,因为存储服务器集群可以分散把同样的文件副本分发到两个站点,并让用户选择离他们最近的站点。
当系统中出现永久性损坏的时候(如一台服务器的磁盘发生故障,导致本地文件无法读取),系统会更换主机并将其加入集群,并自动开始恢复过程。
Gluster的系统决定运行在host级别,而不是独立的文件系统或者块级别,这使得它可以通过多CPU进行扩展。并且可以更好地分配在服务器的CPU以及其磁盘状态均衡的环境下,运行一个存储网络时的负载。随着每个CPU成为一个网络链接,所有传统文件系统中影响其扩展能力的严重缺陷在Gluster的结构中得到了良好的解决。
假设的故障有硬件故障, 磁盘故障,网络被分割,以及管理员误将电源线拔掉。Gluster对这些假定的故障都有处理预案,系统会自动处理这些故障,而不需要管理员的参与。
不重做已经得到信任的东西
在现有的操作系统中,已经有很多经过充分测试的磁盘文件系统,Gluster并不会去取代他们。相反的,Gluster站在巨人的肩膀上,并实地验证他们的可靠性。这除了证明了Gluster充分应变能力以外,还使得管理员在已存在的host上使用已经公认的磁盘文件系统的时候,即使没有Gluster层,也可以看到每个host上面的文件。
这使得管理员具有一个全新级别的自由度。Gluster使得管理员可以在任何时候很容易地停止使用Gluster,而不是将管理员锁定到这个特定的文件系统上。这样管理员可以使任何数据不受束缚。
不依赖于metadata
Gluster提供了一流的可靠性。不依赖于metadata,系统将不用担心任何源于metadada的故障。
&&&&推荐文章:
【上篇】【下篇】

我要回帖

更多关于 买电脑主要看哪些配置 的文章

 

随机推荐