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

来源:互联网 发布:net snmp linux 下载 编辑:程序博客网 时间:2024/05/20 16:34
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.<date_code>.<reversed_domain>.<string>[:<substring>]
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   #改配置永久生效
<target iqn.2017-11.cn.tedu:storage201.diskb>
        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.
</target>
<target iqn.2017-11.cn.tedu:storage201.diskc>
        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
</target>


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
添加以下内容:
<target iqn.2016-05.cn.tedu.storage>
        backing-store /dev/sdb1
        initiator-address 192.168.1.10
        initiator-address 192.168.2.10
</target>
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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 想去北京当兵怎么办 婴儿湿疹反复长怎么办 脸上湿疹反复长怎么办 大人脸上有湿疹怎么办 脸上起湿疹该怎么办 大人脸上长湿疹怎么办 莆田医院被宰怎么办 香港海关扣了怎么办 香港购物退港怎么办? 香港购物后发票怎么办 浅色衣服被染色怎么办 工作调动不想去怎么办 被调到不好岗位怎么办 考试失败很难过怎么办 貔貅摔了一点点怎么办 电脑资源管理器停止工作怎么办 红警3锁集显怎么办 猛犸象牙吊坠裂了怎么办? 特别压抑的时候怎么办 孕妇吃腊肉了怎么办 怀孕吃了午餐肉怎么办 剩米饭太硬怎么办? 月经推迟量少怎么办 怎么办早餐吃了1000 乐扣盒子打不开怎么办 不锈钢饭盒盖子打不开怎么办 电压力锅打不开盖子怎么办 保温饭盒打不开了怎么办 玻璃饭盒加热后打不开怎么办 玻璃饭盒盖子盖不紧怎么办 狗狗耳朵臭怎么办 白色洗手池发黄怎么办 热水壶木塞有味怎么办 过滤水壶效果不好怎么办 喝咖啡睡不着觉怎么办 食品流通许可证过期怎么办 水产养殖水体发白怎么办 生存战争找不到食物怎么办 执法记录仪肩扣怎么办 极米h1s死机了怎么办 受到伪基站骚扰怎么办