ISCSI共享存储_小头 linux挂载iscsi存储
实验结构图如下
LVS的配置请看之前发的帖子“web负载均衡集群(LVS)”
接下来我们来看下iscsi共享存储的详细搭建过程
ISCSI数据访问
iscsi通信端
。发起I/O请求的启动设备(Initiator)
。响应求情并执行实际I/O操作的目标设备(Target)
启动设备(Initiator)
。通过发现过程请求远程的块设备
。必须安装iSCSI设备驱动
。可以持久的连接iSCSI目标设备
本次实验通过软件实现(iscsi-initiator-utils.i386.rpm)
目标设备(Target)
。导出一个或多个块设备供启动设备使用
。硬件设备或软件服务实现(本次实验用scsi-target-utils软件包tgtd方式实现目标设备的导出)
所需最小硬件环境
目标设备(Target):PC server * 1 (用VMware模拟)
启动设备(Initiator):PC server * 3 (用VMware模拟)
操作系统:centos5.4-x86_64
服务软件:scsi-target-utils.i386 ,iscsi-initiator-utils.i386,cman.x86_64
gfs2-utils.x86_64 ,system-config-cluster.noarch
配置iSCSI目标设备(Target)
target端: ---> 192.168.1.90 Lance90
在Lance90上安装scsi-target-utilsRPM包
# yum search scsi
# yum install scsi-target-utils.i386 -y
划分一个分区出来供启动设备(Initiator)使用
# fdisk -l
# fdisk /dev/sdb
# partprobe /dev/sdb
编辑/etc/tgt/targets.conf配置文件,指定要共享的磁盘及启动设备
# vim /etc/tgt/targets.conf
backing-store /dev/sdb1
initiator-address 192.168.1.60
initiator-address 192.168.1.70
initiator-address 192.168.1.80
vendor_id 201203
product_id lance
启动tgtd服务为导出iSCSI设备做准备
# /etc/init.d/tgtd start
使用tgtadm命令导出iSCSI设备
# tgtadm --lldiscsi -m target --op show
配置iSCSI启动设备(Initiator)
init端: ---> 192.168.1.60 Lance60
192.168.1.70Lance70
192.168.1.80Lance80
在Lance60 70 80上安装iscsi-initiator-unitlscman gfs2-utilssystem-config-cluster RPM包
# yum search iscsi
# yum install iscsi-initiator-utils.i386 -y
# yum install -y cman gfs2-utilssystem-config-cluster
用system-config-cluster图形界面在Lance60上配置集群的配置文件cluster.conf
# system-config-cluster
点击Create NewConfiguration创建一个新的配置文件
输入集群名称(如gfs_iscsi),点击OK
选择Cluster Nodes点击右下角的Add a Cluster Node按钮
输入集群节点的名称(如Lance60)设置Votes值为1(不写也可以,默认为1)点击OK按钮
相同方法创建节点Lance70和 Lance80
点击FenceDevices添加fence设备
选择fence设备类型为ManualFencing,输入fence设备名为fence60,点击OK
相同方法创建fence设备Lance70Lance80
选择节点Lance60点击右下角的ManageFence For This Node按钮
选择Lance60,点击右下角的Adda New Fence Level按钮,为节点Lance60添加一个fence设备
点击Fence-Level-1编辑该fence设备为fence60,点击OK
用相同方法把节点Lance70添加到fence70里,把节点Lance80添加到fence80里
点击左上角的File,选择save保存配置文件(默认位置/etc/cluster/cluster.conf)
查看刚才通过图形化配置所生成的配置文件
# vi /etc/cluster/cluster.conf
<?xmlversion="1.0" ?>
<clusterconfig_version="2"name="gfs_iscsi">
<fence_daemonpost_fail_delay="0"post_join_delay="3"/>
<clusternodes>
<clusternodename="Lance60" nodeid="1"votes="1">
<fence>
<methodname="1">
<devicename="fence60" nodename="Lance60"/>
</method>
</fence>
</clusternode>
<clusternodename="Lance70" nodeid="2"votes="1">
<fence>
<methodname="1">
<devicename="fence70" nodename="Lance70"/>
</method>
</fence>
</clusternode>
<clusternodename="Lance80" nodeid="3"votes="1">
<fence>
<methodname="1">
<devicename="fence80" nodename="Lance80"/>
</method>
</fence>
</clusternode>
</clusternodes>
<cman/>
<fencedevices>
<fencedeviceagent="fence_manual"name="fence60"/>
<fencedeviceagent="fence_manual"name="fence70"/>
<fencedeviceagent="fence_manual"name="fence80"/>
</fencedevices>
<rm>
<failoverdomains/>
<resources/>
</rm>
</cluster>
把配置文件拷到Lance70和Lance80的/etc/cluster/目录下
# scp /etc/cluster/cluster.conf192.168.1.70:/etc/cluster/
# scp /etc/cluster/cluster.conf192.168.1.80:/etc/cluster/
Lance60#
启动守护设备模块和监听程序的脚本/etc/init.d/iscsid,用iscsiadm工具发现查看iSCSI目标设备
# /etc/init.d/iscsid start
# iscsiadm -m discovery -t st -p 192.168.1.90
启动自动挂接目标设备的脚本/etc/init.d/iscsi
# /etc/init.d/iscsi start
# fdisk -l
启动cman服务,cman---->网络通信(负责集群内部信息通讯)
# /etc/init.d/cman start
格式化目标设备共享出来的设备,即:启动设备通过iscsiadm工具发现的的设备(注:在一个init节点上格式化即可)
# mkfs.gfs2 -j 3 -J 16 -p lock_dlm -t gfs_iscsi:gfs2/dev/sdb
挂载设备到/opt目录下
# mount.gfs2 /dev/sdb /opt
Lance70#和Lance80#
# /etc/init.d/iscsid start
# iscsiadm -m discovery -t st -p192.168.1.90
# /etc/init.d/iscsi start
# fdisk -l
# /etc/init.d/cman start
# mount.gfs2 /dev/sdb /opt
测试信息是否同步
至此,我们的所有配置都完成了,现在来测试一下信息是否同步
测试过程如下:在Lance60上,追加a字母到/opt/a.txt这个文件里面
在Lance70上,追加b字母到/opt/a.txt这个文件里面
在Lance80上动态查看/opt/a.txt这个文件。
Lance60#
# while true ; do echo a >>/opt/a.txt ; sleep 1 ; done
Lance70#
# while true ; do echo b >>/opt/a.txt ; sleep 1 ; done
Lance80#
# tail -f /opt/a.txt
到此,整个实验过程完成。
Lance90上共享一块磁盘出来,Lance60,Lance70和Lance80把Lance90共享出来的磁盘挂载到/opt。
扩展:
udev(固定设备名称,唯一标识设备名)
Initiator端查看Target端共享出来的设备名称不唯一时使用。
如:Lance60查看到Target共享出来的设备名称是/dev/sdb,而Lance70和Lance80查看到Target端共享出来的设备名称却是/dev/sdc,这时就可用udec来固定设备名称。
udev大概配置如下(根据实际要求更改):
target端
# udevinfo -a -p /sys/block/sda/sda_ 查看SUBSYSTEM
init端
# cd /etc/udev/rules.d/
# vim 100-iscsi.rules
SUBSYSTEM=="block" ,SYSFS{model}=="lance" , SYSFS{vendor}=="201203", SYMLINK="mapper/idisk%n"
# start_udev 重新加载udev设备
# ls/dev/mapper/
# mount/dev/mapper/idisk//opt
由于本次实验,Initiator端发现Target共享出来的设备名称是一样的(都为/dev/sdb),所以就没用到udev。
更多阅读
KT猫香草慕斯_小潺 香草慕斯美瞳
前些日子,小妞一家来看小猪宝宝,我提前做了这款蛋糕给她带回家,反馈说味道很好呢!这个KT猫脸上有麻点,那是香草籽哈!这点不用我解释,小妞也是爱好烘焙之人,她完全理解滴
低热量奶香苏打饼干_小潺 低热量饼干
为自己做的无糖无油小饼干,没负担,饿的时候能吃好多,不过猪嫌没味道.如果切成细长条,可以考虑以后给小宝宝做磨牙棒,哈!做法和方子来自YOYO低热量奶香苏打饼干材料:面粉450g、奶粉50克、牛奶250克、酵母粉5g、小苏打5g、黄油20g烤箱
鼋与小头鳖 鼋与鳖的区别
最近有很多朋友问我关于鼋与小头鳖的一些问题,下面这篇文章可能会帮助大家。(文章和图片都来自网络)鼋与小头鳖是鳖科中最巨型的种类,成体平均体长都在一米以上,可谓十分魁伟。两者被传统分类系统分归在两个不同的属中,然而,它们在外形和解
杨小翼和她的风和日丽_小样儿a 风和日丽杨小翼
杨小翼,当然是《风和日丽》剧中女主角的名字,由马伊利扮演。也许,米有曲折,就米有故事,有故事的人原是那般可爱,而要书写这份可爱却要如此五味杂陈的经历。于是,听故事的人也沦陷啦。反正我是沦陷了,沉浸在一种连我自己也说不上来的滋味里,好
在酷我音乐盒上在线收听、下载音乐不了情_小童_音乐不了情 小童音乐不了情
亲爱的朋友们:你们好,告诉大家一个好消息:从今天开始你可以在酷我音乐盒上自由地收听、下载音乐不了情节目啦!下面小童用图示+文字的方式告诉你如何在线收听、下载音乐不了情节目:第一:在酷我音乐盒听歌软件的