集群cluster篇-----3.存储技术与应用 、 iSCSI技术应用 、 udev配置 、 NFS网络文件系统 、 Multipath多路径

1.存储概念;根据不同应用环境采取合理安全有效的方式将数据保存到某些介质
2.存储技术分类:
1.scsi技术:Small Computer System Interface----小型计算机系统接口
作为输入输出接口------主要应用于硬盘光盘;iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料
是块数据传输协议;是FC(FiberC h a n n e l,光纤通道)最有力的竞争对手


2.DAS技术:Direct-Attached Storage------直接式存储
将存储设备通过SCSI接口或光纤通道直接连接到计算机不实现数据共享;占用服务器资源如cpu IO;数据量大,性能大


3.NAS技术:Network-Attached Storage----网络技术存储
数据存储服务器,存储设备与服务器分离
释放带宽、提高性能、降低成本、保护投资
用户通过TCP/IP协议访问数,据采用NFS/HTTP/CIFS


4.SAN技术:Storage Area Network------存储区域网络:
通过光纤交换机、光纤路由器、光纤集线器将磁盘阵列、磁带等存储设备与服务器连接起来形成高速专用网络;SAN实际是一种专门为存储建立的独立于TCP/IP网络之外的专用网络
组成部分:路由器光线交换机
接口:SCSI FC
通信协议:IP、SCSI
5.FC技术:Fibre Channel------光纤通道
适用于千兆数据传输 高传输速率 更远距离传输 多设备支持 性能稳定 
组件:光纤、HBA、FC交换机


101 102 前端应用
201 后端存储
+++++++++++++++++++++++++++
3.准备
201存储服务器把本机的磁盘B和C共享给前端的应用服务器(101 102)
配置后端存储201
4.操作流程
Target端:
1准备存储介质/dev/vdb/ /dev/vdc/ /dev/vdd
2选择target名字
3.装包iscsi target
4.准备target 的存储
5.配置target
6.起服务
Initiator
安装initiator
配置initiator并启动服务
5.iscsi命名规范:
采用IQN
全称必须全局唯一
iqn...[:]
iqn.2017-11.cn.tedu:storage201.diskb
6.安装包
[root@SCSI201 ~]# yum -y install scsi-target-utils #装包
7.备份
[root@SCSI201 ~]# cp /etc/tgt/targets.conf /root  #备份
8.改配置
[root@SCSI201 ~]# vim /etc/tgt/targets.conf   #改配置永久生效

        backing-store /dev/vdb
         write-cache off
        vendor_id tarena
        venduct_id disktwo
        initiator-address 192.168.4.101
        initiator-address 192.168.4.102
#    vendor_id MyCompany Inc.


        backing-store /dev/vdc
         write-cache off
        vendor_id tarena
        venduct_id diskthree
        initiator-address 192.168.4.101
        initiator-address 192.168.4.102



9.起服务
[root@SCSI201 ~]# service tgtd status   #看服务状态
tgtd 已停
[root@SCSI201 ~]# service tgtd start   #起服务
正在启动 SCSI target daemon:                              [确定]
[root@SCSI201 ~]# netstat -natulp | grep :3260  #查看端口
tcp        0      0 0.0.0.0:3260                0.0.0.0:*                   LISTEN      1892/tgtd           
tcp        0      0 :::3260                     :::*                        LISTEN      1892/tgtd           
[root@SCSI201 ~]# tgt-admin --show
Target 1: iqn.2017-11.cn.tedu:storage201.diskb
 LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 5369 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/vdb
            Backing store flags: 
Target 2: iqn.2017-11.cn.tedu:storage201.diskc
Type: disk
            SCSI ID: IET     00020001
            SCSI SN: beaf21
            Size: 5369 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/vdc
            Backing store flags: 
ACL information:
        192.168.4.101
        192.168.4.102




10.配置客户端Initiator
1.安装客户包
[root@101 ~]# yum -y install iscsi-initiator-utils
[root@102 ~]# yum -y install iscsi-initiator-utils
2.查看命令用法:
[root@102 ~]# man iscsiadm
3.发现可用target
[root@102 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.201 --discover
正在启动 iscsid:                                          [确定]
192.168.4.201:3260,1 iqn.2017-11.cn.tedu:storage201.diskb
192.168.4.201:3260,1 iqn.2017-11.cn.tedu:storage201.diskc
4.登陆target
[root@102 ~]# iscsiadm --mode node --targetname iqn.2017-11.cn.tedu:storage201.diskc --portal 192.168.4.201:3260 --login
Logging in to [iface: default, target: iqn.2017-11.cn.tedu:storage201.diskc, portal: 192.168.4.201,3260] (multiple)
Login to [iface: default, target: iqn.2017-11.cn.tedu:storage201.diskc, portal: 192.168.4.201,3260] successful.
5.查看
[root@102 ~]# iscsiadm --mode node
192.168.4.201:3260,1 iqn.2017-11.cn.tedu:storage201.diskc
192.168.4.201:3260,1 iqn.2017-11.cn.tedu:storage201.diskb
[root@102 ~]# ls /dev/sd*
/dev/sda  /dev/sdb
[root@102 ~]# iscsiadm --mode node --targetname iqn.2017-11.cn.tedu:storage201.diskc --portal 192.168.4.201:3260 -u
Logging out of session [sid: 1, target: iqn.2017-11.cn.tedu:storage201.diskc, portal: 192.168.4.201,3260]
Logout of [sid: 1, target: iqn.2017-11.cn.tedu:storage201.diskc, portal: 192.168.4.201,3260] successful.
[root@102 ~]# ls /dev/sd*
/dev/sdb
udevadm info --query=path --name=/dev/sda
[root@102 rules.d]# udevadm info --path=/devices/platform/host4/session3/target4:0:0/4:0:0:1/block/sdb --attribute-walk


vim 70-iscsi.rules
SUBSYSTEM=="block",ATTR{size}=="10485760",ATTRS{vendor}=="tarena  ",ATTRS{model}=="VIRTUAL-DISK    ",SYMLINK+="iscsi/diskb"
SUBSYSTEM=="block",ATTR{size}=="10485760",ATTRS{vendor}=="tarena  ",ATTRS{model}=="VIRTUAL-DISK    ",SYMLINK+="iscsi/diskc"
start_udev  
[root@101 rules.d]# ls /dev/sd*
/dev/sda  /dev/sdb
[root@101 rules.d]# ls /dev/iscsi/
diskb  diskc


moun
内核识别一个名字diskb
***************************************************************************
二.
1.设备文件管理方法
devfs 早期linux静态管理方法
udev  、
只有连到系统上来的设备才在/dev下创建设备文件
与主、次设备编号无关
为设备提供持久、一致的名字
2.接入设备事件链


3.udev的作用
从内核收到添加/移除硬件设备事件时,udev将会分析:
--/sys目录下信息
--/etc/udev/rules.d目录中的规则
基于分析结果,udev会:
处理设备命名
决定要创建哪些设备文件或连接
决定如何设置属性
决定触发哪些事件
4.1获取磁盘的参数
4.2编写udev文件
4.3重启 start_udev
4.4 查看是否生成对应的连接文件:查看/dev目录下是否有对应的设备名


5分区
#fdisk 磁盘名
6格式化
#mkfs.ext3 分区名
7挂载
mount -t 文件系统类型 分区名 挂载点
8 存储数据
#vim 挂载点/test.html
学习扩展连接:
https://www.cnblogs.com/sopost/archive/2013/01/09/2853200.html
*****************************************************************************
1.文件系统的类型;
本地文件系统:ext3/4 swap NTFS----------本地磁盘
伪文件系统:/proc、/sys-----------------内存空间
网络文件系统:NFS-----------------------网络存储空间


201存储服务器把本机的磁盘D NAS共享给前端的应用服务器
NFS共享协议依赖RPC(远程过程调用)影射机制


一。存储服务器的配置[root@SCSI201 ~]#
1.1提供存储空间
#fdisk /dev/vdd >n->p->1->回车->回车->w
#fdisk -l /dev/vdd1
#mkfs.ext4 /dev/vdd1
#mkdir shardir
#mount /dev/vdd1 /dhardir
#df -h /shardir
1.2使用NFS服务共享磁盘挂载目录
1.装包 #rpm -q nfsd-utils rpcbind
2.服务#service rpcbind start;chkconfig rpcbind on
3.配置#vim /etc/exports
/shardir 192.168.4.101(rw) 192.168.4.102(rw)
4.服务#service nfs start;chkconfig nfs on
#chmod o+w /shardir
5[root@SCSI201 ~]# showmount -e localhost
Export list for localhost:
/shardir 192.168.4.102,192.168.4.101 


客户端操作
[root@102 rules.d]# yum -y install nfs-utils
[root@102 rules.d]# service rpcbind start
正在启动 rpcbind:                                         [确定]
[root@102 rules.d]# chkconfig rpcbind on
[root@102 rules.d]# service nfs start
[root@102 rules.d]# showmount -e 192.168.4.201
Export list for 192.168.4.201:
/shardir 192.168.4.102,192.168.4.101
[root@102 rules.d]# mount -t nfs 192.168.4.201:/shardir/ /var/www/html
测试
[root@102 rules.d]# ls /var/www/html
lost+found
[root@102 html]# vim a.html
[root@101 www]# vim html/bb.html
[root@SCSI201 ~]# ls /shardir/
a.html  bb.html  lost+found


*************************************************************************************
多路径访问服务器
面试讲述技巧:多路径的功能就是冗余,主备模式,高可用;改进性能:主主模式,负载均衡。
在这之前我们首先要搭建一个共享存储服务器配置ISCSI服务器;给虚拟机添加一块磁盘
:准备共享介质
:安装Sscsi-target-utils
:准备规划iqn名称
修改target。conf配置文件,以提供存储
启动tgtd服务


客户端多个路径访问一个存储服务器,那么就需要客户端与服务器两个网卡,在一个路径登陆到服务器时,然后又从另一个路径登陆时,怎么确定识别这是同一个服务器呢,每个路径设备都有一个wwid(全球识别符)默认会将多路径设备作为他的wwid,也可以自定义,那么我们怎么获取wwid,
多路径概述


多路径访问服务器节点多个I/O路径配置为一个单一设备
多路径功能:冗余:主备模式,高可用
    改进性能:主主模式,负载均衡
多路径配置
1.在存储服务器上共享本纪硬盘,共享给多个网段的IP地址
2.在前端应用服务器通过多个网段的IP地址发现设备和登陆设备
3.查看登入设备的wwid
4.安装提供多路径的软件包yum -y install scsi-target-utils
5.创建服务的主配置文件
6.编辑服务的主配置文件
7.启动服务并设置开机运行
8.查看是否生成
9 分区 、格式化 别名名称  挂载设备


RHCS    --- week/week-Cluster/RHCS/
[root@101 ~]#yum -y install scsi-target-utils
[root@101 ~]# iscsiadm --mode discovery --type sendtargets --portal 192.168.4.201 --discover
[root@101 ~]# service iscsi restart 
停止 iscsi:                                               [确定]
正在启动 iscsi:                                           [确定]
[root@101 ~]# chkconfig iscsi on
多路径设备:DM Multipath,从服务器节点到存储控制器的每条路径都会被系统视为独立的设备,即使I/O路径连接的是相同的服务器节点到相同的储存服务器
DM Multipath提供逻辑的管理I/O路径的方法
vim /etc/multipath.conf
defaults {
user_friends
4 部署Multipath多路径环境
4.1 问题


通过Multipath,实现以下目标:
在共享存储服务器上配置iSCSI,为应用服务器共享存储空间
应用服务器上配置iSCSI,发现远程共享存储
应用服务器上配置Multipath,将相同的共享存储映射为同一个名称
4.2 方案


配置2台虚拟机,每台虚拟机均为三块网卡:
eth0用作网络通信
eth1和eth2用于iSCSI存储
具体配置如表-3所示
表-3 各节点IP地址配置


4.3 步骤


实现此案例需要按照如下步骤进行。
步骤一:存储节点上添加额外的磁盘


使用VMware软件新建(或修改)虚拟机,为虚拟机额外添加一块硬盘。
步骤二:存储节点上安装并配置共享存储


1)安装target软件
打开命令行终端,执行以下命令:
[root@storage ~]# vim /etc/tgt/targets.conf
添加以下内容:

        backing-store /dev/sdb1
        initiator-address 192.168.1.10
        initiator-address 192.168.2.10

2)启动服务并查看结果
[root@storage ~]# service tgtd start
[root@storage ~]# chkconfig tgtd on
[root@storage ~]# tgt-admin -s
Target 1: iqn.2016-05.cn.tedu.storage
    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
            Prevent removal: 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: 2147 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb1
            Backing store flags: 
    Account information:
    ACL information:
        192.168.1.10
        192.168.2.10
注意以上的输出,正确的结果必须有LUN1,它记录的是共享磁盘信息。下面的ACL指的是该共享存储允许哪些应用服务器使用。
步骤三:在应用服务器上安装并配置iSCSI客户端


1)安装客户端软件
[root@srv0 yum.repos.d]# yum list | grep iscsi
iscsi-initiator-utils.x86_64           6.2.0.873-14.el6                   Server
[root@srv0 yum.repos.d]# yum install -y iscsi-initiator-utils
2)发现存储服务器的共享磁盘
因为有两条链路都可以连接到共享存储,所以需要在两条链路上都发现它。
[root@srv0 桌面]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.1.20 --discover
正在启动 iscsid:                                          [确定]
192.168.1.20:3260,1 iqn.2016-05.cn.tedu.storage
[root@srv0 桌面]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.20 --discover
192.168.2.20:3260,1 iqn.2016-05.cn.tedu.storage
[root@srv0 桌面]# 
3)登陆共享存储
只需要将iscsi服务重启就可以自动登陆。在login之前,只能看到本地的存储,登陆之后,将会多出两块新的硬盘。
[root@srv0 ~]# lsblk 
NAME                        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                           8:0    0   200G  0 disk 
├─sda1                        8:1    0   500M  0 part /boot
└─sda2                        8:2    0 199.5G  0 part 
  ├─VolGroup-lv_root (dm-0) 253:0    0    50G  0 lvm  /
  ├─VolGroup-lv_swap (dm-1) 253:1    0   3.9G  0 lvm  [SWAP]
  └─VolGroup-lv_home (dm-2) 253:2    0 145.6G  0 lvm  /home
sr0                          11:0    1   3.6G  0 rom  /media/cdrom
[root@srv0 ~]# service iscsi restart
停止 iscsi:                                               [确定]
正在启动 iscsi:                                           [确定]
[root@srv0 ~]# lsblk 
NAME                        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                           8:0    0   200G  0 disk 
├─sda1                        8:1    0   500M  0 part /boot
└─sda2                        8:2    0 199.5G  0 part 
  ├─VolGroup-lv_root (dm-0) 253:0    0    50G  0 lvm  /
  ├─VolGroup-lv_swap (dm-1) 253:1    0   3.9G  0 lvm  [SWAP]
  └─VolGroup-lv_home (dm-2) 253:2    0 145.6G  0 lvm  /home
sr0                          11:0    1   3.6G  0 rom  /media/cdrom
sdb                           8:16   0     2G  0 disk 
sdc                           8:32   0     2G  0 disk 
[root@srv0 ~]#
4)设置开机自启动
iscsi用于自动login远程存储,iscsid是守护进程。
[root@srv0 ~]# chkconfig iscsid on
[root@srv0 ~]# chkconfig iscsi on
步骤四:配置Multipath多路径


1)安装多路径软件包
[root@srv0 ~]# yum list | grep multipath
device-mapper-multipath.x86_64         0.4.9-87.el6                       Server
device-mapper-multipath-libs.i686      0.4.9-87.el6                       Server
device-mapper-multipath-libs.x86_64    0.4.9-87.el6                       Server
[root@srv0 ~]# yum install -y device-mapper-multipath
2)生成配置文件
[root@srv0 ~]# mpathconf --user_friendly_names n
此处的选项是不使用系统默认的命名方法,共享存储在生产环境下很有可能是多台应用服务器共同使用。如果使用系统默认命名方法,每台应用服务器为共享存储起的名字不一定相同,这将给管理员带来很大的使用上的不便。关闭系统默认命名方法,共享存储的名字由管理员手工指定。
3)获取wwid
登陆共享存储后,系统多了两块硬盘,这两块硬盘实际上是同一个存储设备。应用服务器使用哪个都可以,但是如果使用sdb时,sdb对应的链路出现故障,它不会自动切换到sdc。
为了能够实现系统自动选择使用哪条链路,需要将这两块磁盘绑定为一个名称。通过磁盘的wwid来判定哪些磁盘是相同的。
取得一块磁盘wwid的方法如下:
[root@srv0 ~]# scsi_id --whitelisted --device=/dev/sdb 
1IET     00010001
[root@srv0 ~]#
4)修改配置文件
首先声明获取wwid的方法:
[root@srv0 ~]# vim /etc/multipath.conf
defaults {
        user_friendly_names no
        getuid_callout          "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
}
然后在文件的最后加入多路径声明,如果哪个存储设备的wwid和第(3)步获取的wwid一样,那么,为其取一个别名,叫mpatha。
multipaths {
    multipath {
        wwid    "1IET     00010001"
        alias   mpatha
    }
}
步骤五:启用Multipath多路径,并测试


1)启动Multipath,并设置为开机启动
[root@srv0 ~]# service multipathd start
正在启动守护进程multipathd:                               [确定]
[root@srv0 ~]# chkconfig multipathd on
2)检查多路径设备文件
如果多路长设置成功,那么将在/dev/mapper下面生成名为mpatha的设备文件:
[root@srv0 ~]# ls /dev/mapper/
control  mpatha  VolGroup-lv_home  VolGroup-lv_root  VolGroup-lv_swap
3)对多路径设备文件执行分区、格式化、挂载操作
[root@srv0 ~]# fdisk -cu /dev/mapper/mpatha 
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x205c887e.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n      #创建分区
Command action
   e   extended
   p   primary partition (1-4)
p                      #分区类型为主分区
Partition number (1-4): 1      #分区编号为1
First sector (2048-4194303, default 2048):   #起始扇区回车
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303):  #回车
Using default value 4194303
Command (m for help): w       #保存并退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
新的分区名称应该是/dev/mapper/mpathap1,如果该文件不存在,则执行以下命令进行配置的重新载入:
[root@srv0 ~]# partprobe ; multipath -rr
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (设备或资源忙).  As a result, it may not reflect all of your changes until after reboot.
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sr0 (无效的参数).  As a result, it may not reflect all of your changes until after reboot.
reload: mpatha (1IET     00010001) undef IET,VIRTUAL-DISK
size=2.0G features='0' hwhandler='0' wp=undef
|-+- policy='round-robin 0' prio=1 status=undef
| `- 34:0:0:1 sdb 8:16 active ready running
`-+- policy='round-robin 0' prio=1 status=undef
  `- 33:0:0:1 sdc 8:32 active ready running
[root@srv0 ~]# ls /dev/mapper/    #再次查看,将会看到新的分区
control  mpatha  mpathap1  VolGroup-lv_home  VolGroup-lv_root  VolGroup-lv_swap
[root@srv0 ~]#
创建目录并挂载:
[root@srv0 ~]# mkfs.ext4 /dev/mapper/mpathap1
[root@srv0 ~]# mkdir /data
[root@srv0 ~]# mount /dev/mapper/mpathap1 /data/
[root@srv0 ~]# df -h /data/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/mpathap1  2.0G  3.0M  1.9G   1% /data

你可能感兴趣的:(集群cluster篇-----3.存储技术与应用 、 iSCSI技术应用 、 udev配置 、 NFS网络文件系统 、 Multipath多路径)