RHCS+iscsi+叢集邏輯卷 配置共享儲存
服務對象為httpd
rhel 5.8
4台機器
192.168.1.100 檔案系統服務端
三台高可用用戶端
192.168.1.11
192.168.1.22
192.168.1.33
配置前準備:所有機器
同步時間
hosts檔案保持一緻
可配置雙機互信
- # Do not remove the following line, or various programs
- # that require network functionality will fail.
- 127.0.0.1 localhost.localdomain localhost
- ::1 localhost6.localdomain6 localhost6
- 192.168.1.100 target.kaka.cn target
- 192.168.1.11 k1.kaka.cn k1
- 192.168.1.22 k2.kaka.cn k2
- 192.168.1.33 k3.kaka.cn k3
三台節點上安裝httpd
簡單安裝即可 yum安裝
安裝完畢測試一下
沒有問題關閉服務
service httpd stop
并且關閉開機自動啟動
chkconfig httpd off
在三個節點上安裝rhcs需要的軟體
yum install cman rgmanager gfs2-utils(gfs2軟體包)
- 有一些依賴的包
- Running Transaction
- Installing : python-pycurl
- Installing : openais
- Installing : perl-XML-LibXML-Common
- Installing : gfs2-utils
- Installing : perl-XML-NamespaceSupport
- Installing : perl-XML-SAX
- Installing : python-suds
- Installing : perl-Net-Telnet
- Installing : pexpect
- Installing : perl-XML-LibXML
- Installing : cman
- Installing : rgmanager
安裝system-config-cluster 包
圖形化配置高可用叢集工具
三個節點上安裝在一台機器即可
我安裝在192.168.1.11這台節點上
使用system-config-cluster配置一下
為叢集設定一個名字 web_cluster
配置一個fence裝置使用手動fence裝置名字為 webfence
将3個節點加入進來
添加一個故障轉移域
添加兩個資源
VIP:192.168.1.254
http:
将兩個資源添加服務中
我的上一篇部落格有詳細一點的操作
位址 http://vincekey.blog.51cto.com/815438/1074454
service cman start
service rgmanager start
啟動服務看一下
用clustat指令 檢視一下節點狀态
- [root@k3 cluster]# clustat
- Cluster Status for web_cluster @ Tue Nov 27 14:58:48 2012
- Member Status: Quorate
- Member Name ID Status
- ------ ---- ---- ------
- k1.kaka.cn 1 Online, rgmanager
- k2.kaka.cn 2 Online, rgmanager
- k3.kaka.cn 3 Online, Local, rgmanager
- Service Name Owner (Last) State
- ------- ---- ----- ------ -----
- service:webserver k1.kaka.cn started
===================================================================
192.168.1.100上安裝 scsi-target-utils 包
yum -y install scsi-target-utils
在這台機器上我已經添加了一塊50G的磁盤
就用這塊盤當做共享存儲
Disk /dev/sdb: 53.6 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
- [root@target /]# cd /etc/tgt/ 配置檔案目錄
- [root@target tgt]# ls
- targets.conf 配置檔案
- 先将配置檔案備份一份
- cp targets.conf targets.conf.bak
- vim targets.conf
- 開始配置 在檔案中加入幾行
- <target iqn.2012-12.cn.kaka:target-sdb>
- #direct-store /dev/sdb ##直接存儲,通常指一個磁盤
- initiator-address 192.168.0.0/24 ##指定intiaor隻能是這個位址範圍
- backing-store /dev/sdb ##後備存儲,一般指一個分區,或lvm裝置
- #incominguser hadoop redhat ##定義基于賬戶認證Initiator,後面的是賬号與密碼
- #outgoinguser userA secretpassA ##Initiator也可以驗證target,這個target的賬号密碼
- </target>
- target 命名格式 iqn-name: iqn.yyyy-mm.<域名的反寫>後面随意
- 這台機器的主機名是 target.kaka.cn 改成 cn.kaka就好了後面的就無所謂了
- 用下邊指令檢視一下
- [root@target tgt]# tgtadm --lld iscsi --op show --mode target
- Target 1: iqn.2012-12.cn.kaka:target-sdb
- System information:
- Driver: iscsi
- State: ready
- I_T nexus information:
- LUN information:
- LUN: 0
- Type: controller
- SCSI ID: IET 00010000
- SCSI SN: beaf10
- Size: 0 MB, Block size: 1
- Online: Yes
- Removable media: No
- Readonly: No
- Backing store type: null
- Backing store path: None
- Backing store flags:
- LUN: 1
- Type: disk
- SCSI ID: IET 00010001
- SCSI SN: beaf11
- Size: 53687 MB, Block size: 512
- Online: Yes
- Removable media: No
- Readonly: No
- Backing store type: rdwr
- Backing store path: /dev/sdb
- Backing store flags:
- Account information:
- ACL information:
- 192.168.0.0/24
- LUN:1就是我們建立的
- 正常沒問題 關閉服務關閉開機自動啟動
- service tgtd stop
- chkconfig tgtd off
在k1,k2,k3上安裝iscsi-initiator-utils 用戶端工具 好像已經安裝過了
service iscsi start 啟動服務
連接配接伺服器端target指令
[root@k3 cluster]# iscsiadm -m discovery -t sendtargets -p 192.168.1.100
192.168.1.100:3260,1 iqn.2012-12.cn.kaka:target-sdb
- 登入共享磁盤指令
- iscsiadm -m node -T iqn.2012-12.cn.kaka:target-sdb -p 192.168.1.100 -l
- -m 指定模式 man 一下
- -t sendtargets 在discovery模式下使用
- -p portal 指定target的IP與端口,如果是預設端口3260可省略
- -l login 登入
- -u logout 登出
- [root@k1 iscsi]# iscsiadm -m node -T iqn.2012-12.cn.kaka:target-sdb -p 192.168.1.100 -l
- [root@k1 iscsi]# fdisk -l
- Disk /dev/sda: 214.7 GB, 214748364800 bytes
- 255 heads, 63 sectors/track, 26108 cylinders
- Units = cylinders of 16065 * 512 = 8225280 bytes
- Device Boot Start End Blocks Id System
- /dev/sda1 * 1 13 104391 83 Linux
- /dev/sda2 14 12761 102398310 83 Linux
- /dev/sda3 12762 16585 30716280 83 Linux
- /dev/sda4 16586 26108 76493497+ 5 Extended
- /dev/sda5 16586 16967 3068383+ 82 Linux swap / Solaris
- Disk /dev/sdb: 53.6 GB, 53687091200 bytes
- 64 heads, 32 sectors/track, 51200 cylinders
- Units = cylinders of 2048 * 512 = 1048576 bytes
- 在k1節點上看到有一塊50G的磁盤
- 測試成功關閉服務禁止開機自動啟動
- service iscsi start chkconfig iscsi off
安裝lvm2-cluster,讓gfs2支援卷組
輸入下面一行指令
lvmconf --enable-cluster 将鎖機制改為叢集邏輯卷鎖
service clvmd start 開啟服務
開始建立邏輯卷 基本和正常建立邏輯卷一樣
[root@k1 ~]# pvcreate /dev/sdb 建立實體卷
[root@k1 ~]# vgcreate lvmvg /dev/sdb 建立卷組
[root@k1 ~]# lvcreate -L 30G -n lvmlv lvmvg 建立邏輯卷
我建立了一個30G的邏輯卷
mkfs.gfs2 -p lock_dlm -t web_cluster:lvmss -j 3 /dev/myvg/mydata
格式化邏輯卷為叢集邏輯卷格式并制定3個日志檔案 因為有三個節點
web_cluster是叢集服務名
lvmss随意起的 隻要是一個唯一的名字就可以
- 結果如下:
- [root@k1 ~]# mkfs.gfs2 -p lock_dlm -t web_cluster:lvmss -j 3 /dev/lvmvg/lvmlv
- This will destroy any data on /dev/lvmvg/lvmlv.
- Are you sure you want to proceed? [y/n] y
- Device: /dev/lvmvg/lvmlv
- Blocksize: 4096
- Device Size 30.00 GB (7864320 blocks)
- Filesystem Size: 30.00 GB (7864318 blocks)
- Journals: 3
- Resource Groups: 120
- Locking Protocol: "lock_dlm"
- Lock Table: "web_cluster:lvmss"
- UUID: 69396B42-A43F-652F-1077-88D10B3036D1
然後在各節點挂載此卷 因為之前建立的高可用服務是http服務
是以挂載目錄挂載到網頁的預設位置
mount /dev/lvmvg/lvmlv /var/www/html/
裡面建立個檔案
echo "GFS lvm" > /var/www/html/index.html
一個節點上修改此檔案 其他節點就不能修改了
檢視一下網頁
