1. 程式人生 > >【GlusterFS學習之一】:GlusterFS分散式檔案系統的基本概念及搭建

【GlusterFS學習之一】:GlusterFS分散式檔案系統的基本概念及搭建

最近因為工作的需要在接觸GlusterFS,在未來的一段時間之內應該都要與之打交道,剛剛接觸分散式檔案系統,對很多概念和機制都不是很清楚,通過一段時間的學習有一點淺顯的認識,那麼就把這段時間的瞭解到的內容做個簡單的筆記,包括GlusterFS的基本概念,以及部署GlusterFS的方法。

1.glusterfs基本概念的介紹

因為對GlusterFS的整體架構理解的過於膚淺,那麼就只能對一些簡單的概念進行介紹。

brick:brick是任何在可信共享池中共享的目錄(Brick is basically any directory that is meant to be shared among the trusted storage pool

)。(感覺翻譯的爛的一逼)。另一種說法:Each server gives one of its directories (referred to as a “brick”) into the care of GlusterFS, which combines multiple bricks to create a large data repository. 

Trusted Storage Pool:這是共享檔案和目錄的的集合,這些檔案和目錄基於設計好的網路協議。(is a collection of these shared files/directories, which are based on the designed protocol.

)(感覺翻譯太爛了,還是直接用英文吧)

Block Storage:They are devices through which the data is being moved across systems in the form of blocks.

Cluster:In Red Hat Storage, both cluster and trusted storage pool convey the same meaning of collaboration of storage servers based on a defined protocol.

Distributed File System:

A file system in which data is spread over different nodes where users can access the file without knowing the actual location of the file. User doesn’t experience the feel of remote access.

FUSE:It is a loadable kernel module which allows users to create file systems above kernel without involving any of the kernel code.

glusterd:glusterd is the GlusterFS management daemon which is the backbone of file system which will be running throughout the whole time whenever the servers are in active state.

POSIX:Portable Operating System Interface (POSIX) is the family of standards defined by the IEEE as a solution to the compatibility between Unix-variants in the form of an Application Programmable Interface (API).

RAID:Redundant Array of Independent Disks (RAID) is a technology that gives increased storage reliability through redundancy.

Subvolume:A brick after being processed by least at one translator.

Translator:A translator is that piece of code which performs the basic actions initiated by the user from the mount point. It connects one or more sub volumes.

Volume:A volumes is a logical collection of bricks. All the operations are based on the different types of volumes created by the user. The volume,in turn,is mounted by the clients like a drive.

2.GlusterFS的部署方法。

作業系統:

centos6.4:
lsb_release -a

一共有三臺機器:

client:

10.23.85.47 glusterA

server:

10.23.85.48 glusterB
10.23.85.49 glusterC
(提取碼:710e)(程式碼版本為3.6.3)

在三臺機器上解壓檔案:

unzip gluster3.6.zip

在每臺機器上進行配置編譯安裝,注意還有一些必要的安裝包,那麼寫一個指令碼一起安裝run.sh(這個指令碼放在原始碼的根目錄下):

yum install -y aclocal autoconf aotuheader automake libtool


yum install -y  automake autoconf libtool flex bison openssl-devel libxml2-devel python-devel libaio-devel libibverbs-devel librdmacm-devel readline-devel lvm2-devel glib2-devel userspace-rcu-devel libcmocka-devel
 
./configure --enable-debug                                     


sudo make


sudo make install

安裝好之後執行:

glusterfs --version

說明安裝完成,在三臺機器上執行同樣的操作。

add server to trusted storage pool:即將兩個儲存server節點組成一個叢集,本文在第一個server結點執行,在任何一個server結點執行即可。

http://www.gluster.org/community/documentation/index.php/Gluster_3.2:_Adding_Servers_to_Trusted_Sto

rage_Pool


error:connection failed.please check if gluster daemon is operational. 需要開啟glusterd守護程序


當然其他的server也要執行:service glusterd start命令,開啟守護進行,否則會報錯:peer probe: failed: Probe returned with unknown errno 107.


檢視叢集結點的資訊:

在server glusterB檢視:


在server glusterC檢視:


以/data/gluster為共享目錄,建立名為img的卷,副本數為2:


啟動volume並檢視卷狀態:


在客戶端掛載卷img:

首先用df -h命令檢視掛載資訊:


執行將卷img掛在到客戶端的/mnt掛載點上:


在部署好之後,我們嘗試對檔案進行操作,看看效果:

建立檔案:

client端:


server端:



刪除檔案:

client端:


server端:



至此,GlusterFS分散式檔案系統的基本概念和搭建工作完成。

3.問題總結:

1.在掛載的時候出現"Transport endpoint is not connected"的問題。

fusermount -uz /mnt
方法二:還有一個原因就是server端的程序glusterfsd沒有啟動,導致無法成功掛載,啟動glusterfsd程序(glusterfsd在volume start的時候啟動:gluster volume start img)。

2.在serverA和serverB之間用scp拷貝資料"permission denied"的問題。

解決方法:首先在serverA上建立id_rsa.pub(如果之前沒有建的話):ssh-keygen -t rsa,然後將生成的id_rsa.pub的內容拷貝到serverB的~/.ssh/authorized_keys檔案裡面,搞定。

3.在執行"gluster peer probe 10.23.85.38"操作的時候出現"peer probe: failed: Probe returned with unknown errno 107"。

有幾個原因:

>每臺機器上的glusterd沒有啟動,執行"service glusterd start"即可。

>確定機器之間是否能ping通。

Author:憶之獨秀

Email:[email protected]


相關推薦

GlusterFS學習之一GlusterFS分散式檔案系統基本概念搭建

最近因為工作的需要在接觸GlusterFS,在未來的一段時間之內應該都要與之打交道,剛剛接觸分散式檔案系統,對很多概念和機制都不是很清楚,通過一段時間的學習有一點淺顯的認識,那麼就把這段時間的瞭解到的

深度學習基礎線性代數(一)_特徵分解numpy、scipy實現

一、特徵分解的意義         有時,我們會將現實中的某些事物抽象成矩陣的形式,例如可以將一張圖片抽象成一個畫素值組成的矩陣。此時,我們也許希望中將矩陣分解成多個組成部分,這些組成部分代表了這個矩

HBase學習之一HBase簡介

目錄 一、簡介 一、簡介        HBase - Hadoop Database,是一個高可靠性、高效能、面向列、可伸縮的分散式儲存系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化儲存叢集。        

機器學習筆記一文讓你徹底理解準確率,精準率,召回率,真正率,假正率,ROC/AUC

作者:xiaoyu 微信公眾號:Python資料科學 非經作者允許,禁止任何商業轉載。 ROC/AUC作為機器學習的評估指標非常重要,也是面試中經常出現的問題(80%都會問到)。其實,理解它並不是非常難,但是好多朋友都遇到了一個相同的問題,那就是:每次看書的時候

Hadoop學習之一Hadoop介紹

一、概念 Hadoop是一個能夠對大量資料進行分散式處理的軟體框架,充分利用叢集的威力進行高速運算和儲存。 二、主要模組Hadoop Common:支援其他Hadoop模組的常用實用程式。Hadoop分散式檔案系統(HDFS™):一種分散式檔案系統,可提供對應用程式資料的高吞吐量訪問。Hadoop YAR

Ceph學習之一Centos7上部署Ceph儲存叢集以及CephFS的安裝

             Ceph已然成為開源社群極為火爆的分散式儲存開源方案,最近需要調研Openstack與Ceph的融合方案,因此開始瞭解Ceph,當然從搭建Ceph叢集開始。         我搭建機器使用了6臺虛擬機器,包括一個admin節點,一個monitor節

redis學習之一redis安裝與執行

在linux下安裝redis服務: 1、首先下載tar包,解壓,進入相應目錄: wget http://download.redis.io/releases/redis-3.2.8.tar.gz tar zxvf redis-3.2.8.tar.gz cd redis-3.2.8 make

機器學習演算法提升樹(Boosting tree)

提升樹是以分類樹和迴歸樹為基本分類器的提升方法。提升樹被認為是統計學習中效能最好的方法之一。Boosting方法其實本質上採用的是加法模型(基函式的線性組合)與前向分佈演算法。以決策樹為基函式的Boosting方法被稱為提升樹(Boosting tree)。對分

SparkStreaming學習之一 SparkStreaming初識

流處理 資源 的區別 str 高級功能 category www. socket 使用 環境  虛擬機:VMware 10   Linux版本:CentOS-6.5-x86_64   客戶端:Xshell4  FTP:Xftp4  jdk1.8  scala-2.10.4(

Python學習之一Python安裝、IDE安裝配置

cmd das 虛擬機 sqlit eclipse windows ref png sql 環境  虛擬機:VMware 10   Linux版本:CentOS-6.5-x86_64   客戶端:Xshell4  FTP:Xftp4  python2.X  python3.

YOLO學習筆記之YOLO配置檔案詳解

在YOLO初體驗中,應用到了一個字尾名為cfg的檔案,在darknet中有一個資料夾,下面有各種各樣的cfg檔案 這些cfg檔案都是YOLO的配置檔案,負責YOLO所需資料集的訓練工作,接下來,給大家詳細講解一下配置檔案。講解配置檔案,我以 yolov2-tiny.

C++學習筆記 虛擬函式與純虛擬函式概念

源至:https://blog.csdn.net/hackbuteer1/article/details/7558868 虛擬函式:定義一個函式為虛擬函式,不代表函式為不被實現的函式,定義他為虛擬函式是為了允許用基類的指標來呼叫子類的這個函式。(注意:子類中非基類虛擬函式不能被基類呼叫) 純虛擬

專欄 - 實戰FastDFS分散式檔案系統

實戰FastDFS分散式檔案系統 大型網際網路應用高速增長,導致傳統的檔案系統無法滿足效能要求,隨之應運而生的是分散式檔案系統。FastDFS是一款輕量級、高可靠性、具有資料備份功能、適用於小型檔案應用場景的分散式檔案系統。

Linux學習筆記Chapter 7 Linux檔案與目錄管理_筆記

【記錄整理自《鳥哥的Linux私房菜》】 一、目錄與路徑 1.相對路徑與絕對路徑 1)絕對路徑:路徑的寫法一定由根目錄(/)寫起,比如/usr/share/doc這個目錄 a)用途:正確度比較

提高學習效率☞(利用WIN+R 快速開啟 軟體 網頁 )

  前幾天看晗哥遠端給老師修電腦的時候,發現晗哥桌面上都沒有應用程式,只有一些必要的檔案,乾淨整潔。         開啟軟體的時候直接WIN+R然後敲軟體名就直接打開了,給我感覺一是很酷二是很快

Hadoop學習系列筆記(二)Hadoop分散式檔案系統

1、HDFS的設計:當資料集大小超過一臺獨立的物理計算機儲存能力時,就要對它進行分割槽並存儲到若干臺單獨的計算機上。管理網路中跨多臺計算機儲存的檔案系統成為分散式檔案系統,該系統架構於網路之上。Hadoop有一個稱為HDFS的分散式系統。實際上Hadoop是一個綜合性的檔案系

手把手學習flutterFlutter打Android包的基本配置和包體積優化策略

# 【手把手學習flutter】Flutter打Android包的基本配置和包體積優化策略 > 關注「鬆寶寫程式碼」,回覆“加群” > 加入我們一起學習,天天向上 ## 前言 因為最近參加2020FEHackson,有個專案需要要快速上線,把打包過程和遇到的問題做個記錄。 ## 一、背景 在本地開發中,使

Python——opencv篇 bitwise_and、bitwise_not等影象基本運算掩膜

1.影象基本運算 影象的基本運算有很多種,比如兩幅影象可以相加、相減、相乘、相除、位運算、平方根、對數、絕對值等;影象也可以放大、縮小、旋轉,還可以擷取其中的一部分作為ROI(感興趣區域)進行操作,各個顏色通道還可以分別提取及對各個顏色通道進行各種運算操作。總之,對於影象可

第五十二章FastDFS分散式檔案系統

資料下載 大綱     FastDFS架構包括Tracker server 和 Storage server 。客戶端請求Tracker server 進行檔案上傳、下載,通過Ttacker server 排程,最總

深入理解HDFSHadoop分散式檔案系統

文字詳細介紹了HDFS中的許多概念,對於理解Hadoop分散式檔案系統很有幫助。 1. 介紹 在現代的企業環境中,單機容量往往無法儲存大量資料,需要跨機器儲存。統一管理分佈在叢集上的檔案系統稱為分散式檔案系統。而一旦在系統中,引入網路,就不可避免地引入了所有