数据共享存储相关知识点简单介绍
DMDSC数据共享集群能自动存储管理所使用的磁盘,需要能够识别所需的磁盘并有正确的拥有组和读写权限,所以使用RAW和ASMLIB的方式来绑定磁盘,其中RAW的方式又有MULTIPATH和UDEV两种方法。
在Linux环境中,可以使用ASMLIB程序来管理这些任务,但ASMLIB被看作是一个复杂的附加层,从来没有真正得到任何流行。在实际生产环境中,许多人使用Linux的设备管理器UDEV来代替ASMLIB。
RAW设备就是通过字符方式访问的设备,也就是读写设备不需要缓冲区。在Linux环境下,对磁盘值提供了块方式的访问。要想通过字符方式访问,必须配置RAW设备服务,并且DM用户对这些RAW设备必须有访问的权限。
Redhat 6.3+MULTIPATH多路径配置
本次实验中共享存储中有2块磁盘,此处不需要对磁盘进行分区操作,等集群节点识别到共享磁盘后,再进行分区操作。在实际工作环境中,都会使用光纤去连接共享存储,只要光纤连接就能找到共享存储。如果不是光纤去连接共享存储,就要使用ISCSI协议来连接共享存储。
1、配置RAW
MULTIPATH配置就是为了保证每次机器重启时所绑定的实际的物理磁盘不变,如果用户只是简单测试没有重启操作或者通过其他途径避免这个问题,相关配置如下:
1.1、环境准备
yum –y install device-mapper device-mapper-multipath ## 安装软件 chkconfig –level 2345 multipathd on ## 开机自启 lsmod |grep dm_multipath ## 软件状态 |
1.2、配置文件
MULTIPATH的配置文件默认在/etc/multipath.conf下,需要配置以下参数,其中wwid是唯一标识一个物理磁盘,alias为别名可以随意命名。我们通过“multipath -v3 | grep uid”命令来查看物理磁盘的wwid号。例如:
vim /etc/multipath.conf multipaths { multipath { wwid "IET 00010001" alias asm-disk1 } multipath { wwid "1IET 00010002" alias asm-disk2 } } |
1.3、重启服务:
service multipathd restart |
1.4、查看路径:
在重启服务后,使用“multipath -ll”命令查看绑定的多路径,在/dev/mapper/目录下就可以看到asm-disk1、asm-disk2等有别名类的设备
2、绑定设备
一般情况下会把RAW的配置是写入到了/etc/udev/rules.d/60-raw.rules文件中,直接进行磁盘绑定,也能扫描发现的共享磁盘,这种方式在系统重启后,绑定关系不会丢失,但磁盘名称可能会发生变化(乱盘现象)。我们直接使用“配置文件+MULTIPATH别名”的方式进行绑定。
配置文件的方式在系统重启后,绑定关系不会丢失,但是磁盘名称可能会发生变化。如果配置MULTIPATH,设置有虚拟磁盘,此处可以直接用虚拟磁盘来绑定,就不会发生磁盘盘符变化的情况了,推荐使用multipath.conf文件中设置的别名。
A、修改文件 vi /etc/udev/rules.d/60-raw.rules KERNEL=="dm-*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1IET_00010001",NAME="asm-diskb",OWNER="dmdba",GROUP="dinstall",MODE="0660" KERNEL=="dm-*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1IET_00010002",NAME="asm-diskc",OWNER="dmdba",GROUP="dinstall",MODE="0660" B、启动服务: start_udev |
文件/etc/udev/rules.d/60-raw.rules中的磁盘绑定规则,推荐使用脚本来自动生成,手动编写磁盘绑定规则,出现失误的情况会大大增加。
for i in b c ; do echo "KERNEL==\"dm-*\", SUBSYSTEM==\"block\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",NAME=\"asm-disk$i\",OWNER=\"dmdba\",GROUP=\"dinstall\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracleasm.rules done |
3、查看结果
ls -lsa /dev/ |
补充内容:使用ISCSI协议挂载磁盘
1、配置环境说明
机器用途 | IP地址 | 操作系统 |
集群第一个节点 | 192.168.10.120 | Red Hat 6.3 64位 |
集群第二个节点 | 192.168.10.122 | Red Hat 6.3 64位 |
共享存储节点 | 192.168.10.124 | Red Hat 6.3 64位 |
2、共享存储配置
这里通过ISCSI协议实现共享存储,在三台机器上分别安装iscsi工具并启动相应的服务,还需要在124机器上添加两块盘(sdb和sdc)来做共享存储:
安装: yum install -y scsi-target-utils # 目标设备(存储节点) yum install –y iscsi-initiator-utils # 启动设备(集群节点) 启动: service tgtd start # 目标设备(存储节点) service iscsi restart # 启动设备(集群节点) |
2.1、配置目标设备
在124机器上添加两块磁盘(也可以是多块磁盘,磁盘数量没有限制),不需要进行分区,然后给这2块磁盘打上IQN标签号,并且写到配置文件中,这样将会永久生效。
A、创建一个Target: tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2021-09.com.shared.dm:store.data B、查看创建的Target tgtadm --lld iscsi --op show --mode target C、添加设备到Target tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 2 --backing-store /dev/sdc tgtadm --lld iscsi -o bind -m target -t 1 -I 192.168.10.0/24 D、查看添加结果: tgtadm --lld iscsi --op show --mode target E、写入配置文件: vim /etc/tgt/targets.conf ----------write config to /etc/tgt/targets.conf------------ <target iqn.2021-09.com.shared.dm:store.data> backing-store /dev/sdb backing-store /dev/sdc </target> |
2.2、配置启动设备
在120和122机器上事先已经安装好并启动iscsi服务,下面的操作在这两台服务器都相同,就是发现iSCSI目标设备。
A、发现iSCSI设备 iscsiadm -m discovery -t sendtargets -p 192.168.10.124 B、重启ISCSI服务 service iscsi restart |
此时执行fdisk命令,在120和122机器上就会发现多出2块硬盘,则代表配置成功,另外注意这里的盘符名称和124上的裸设备盘符名称不一定相同,可以根据大小等特征来确定,如果没有发现成功,可尝试重启服务或重启机器。