SCSI技术应用+udev配置+nfs文件系统,Multipath多路径

一、基础概念
块级别:提供块设备(磁盘)
文件级别:提供共享文件夹
DAS:直连式存储。本地磁盘
NAS:网络附加存储。本质上就是共享文件夹
SAN:存储区域网络。
FC SAN:基于光纤的存储区域网络

二、配置iSCSI
1、准备三台虚机
vh01.tedu.cn 192.168.4.1 存储服务器
Vh02.tedu.cn 192.168.4.2 mysql1
Vh03.tedu.cn 192.168.4.3 mysql2
[[email protected] nsd1802]# clone-auto7
2、初始化三台虚拟机:ip地址、主机名、selinux、防火墙、yum
配置IP地址的方式可以使用nmtui

TUI:Text User Interface 文本用户界面
GUI:Graphical User Interface 图形用户界面
CLI:Command Line Interface 命令行界面

3、为客户端提供存储,需要给存储提供个名字。这个名字推荐使用iqn名称
iqn = iqn.时间.域名的反写.字符串:子字符串
如iqn.2018-06.cn.tedu.nsd1802:teacher
如果为全国200多同学都提供存储,就需要有200多不一样的名字。
4、在vh01上安装存储端软件包
[[email protected] ~]# yum install -y targetcli.noarch
5、为存储端准备硬盘。虚拟机可以在不关机的情况下,直接加硬盘。
6、创建vdb1作为共享存储的远程磁盘
[[email protected] ~]# parted /dev/vdb
(parted) mklabel gpt
创建一个主分区,起始位置是1M,结束位置是整个硬盘的10%容量部分
(parted) mkpart primary 1M 10%
(parted) mkpart primary 10% 20%
(parted) print 查看
(parted) quit
[[email protected] ~]# lsblk
7、配置target存储
[[email protected] ~]# targetcli
创建后端存储
/> /backstores/block create formysql /dev/vdb1
创建IQN对象
/> /iscsi create iqn.2018-06.cn.tedu.nsd1802
向IQN对象中添加存储vdb1
/> ls
/> /iscsi/iqn.2018-06.cn.tedu.nsd1802/tpg1/luns create /backstores/block/formysql
授权客户端访问,如客户端iqn名字是iqn.2018-06.cn.tedu.vh02
/> /iscsi/iqn.2018-06.cn.tedu.nsd1802/tpg1/acls create iqn.2018-06.cn.tedu.vh02
绑定地址(可以省略,因为默认已配置好)
/> /iscsi/iqn.2018-06.cn.tedu.nsd1802/tpg1/portals/ create 0.0.0.0
存盘
/> saveconfig
/> exit
8、启动服务
[[email protected] ~]# systemctl start target
[[email protected] ~]# systemctl enable target

三、配置iSCSI客户端
1、安装软件包
[[email protected] ~]# yum install iscsi-initiator-utils
2、修改客户端的iqn名称
[[email protected] ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-06.cn.tedu.vh02
3、发现服务端
[[email protected] ~]# man iscsiadm 查看帮助
[[email protected] ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.1 --discover
此时,可以发现存储的iqn名称,但是执行lsblk是看不到新磁盘的。
4、登陆target。可以通过man帮助中看到的命令执行,也可以执行以下操作
[[email protected] ~]# systemctl restart iscsi
[[email protected] ~]# lsblk 出现新硬盘

四、使用iSCSI磁盘
1、分区、格式化
[[email protected] ~]# parted /dev/sda
(parted) mklabel gpt
(parted) mkpart primary 1M 100%
(parted) quit
[[email protected] ~]# mkfs.ext4 /dev/sda1
2、安装mariadb
[[email protected] ~]# yum install -y mariadb-server
3、挂载再启服务
[[email protected] ~]# mount /dev/sda1 /var/lib/mysql/
[[email protected] ~]# chown mysql.mysql /var/lib/mysql/
[[email protected] ~]# systemctl start mariadb

五、测试
1、创建数据库,并写入数据
[[email protected] ~]# mysql -uroot
MariaDB [(none)]> CREATE DATABASE nsd1802 DEFAULT CHAR SET utf8;
MariaDB [(none)]> USE nsd1802;
MariaDB [nsd1802]> CREATE TABLE students(name varchar(20));
MariaDB [nsd1802]> INSERT INTO students VALUES ("李洋");
MariaDB [nsd1802]> SELECT FROM students;
2、停止mariadb服务,卸载sda1(模拟vh02宕机了)
一定要将共享存储卸载,不能vh02和vh03同时挂载共享存储。因ext4/xfs是单节点文件系统,如果多个节点同时挂载,就会损坏文件系统,使得数据丢失。
3、在vh03上挂载共享存储,安装数据库,让它为客户机提供服务。
[[email protected] ~]# shutdown -h now
[[email protected] ~]# yum install -y iscsi-initiator-utils
[[email protected] ~]# targetcli
/> /iscsi/iqn.2018-06.cn.tedu.nsd1802/tpg1/acls/ create iqn.2018-06.cn.tedu.vh03
/> saveconfig
[[email protected] ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-06.cn.tedu.vh03
[[email protected] ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.1 --discover
[[email protected] ~]# systemctl restart iscsi
[[email protected] ~]# yum install -y mariadb-server
[[email protected] ~]# mount /dev/sda1 /var/lib/mysql/
[[email protected] ~]# systemctl start mariadb
[[email protected] ~]# mysql
MariaDB [(none)]> use nsd1802;
MariaDB [nsd1802]> select
from students;

Udev:动态管理设备文件的方法
1、Linux中一切皆文件。
2、Udev管理设备文件。如,主机连接U盘出现新的文件(sdb),移除U盘,磁盘文件消失。
3、硬件文件的信息写入到了/sys目录下,这个目录与proc类似。
4、我们用udev可以为设备改名,或执行自定义操作。
(1)在/etc/udev/rules.d目录下创建规则文件
(2)接入新设备,如果满足规则,就会按管理员的规则应用
(3)规则文件名:数字-名字.rules
5、规则文件中,管理员指定硬件满足或不满足哪些条件,就执行什么操作
6、实例:U盘接入主机,起名为udisk
(1)找到U盘在/sys目录中的说明路径
[[email protected] ~]# udevadm info --query=path --name=/dev/sdb1
/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/host5/target5:0:0/5:0:0:0/block/sdb/sdb1
(2)根据上一步的路径,查询U盘的硬件信息
[[email protected] ~]# udevadm info --query=all --attribute-walk --path=/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/host5/target5:0:0/5:0:0:0/block/sdb/sdb1
出现的内容非常多,只需要找到跟U盘相关的内容即可,如DRIVERS=="usb-storage"
(3)编写规则文件
[[email protected] ~]# vim /etc/udev/rules.d/90-udisk.rules
ACTION=="add", KERNEL=="sd[a-z]*", DRIVERS=="usb-storage",
SYMLINK+="udisk%n"
将设备连到主机,ACTION(行为)就是add,KERNEL的意思是没有人为干预内核给它起的名。SYMLINIK是创建快捷方式,+=是额外增加。%n是分区号
(4)重新接入U盘即可

NFS:网络文件系统,用于Linux间共享。
一、实现只读共享
1、配置vh01为服务器
(1)装包
[[email protected] ~]# yum install -y nfs-utils
(2)创建共享目录
[[email protected] ~]# mkdir -pv /nfsroot/nfsro
[[email protected] ~]# cp /etc/hosts /nfsroot/nfsro/
(3)在配置文件中声明共享目录
[[email protected] ~]# vim /etc/exports
/nfsroot/nfsro *(ro)
(4)启动服务
[[email protected] ~]# systemctl restart nfs
2、客户端使用共享
(1)查看
[[email protected] ~]# showmount -e 192.168.4.1
(2)挂载
[[email protected] ~]# mount 192.168.4.1:/nfsroot/nfsro /mnt/sharero
[[email protected] ~]# cat /mnt/sharero/hosts

二、创建读写共享
1、配置vh01为服务器
(1)服务器上创建共享目录
[[email protected] ~]# mkdir -m 777 /nfsroot/nfsrw
不管是NFS还是SAMBA,还是FTP,只要是读写,必须设置本地权限和配置文件的权限
(2)声明读写目录
/nfsroot/nfsrw 192.168.4.*(rw,sync) ->sync表示同步读写
(3)重新输出共享目录
[[email protected] ~]# exportfs -rv
2、配置vh03为客户端
[[email protected] ~]# mount 192.168.4.1:/nfsroot/nfsrw /mnt/sharerw
[[email protected] ~]# echo ‘hello world‘ > /mnt/sharerw/hi.txt
[[email protected] ~]# cat /mnt/sharerw/hi.txt

多路径multipath
一、用途
如果客户端到服务器存储只有一条线路,那么该线路出现故障,存储就不可用了。可以再加一条线路。这个时候,客户端就会从两条线路发现同一存储设备,会给这个存储起两个名字,如sda和sdb。
客户端无论使用哪个存储都不合适。我们可以创建一个虚拟磁盘,如mpatha,客户端挂载mpatha,只要底层不要两条路径全部出现故障,mpatha一直可用。原理参考HSRP。
二、配置多路径
1、在vh01和vh03之间加上192.168.2.0/24网络
2、在vh03上通过192.168.2.0网络也发现一次共享
[[email protected] ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.1 --discover
[[email protected] ~]# systemctl restart iscsi
[[email protected] ~]# lsblk 此时本地有了sda和sdb
3、安装多路径软件包
[[email protected] ~]# yum install -y device-mapper-multipath
4、sda和sdb是同一设备,他们的wwid就是相同的
获得磁盘的wwid:
[[email protected] ~]# /lib/udev/scsi_id --whitelisted --device=/dev/sda
3600140589282e00db104fc29d84334a8
5、生成多路径配置文件
[[email protected] ~]# mpathconf --user_friendly_names n
6、在配置文件里声明获得wwid的方法,并且声明WWID是3600140589282e00db104fc29d84334a8的设备就是mpatha
[[email protected] ~]# vim /etc/multipath.conf
defaults {
user_friendly_names no
find_multipaths yes
}
multipaths {
multipath {
wwid "3600140589282e00db104fc29d84334a8"
alias "mpatha"
}
}
7、启动多路径服务,就可以在/dev/mapper下看到mpatha设备了
[[email protected] ~]# systemctl start multipathd
[[email protected] ~]# systemctl enable multipathd

原文地址:http://blog.51cto.com/13124606/2151803

时间: 2024-08-03 11:26:54

SCSI技术应用+udev配置+nfs文件系统,Multipath多路径的相关文章

Ubuntu安装配置NFS文件系统

NFS文件系统使用起来比较的方便简单,现在在为MPC8313ERDB配置一个NFS. 一 主机准备: 1. 主机使用Ubuntu系统,首先安装软件包: sudo apt-get install portmap nfs-kernel-server 2. 配置文件/etc/exports sudo gedit /etc/exports // 打开exports文件 //在文件的最后,加上这一句,给nfs文件夹加一个读写的权限 /home/bing/nfs *(rw, no_root_squash)

linux存储技术与应用:UDEV配置

一.设备文件管理方法 devfs –        Linux早期采用的静态管理方法 –        /dev目录下有大量静态文件 –        绝大多数文件没有对应的硬件连接 –        内核版本2.6.13开始被完全取代 udev –        只有连到系统上来的设备才在/dev下创建设备文件 –        与主.次设备编号无关 –        为设备提供持久.一致的名字 二.接入设备事件链 内核发现设备并导入设备状态到sysfs udev接到事件通知 udev创建设备

利用Openfiler配置基于文件系统的网络存储

一.Openfiler简介 Openfiler是一个操作系统,其提供基于文件的网络附加存储和基于块的存储区域网络功能. Openfiler支持的网络协议包括:NFS,SMB/CIFS,HTTP/WebDAV,FTP和iSCSI. Openfiler支持的网络目录包括:NIS,LDAP(支持SMB/CIFS密码加密),Active Directory(本地和混合模式),基于Windows NT的域控制器和Hesiod.认证协议包括Kerberos 5. Openfiler支持基于卷的分区技术:如本

Suse 11下多路径及udev配置

最近给客户基于SuSe 11 SP3下多路径部署Oracle 10g RAC.SuSe 11下用10g,也算一朵奇葩,连篇文档都比较难找,谁叫Oracle太贵呢.下面主要是描述了在该环境下如何去配置多路径.由于10g下的ocr与votingdisk不能直接存放到asm磁盘,所以依旧要使用raw设备方式来保存.下文供大家参考. 一.查看当前scsi设备及获取设备wwid#使用 cat /proc/partitions或者/sbin/sfdisk命令查看当前系统中的scsi设备suse11a:~ #

Linux运维之道之ENGINEER1.3(配置SMB共享,配置NFS共享)

ENGINEER1.3 配置SMB共享 samba服务基础 用途:为客户机提供共享使用的文件夹 协议:SMB(tcp139),CIFS(tcp445) 搭建基本的samba服务 安装samba软件包 #yum -y  install  samba 2.创建samba的共享帐号 #useradd  -s   /sbin/nologin/   harry #useradd  -s   /sbin/nologin/  kenji #useradd  -s   /sbin/nologin/  chihi

SuSE 11 sp3 下安装配置nfs共享挂载

SUSE 11 sp3 下安装配置nfs共享 服务器:Server端:10.133.212.145 /nfs/145Client端: 10.133.212.146 /nfs/146目的:将/nfs/145挂载到 /nfs/146使用1.Server端 1.1 检查是否已经安装NFS服务,SUSE安装nfs服务端主要是这个nfs-kernel-server 检查是否安装nfs-kernel-server:Server:~ # rpm -aq|grep nfsyast2-nfs-common-2.1

linux下配置nfs服务器以及设置自动挂载(以centos6.7为例)

NFS(百度百科):NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样. NFS在文件传送或信息传送过程中依赖于RPC协议.RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制.NFS本身是没有提供信息传输的协议和功能的,但NFS

配置NFS服务器

NFS简介 NFS 即网络文件系统(Network File-System),一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.它可以通过网络,让不同机器.不同系统之间可以实现文件共享.通过 NFS,可以访问远程共享目录,就像访问本地磁盘一样.NFS只是一种文件系统,本身并没有传输功能,是基于 RPC(远程过程调用)协议实现的,采用 C/S 架构.嵌入式 Linux 开发中,通常需要在主机上配置 NFS 服务器,将某系统特定目录共享给目标系统访问和使用.通过 NFS,目标系

ubuntu 10.10配置NFS网络共享步骤

安装好交叉编译环境arm-linux-gcc之后,就开始配置NFS网络共享,用于不同的linux主机与目标机之间文件的共享.如果是windows和linux的共享则需用samba服务. NFS(Network File System, 网络文件系统)可以通过网络将分享不同主机(不同的OS)的目录——可以通过NFS挂载远程主机的目录, 访问该目录就像访问本地目录一样! 1.进行NFS服务器端与客户端的安装: $ sudo apt-get install nfs-kernel-server 这里安装