1. 程式人生 > >VMware下CentOS6.8配置GFS檔案系統

VMware下CentOS6.8配置GFS檔案系統

1.GFS介紹

GFS簡要說明,它有兩種:

1. Google檔案系統:GFS是GOOGLE實現的是一個可擴充套件的分散式檔案系統,用於大型的、分散式的、對大量資料進行訪問的應用。它運行於廉價的普通硬體上,但可以提供容錯功能。它可以給大量的使用者提供總體效能較高的服務。欲瞭解更多,可以訪問:http://baike.baidu.com/item/GFS/1813072

2. Redhat 的GFS(Global File System)

GFS(Global File System)自己以本地檔案系統的形式出現。多個Linux機器通過網路共享儲存裝置,每一臺機器都可以將網路共享磁碟看作是本地磁碟,如果某臺機器對 某個檔案執行了寫操作,則後來訪問此檔案的機器就會讀到寫以後的結果。可以根據對效能或是可擴充套件性,或者以經濟性多個原則進行不同方案的部署。

GFS 主要元件,叢集卷管理,鎖管理,叢集管理,圍欄和恢復,叢集配置管理。

本文主要介紹Redhat的GFS系統。

REDHAT CLUSTER SUITEWITH GFS :

RHCS(REDHAT CLUSTER SUITE)是一款能夠提供高效能、高可靠性、負載均衡、高可用性的叢集工具集,一個叢集通常有兩個或兩個以上的計算機(稱為“節點”或”成員“)共同執行一個任務。

RHCS主要元件:

  • 叢集架構:

提供一個基本功能使節點作為叢集工作在一起:配置檔案管理,成員關係管理,鎖管理和柵裝置。

  • 高可用性管理:

提供節點失敗轉移服務,當一個節點失敗後將服務轉移到另一個節點上。

  • 叢集管理工具:

通過配置和管理工具來配置和管理Red Hat叢集。

  • Linux Virtual Server (LVS)

LVS提供一個基於IP的負載均衡功能,通過LVS可以將客戶請求均勻的分配到叢集節點上。

其它Red Hat叢集元件:

  • Cluster Logical Volume Manager (CLVM)

提供邏輯卷管理叢集儲存。

  • 叢集管理器:

CMAN是一個分散式叢集管理器(DLM),它執行在每一個叢集節點上,CMAN通過監視叢集節點提供一個法定節點數(quorum),當叢集 中有多於一半的節點處於活躍狀態時,此時符合法定節點數,叢集繼續可用,當只有有一半或少於一半的節點處於活躍狀態是則已達到不到法定節點數,此時整個集 群變得不可用。CMAN通過監控叢集中節點來確定各節點的成員關係,當叢集中的成員關係發生改變,CMAN會通架構中其它元件來進行相應的調整。

  • DLM鎖管理:

分散式鎖管理器,它執行在所有的叢集節點上,鎖管理是一個公共的基礎結構,為叢集提供一種共享叢集資源的管理機制,GFS通過鎖管理器使用鎖機制來同步訪問檔案系統元資料,CLVM通過鎖管理器來同步更新資料到LVM卷和卷組。

  • 資料的完整保證:

RHCS 通過 Fence裝置從共享儲存切斷失效節點的I/O以保證資料的完整性。當CMAN確定一個節點失敗後,它在叢集結構中通告這個失敗的節點(組播),fenced程序會將失敗的節點隔離,以保證失敗節點不破壞共享資料。

REDHAT叢集配置系統:

叢集配置檔案:(/etc/cluster/cluster.conf) 是一個XML檔案,用來描述下面的叢集特性。

叢集名稱:列出叢集名稱、叢集配置檔案版本和一個隔離時間,隔離相應時間當一個新節點加入或從叢集中隔離時。

叢集:列出叢集中的每一個節點,指定節點名稱,節點ID,法定投票數,和柵模式。

fence裝置:定義fence裝置。

管理資源:定義建立叢集服務需要的資源。管理資源包括失敗轉移域,資源和服務。

2.GFS搭建

設定環境如下,兩節點操作共享檔案:

  • 192.168.10.11 test01
  • 192.168.10.12 test02
  • OS:CentOS6.8 64位
  • VMware共享磁碟一塊

以下操作如非特別註明,則需要在所有的節點上執行。

2.1配置網路

編輯hosts檔案,使兩節點間可通過主機名訪問:

# more /etc/hosts
127.0.0.1   localhost localhost.localdomain
::1         localhost localhost.localdomain
192.168.10.11 test01
192.168.10.12 test02

2.2安裝叢集檔案系統相關的軟體包

使用yum安裝軟體包:

# yum install cman openais gfs* kmod-gfs lvm2* rgmanager system-config-cluster scsi-target-utils cluster-snmp

上述軟體包有眾多的依賴包會被安裝或更新,為避免出現意外情況,建議軟體包安裝後重啟。

2.3配置iptables

允許test01和test02相互通訊

test01配置檔案/etc/sysconfig/iptables新增:

-A INPUT -s 192.168.10.12 -j ACCEPT

test02配置檔案/etc/sysconfig/iptables新增:

-A INPUT -s 192.168.10.11 -j ACCEPT

2.4修改相關配置

修改/etc/sysconfig/selinux中selinux=disabled

修改lvm邏輯卷配置:

# vi /etc/lvm/lvm.conf

將locking_type = 1,改為locking_type = 3,允啟用同時讀寫。

修改fallback_to_local_locking=0,以禁止回寫,避免導致裂腦。

2.5生成叢集配置檔案

[[email protected] ~]# ccs_tool create GFSmail
[[email protected] ~]# ccs_tool addfence meatware fence_manual
[[email protected] ~]# ccs_tool lsfence
Name             Agent
meatware         fence_manual
[[email protected] ~]# ccs_tool addnode -n 11 -f meatware test01
[[email protected] ~]# ccs_tool addnode -n 12 -f meatware test02
[[email protected] ~]# ccs_tool lsnode
Cluster name: GFSmail, config_version: 4
Nodename                        Votes Nodeid Fencetype
test01                      1   11    meatware
test02                      1   12    meatware
[[email protected] ~]#
[[email protected] ~]# rsync -avz /etc/cluster/
/etc/cluster/cluster.conf

sending
incremental file listcluster.confsent 307 bytes received 31 bytes 676.00 bytes/sectotal size is 557 speedup is 1.65[[email protected] ~]#
[[email protected] data]# cat /etc/cluster/cluster.conf
<?xml version="1.0"?>
<cluster name="GFSmail" config_version="4">

  <clusternodes>
  <clusternode name="test01" votes="1" nodeid="11"><fence><method name="single"><device name="meatware"/></method></fence></clusternode><clusternode name="test02" votes="1" nodeid="12"><fence><method name="single"><device name="meatware"/></method></fence></clusternode></clusternodes>

  <fencedevices>
  <fencedevice name="meatware" agent="fence_manual"/></fencedevices>

  <rm>
    <failoverdomains/>
    <resources/>
  </rm>
</cluster>

而後可以執行ccs_config_validate命令檢查配置檔案是否合法。

2.6建立叢集儲存

先手動啟動cman和clvmd命令,以便監控叢集卷的中儲存裝置的狀態:

# service cman start

# service clvmd start

# service rgmanager start

以下操作在節點1端執行:

建立物理卷和卷組和邏輯卷:

[[email protected] ~]# pvcreate /dev/sdb

  Physical volume "/dev/sdb" successfully created

[[email protected] ~]# vgcreate mailcluster /dev/sdb

  Clustered volume group "mailcluster" successfully created

[[email protected] ~]# pvs

  PV         VG          Fmt  Attr PSize   PFree

  /dev/sda2  vg_mail     lvm2 a--u 199.41g    0

  /dev/sdb   mailcluster lvm2 a--u   4.00t 4.00t

[[email protected] ~]# lvcreate -n maildata -l 100%FREE mailcluster

  Logical volume "maildata" created.

[[email protected] ~]# lvs

  LV       VG          Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  maildata mailcluster -wi-a-----   4.00t

  home     vg_mail     -wi-ao----  80.00g

  root     vg_mail     -wi-ao---- 115.41g

  swap     vg_mail     -wi-ao----   4.00g

[[email protected] ~]#

2.7在新建的邏輯捲上建立gfs2檔案系統:

[[email protected] ~]# mkfs.gfs2 -j 2 -p lock_dlm -t GFSmail:maildata /dev/mapper/mailcluster-maildata

This will destroy any data on /dev/mapper/mailcluster-maildata.

It appears to contain: symbolic link to `../dm-3'

Are you sure you want to proceed? [y/n] y

Device:                    /dev/mapper/mailcluster-maildata

Blocksize:                 4096

Device Size                4096.00 GB (1073740800 blocks)

Filesystem Size:           4096.00 GB (1073740798 blocks)

Journals:                  2

Resource Groups:           8192

Locking Protocol:          "lock_dlm"

Lock Table:                "GFSmail:maildata"

UUID:                      50e12acf-6fb0-6881-3064-856c383b51dd

[[email protected] ~]#

對於mkfs.gfs2命令來說,我們所使用的引數功能如下:

-p:用來指定gfs的鎖機制,一般情況下會選擇lock_dlm;

-j:指定journal個數(可加入節點數),一般情況下應留有冗餘,否則後期還得再調整;

檢視journals:# gfs2_tool journals /home/coremail/var

增加journals:# gfs2_jadd -j 1 /home/coremail/var ##增加一個journals

-t:格式為ClusterName:FS_Path_Name

ClusterName:應與前面cluster.conf中指定的叢集名稱相同(上文為:GFSmail);

FS_Path_Name:這個塊裝置mount的路徑(上文為:maildata);

最後一個引數是指定邏輯卷的詳細路徑;

2.8GFS掛載

建立目錄:

[[email protected] ~]# mkdir /home/coremail/var

將剛剛建立的邏輯卷加入到/etc/fstab檔案中,使其開機自動對映:

[[email protected] ~]# echo "/dev/mapper/mailcluster-maildata  /home/coremail/var            gfs2    defaults,noatime,nodiratime,noquota        0 0" >> /etc/fstab

啟動gfs2服務:

[[email protected] ~]# /etc/init.d/gfs2 start

節點2端執行:

操作前可以先執行pvs,lvs命令,看看是否能夠正常顯示節點1端建立的物理卷和邏輯卷資訊,如果看不到(先嚐試lvscan),則說明並未使用共享儲存,或者配置有異常,仍然需要排查,需要等問題解決後,再執行下列的命令。

[[email protected] ~]# mkdir /home/coremail/var

[[email protected] ~]# echo "/dev/mapper/mailcluster-maildata  /home/coremail/var            gfs2    defaults,noatime,nodiratime,noquota        0 0" >> /etc/fstab

[[email protected] ~]# /etc/init.d/gfs2 start

執行# clustat可以查詢各成員節點的狀態。

[[email protected] ~]# clustat

Cluster Status for GFSmail @ Thu Nov  3 23:17:24 2016

Member Status: Quorate

 Member Name                                       ID   Status

 ------ ----                                       ---- ------

 test01                                         11 Online

 test02                                         12 Online, Local

[[email protected] ~]#

2.9在所有節點操作,配置服務的自動啟動,這樣就不必擔心伺服器重啟了:

# chkconfig --add cman

# chkconfig --add clvmd

# chkconfig --add gfs2

# chkconfig --add rgmanager

# chkconfig --level 345 cman on

# chkconfig --level 345 clvmd on

# chkconfig --level 345 gfs2 on

# chkconfig --level 345 rgmanager on

相關推薦

VMwareCentOS6.8配置GFS檔案系統

1.GFS介紹 GFS簡要說明,它有兩種: 1. Google檔案系統:GFS是GOOGLE實現的是一個可擴充套件的分散式檔案系統,用於大型的、分散式的、對大量資料進行訪問的應用。它運行於廉價的普通硬體上,但可以提供容錯功能。它可以給大量的使用者提供總體效能較高的服務。欲瞭

VMware安裝並配置CentOS6.5

目錄 1.安裝空白虛擬機器 2.安裝CentOS 3.配置新的CentoOS 3.1 配置網路 3.2 關閉防火牆 1.安裝空白虛擬機器 進入VMware Workstation點選“建立新的虛擬機器”,彈出新建虛擬機器嚮導,預設選中“典型(推薦)”,點選“下一步。

VMwareCentOS6.4網絡卡設定為橋接模式靜態IP配置方法詳解

1、禁用網路管理器 # chkconfig NetworkManager off # service NetworkManager stop 2、建立用以橋接的虛擬網絡卡 # cd /etc/sysconfig/network-scripts # cp ifcf

grpc-golang在win7/8/10的安裝配置(別的系統同樣適用)

gRPC是由Google主導開發的RPC框架,使用HTTP/2協議並用ProtoBuf作為序列化工具。支援多種語言,之所以採用golang,是因為其特點:C家族,程式設計師上手容易、動態語言,開發效率高,coroutine機制實現、大規模併發方案,標準庫完善、部署容易。一、G

VMWareCentOS6.8的Greenplum4.3.12安裝

greenplum4.3安裝 centos6.8 vmware 經過查看網絡視頻、查找網上資料。安裝成功GP4.3。下面是安裝過程的目錄1. 實驗環境41.1. 硬件環境41.2. 虛擬機配置42. 系統設置(所有主節點和數據節點)42.1. 基礎環境設置42.1.1. 關閉iptables42.

CentOS6.8配置GO語言開發環境

應用程序 編程語言 處理器 谷歌 export 導讀Go語言是谷歌2009發布的第二款開源編程語言,Go語言專門針對多處理器系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持並行進程。 鑒於越來越多的開源項目都采用Go為開發語言,本文介紹Lin

centos6.8 配置服務器NTP服務

style shanghai 沒有 mar 如果 zha pda restart ref centos6.8 配置服務器NTP服務1.1. 配置服務器NTP服務1.1.1. 安裝和配置NTP先查看是否安裝NTPrpm -qa|grep ntp如果沒有安裝則安裝yum

centos6.8配置php-fpm(php已在apache中以模塊形式運行,nginx中同時以fastcgi運行)

-c mnt sock script 端口 cert erro 檢查 配置 location ~ \.php(.*)$ { root /mnt/www/wenyin; fastcgi_pass 127.0.0.1:9

vmware克隆Centos6.8虛擬機網卡無法啟動問題

linux 網卡設置[[email protected] ~]# sed -i ‘/UUID/d‘ /etc/sysconfig/network-scripts/ifcfg-eth0 [[email protected] ~]# sed -i ‘/HWADDR/d‘ /etc/syscon

VMware網絡配置的三種模式

tcp/ip ati 相對 導致 默認 互聯 外部網絡 網絡連接 外部 目錄 一 網絡配置中出現的錯誤及解決方案二 VMware下網絡配置的三種模式簡介1、橋接模式(Bridged)2、網絡地址轉化模式(NAT)3、僅主機模式(host-only) 網絡配置中出現的錯誤及解

初學Linux之VMwareCentOS6.10的安裝

a13 處理 bsp mir 是否 新建 磁盤分區 out 版本 一、虛擬機的新建及配置 首先安裝好VMware,版本自行選擇,本次操作以VMware14為例。安裝號VMware14之後,進入操作界面,如下圖所示: 點擊新建虛擬機,彈出如下界面:

centos6.8配置Java環境

file rwx path entos centos lib centos6 exp 解壓 首先到官網下載Java包解壓並放到/usr/local下面 [root@elk local]# pwd /usr/local [root@elk local]# ll -d jdk1

Centos6.8配置JDK

下載jdk-版本號.tar.gz 解壓到/usr/local/ vi /etc/profile 最後一行新增如下內容: export JAVA_HOME=/usr/local/jdk-版本號export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA

TCP/IP協議及配置檔案系統

TCP/IP協議及配置 • TCP/IP是最廣泛支援的通訊協議集合 – 包括大量Internet應用中的標準協議 – 支援跨網路架構、跨作業系統平臺的通訊 • 主機與主機之間通訊的三個要素 – IP地址(IP address)– 子網掩碼(

CentOS 7 安裝配置分散式檔案系統 FastDFS 5.11

            CentOS 7  安裝配置分散式檔案系統  FastDFS 5.11 前言:     FastDFS是現在比較流行的分散式檔案系

VMwareCentOS6.5在NAT網路模式虛擬機器之間互訪,虛擬機器和主機互訪

VMware下CentOS6.5在NAT網路模式下虛擬機器之間互訪,虛擬機器和主機互訪 1、在VMware中配置NAT網路模式 1.1 在虛擬機器設定中將網路介面卡設定為NAT模式 1.2 在VMware工具欄點選“編輯”-“虛擬網路編輯器”,在彈出的視窗中選擇“更改設定”

VMwareubuntu與Windows實現檔案共享的方法-------轉載

  最近安裝caffe需要將Windows下檔案拷貝到ubuntu16.04下,就進行了共享資料夾的設定,期間遇到一些困難,記錄下來,方便以後遇到此類問題不再困惑。 (記錄只為更好的分享) 言歸正傳: 1、首先需要在ubuntu下安裝vmware-tools來實現檔案共享,

使用VMware安裝CentOS6.8詳細教程

因為學習Python的需要,開始研究虛擬機器和新的作業系統,關於作業系統方面的知識完了再寫新的部落格,現在將在VM上安裝CentOS系統的完整流程分享給大家,希望可以幫助到迷茫的系統小白。 準備工作

linux使用kpartx掛載虛擬檔案系統

linux下使用kpartx掛載虛擬檔案系統在linux中,如果映像檔案(.img)含有分割槽表的話,那麼用losetup這個程式來載入檔案系統就有點力不從心了。因為losetup只能載入無分割槽的檔案

centos6上使用xfs檔案系統

   ext4目前也還沒有真的支援16TB以上的單分割槽空間,由於工具的限制,只能建立最大為16T的單分割槽決定直接用xfs 安裝xfs [[email protected] ~]$ yum install kmod-xfs xfsprogs [[emai