[root@manager ~]# fdisk /dev/xvdc \\存儲節點挂有磁盤,空間1T
[root@manager ~]# yum installscsi-target-utils -y \\安裝target管理端
其中backing-store指定共享的磁盤,incominguser指定用于驗證的使用者和密碼,initiator-address允許連接配接的位址
[root@storage1 ~]# /etc/rc.d/init.d/tgtd start &&chkconfig tgtd on
<a href="http://s3.51cto.com/wyfs02/M00/6D/9A/wKiom1VnDBmz0nWqAAFwxHR2k1Q581.jpg" target="_blank"></a>
[root@manager ~]# for i in {1..3}; do ssh openstack.node$i "yum -yinstall iscsi-initiator-utils"; done \\節點安裝iscsi用戶端軟體
[root@node1 ~]# vim /etc/iscsi/iscsid.conf \\所有節點配置檔案加上以下3行,設定賬戶密碼
node.session.auth.authmethod = CHAP
node.session.auth.username = openstack
node.session.auth.password =oepnstack
[root@node1 ~] iscsiadm -mdiscovery -t st -p 192.168.249.64 //發現共享裝置
192.168.249.64:3260,1 iqn.2015-05.com.si-tech:target1
[root@node1 ~]iscsiadm -m node –l iqn.2015-05.com.si-tech:target1 \\注冊iscsi共享裝置
<a href="http://s3.51cto.com/wyfs02/M01/6D/96/wKioL1VnDcDgwLdtAAGCVthsC4A981.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M01/6D/9A/wKiom1VnDEKxfichAAEWnGmfdQU439.jpg" target="_blank"></a>
[root@node1 ~]# netstat -nlatp | grep 3260 連接配接情況
<a href="http://s3.51cto.com/wyfs02/M02/6D/9A/wKiom1VnDFWCB_pVAAEcPyXw01g674.jpg" target="_blank"></a>
[root@node1 ~]# fdisk -l \\ 在各個節點上面都會多出個iscsi裝置
Disk /dev/sda: 1073.7 GB, 1073741824000 bytes
255 heads, 63 sectors/track, 130541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Physical volume"/dev/sda" successfully created
[root@node1 ~]# vgcreate openstackvg0 /dev/sda \\建立vg
Clustered volume group "openstackvg0"successfully created
[root@node1 ~]# lvcreate -L +1000Gopenstackvg0 -n openstacklv0 \\建立大小為1T的lv
<a href="http://s3.51cto.com/wyfs02/M01/6D/96/wKioL1VnDhyzYcZXAAGJpV9nIz8116.jpg" target="_blank"></a>
[root@openstack iscsi]# lvmconf--enable-cluster 每個節點開啟叢集LVM功能,才能mklv
[root@openstack iscsi]# lvcreate-L +100G openstackvg0 -n openstacklv0
Logical volume "openstacklv0" created
登陸其他節點驗證,可以看到已經都有了
<a href="http://s3.51cto.com/wyfs02/M02/6D/96/wKioL1VnDfviMOmUAADzGNBVNXo287.jpg" target="_blank"></a>
[root@node2 ~]# mkfs.gfs2 -j 3 -p lock_dlm -t openstack:gfs2/dev/openstackvg0/openstacklv0
-p:用來指定gfs的鎖機制
-j:指定journal個數(可加入節點數),一般情況下應留有備援,否則後期還得再調整
檢視journals:# gfs2_tool journals /openstack
增加journals:# gfs2_jadd –j 1 /openstack ##增加一個journals
-t:格式為ClusterName:FS_Path_Name
ClusterName:應與前面cluster.conf中指定的叢集名稱相同;
FS_Path_Name:這個塊裝置mount的路徑;
最後一個參數是指定邏輯卷的詳細路徑
\\建立gfs2叢集檔案系統,并設定節點為3個,鎖協定為lock_dlm,openstack為我們的叢集名,gfs2為一個标志也可以任意
<a href="http://s3.51cto.com/wyfs02/M02/6D/96/wKioL1VnDkeBqupEAAG5Pgqv3Sk952.jpg" target="_blank"></a>
[root@openstack usr]# mount/dev/openstackvg0/openstacklv0 /openstack/
fs is for a different cluster
error mounting lockproto lock_dlm
這是因為我們使用的叢集時gfs是以改為gfs
<a href="http://s3.51cto.com/wyfs02/M00/6D/9A/wKiom1VnDNKDHCkAAAGgJMGOOAs116.jpg" target="_blank"></a>
[root@openstack usr]# mount /dev/openstackvg0/openstacklv0 /openstack/
[root@openstack usr]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_openstack-lv_root 35G 4.5G 29G 14% /
tmpfs 7.6G 32M 7.6G 1% /dev/shm
/dev/xvda1 485M 35M 426M 8% /boot
/dev/xvdd1 4.2G 4.2G 0 100% /mnt
/dev/mapper/openstackvg0-openstacklv0 110G 388M 110G 1% /openstack
echo "/dev/openstackvg0/openstacklv0 /openstack gfs2 defaults 00" >> /etc/fstab
1)、當基于clvm的gfs2檔案系統不夠用時,如何增加
[root@node1~]# lvextend -L +10G /dev/openstackvg0/openstacklv0
Extending logical volume openstacklv0 to 110.00 GiB
Logical volume openstacklv0successfully resized
<a href="http://s3.51cto.com/wyfs02/M01/6D/96/wKioL1VnDnawp2ZEAACMdFxNsFY849.jpg" target="_blank"></a>
[root@node1 ~]# gfs2_grow /openstack \\同步檔案系統
FS: Mount Point: /openstack
FS: Device: /dev/dm-2
FS: Size: 28835838(0x1b7fffe)
FS: RG size: 65533 (0xfffd)
DEV: Size: 31457280(0x1e00000)
The file system grew by 10240MB.
gfs2_grow complete. gfs2_grow complete.
[root@openstack ~]# df -h
/dev/xvda1 485M 35M 426M 8% /boot
2)、當節點不夠用時,如果添加一個新的節點加入叢集
步驟如下:
1)、安裝ricci
[root@node4 ~]# yum install ricci -y
2)、登入luci web,添加ricci
3)、導入共享儲存設備
[root@node4 ~]# iscsiadm -m discovery -t st -p 192.168.249.64
[root@node1~]# scp/etc/iscsi/iscsid.conf node4:/etc/iscsi/
[root@node4 ~]# iscsiadm -m node –l iqn.2015-05.com.si-tech:target1
4)、在已成功挂載的節點上增加節點數,并實作挂載使用
(注意:如果系統看不到/dev/openstackvg0/openstacklv0,則重新啟動節點系統即可生效)
[root@node4 ~]# mount /dev/cvg0/clv0 /openstack/ \ \節點數不夠
Too many nodes mounting filesystem, no free journals
[root@node2 ~]# gfs2_jadd -j 1 /optenstack \\增加一個節點數
Filesystem: /opt
Old Journals 3
NewJournals 4
[root@node4 ~]# mount /dev/cvg0/clv0 /opt/
[root@node4 ~]# ll /opt/
total 4
-rw-r--r-- 1 root root 210 Jun 8 00:42 test.txt
[root@node4 ~]#
3、)、測試基于gfs2檔案系統的叢集節點是否支援同時讀寫操作
[root@node1 ~]# echo node1 >>/openstack/test.txt\\節點1模拟向test.txt檔案寫入node1
[root@node2 ~]#echo node2 >>/openstack/test.txt \\節點2模拟向test.txt檔案寫入node2
[root@node3 ~]# tail -f /openstack/test.txt \\節點3模拟讀出節點1和節點2同時寫入的資料
node1
node2
4)、如果資料很重要并且磁盤空間也充足可以考慮使用cmirror實作存儲高可用這裡簡述一下步驟
存儲節點添加備份磁盤,修改targets.conf檔案
資料節點使用iscsiadm指令發現并使用備份磁盤
資料節點需要按cmirror軟體,并備份:yum install cmirror –y
lvconvert -m 1 /dev/openstackvg0/openstacklv0 /dev/sda /dev/sdb \\建立先有lv的mirror
[root@node1 ~]# dmsetup ls –tree \\檢視現有iscsi導出裝置的狀态為mirror型
cvg0-clv0 (253:1)
├─cvg0-clv0_mimage_1 (253:5)
│└─iscsi2 (253:2)
│├─ (8:48)
│└─ (8:64)
├─cvg0-clv0_mimage_0 (253:4)
│└─iscsi1 (253:0)
│├─ (8:32)
│└─ (8:16)
└─cvg0-clv0_mlog (253:3)
└─iscsi2 (253:2)
├─ (8:48)
└─ (8:64)
本文轉自zsaisai 51CTO部落格,原文連結:http://blog.51cto.com/3402313/1656133