iscsi target存储技术-多路径 udev动态管理设备文件方法 nfs
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iscsi target存储技术-多路径 udev动态管理设备文件方法 nfs相关的知识,希望对你有一定的参考价值。
惠普 戴尔 华为 目前国内服务器厂商排名
存储技术分类:
SCSI小型计算机系统接口
DAS直连式存储
NAS网络技术存储
SAN存储区域网络
FC光纤通道
SCSI小型计算机系统接口 (U盘)
DAS技术:直连式存储(将存储设备通过scsi接口或光纤通道直连到计算机上,不能实现数据与其它主机的共享,占用服务器操作系统资源cpu,io等,数据量越大,性能越差)
NAS网络技术存储 做公享文件夹 (这是一种专用数据存储服务器,以数据为中心,将存储设备与服务器彻底分离,集中管理数据,提高性能,节省成本)
SAN技术: 存储区域网络 (通过光纤交换机。光纤路由等设备将磁盘阵列等存储设备域相关服务链接起来,形成高速专网网络) 组成部分:-路由器,光纤交换机 -接口:scsi,FC -通信协议:ip,scsi
FC光纤通道
FC主要组件: 光纤 HBA(主机总线适配器) FC交换机
iscsi技术(Internet SCSI) 是一种基于IP Storage理论的新行存储技术,将存储行业广泛应用的SCSI接口技术与IP网络相结合 优势:相对FC SAN,iscsi实现的IP SAN投资更低,解决了传输效率,存储容量,兼容,开放,安全等问题,没有距离限制。
客户端 -iscsi HBA 硬件实现,性能好,成本较高 -iscsi Initiator 软件实现,成本低,性能低
存储设备端 -iscsi target
——————————————————————————————————————————————————————————-
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+==
————————————————————————————————————————————
在生产环境中,可以同时使用两台共享目录给mysql服务器,一台坏了,另一台顶上去,
用到的方法是做一个虚拟ip10指向vh02和vh03,vh02,是活跃的当vh02挂了,自动切换成vh03.
————————————————————————————————————————————
-iscsi target存储设备端
++++++++++++++++++++++++++++++++++++++++++
一。配置
1.ip192.168.4.1/24 vh01.tedu.cn 再来两台: 192.168.4.2 192.168.4.3
2.配置一块硬盘,以便提供存储
#parted /dev/vdc
(parted) mktable get
(parted) mkpart primary ext4 1M 50%
#lsblk
#partx -a /dev/vdc (刷新分区列表)
#lsblk
不要格式化
3.安装
#yum install -y scsi-target-utils
4.修改配置文件
#vim /etc/tgt/targets.conf
23 <target ipn.2017-03.cn.tedu.nsd1611:iscsi>
24 backing-store /dev/vdc1
25 initiator-address 192.168.4.2
26 initiator-address 192.168.4.3
27 </target>
5.启动并验证
# service tgtd start; chkconfig tgtd on
# tgt-admin -s (必须能看到LUN1)
二。配置iscsi客户端(192.168.4.2和192.168.4.3)
1.安装
#yum -y install iscsi-initiator-utils
2.发现target设备
# man iscsiadm
# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.1 --discover
# lsblk 还看不到iSCSI共享磁盘
# service iscsi restart (iscsi用于自动login)
# lsblk 可以看到多了一块共享sda磁盘
# chkconfig iscsi on; chkconfig iscsid on (iscsi是挂载,iscsid是服务)
三。应用
1.在vh02上配置mysql使用共享存储,把mysql库文件存放在iSCSI共享磁盘上
先将共享存储分区格式化 /dev/sda
# parted /dev/sda
(parted) mktable
新的磁盘标签类型? gpt
分区名称? []? primary
文件系统类型? [ext2]? ext4
起始点? 1M
结束点? 50%
(parted) quit
# lsblk (会出现共享磁盘第一个分区sda1)
# mount /dev/sda1 /var/lib/mysql(先挂载)
# service mysqld start (再初始化数据)
# mysql -uroot
mysql> create database students default char set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> use students;
Database changed
mysql> create table stu_info (id int(8),name varchar(20));
Query OK, 0 rows affected (0.10 sec)
mysql> insert into stu_info values (1,"bob");
Query OK, 1 row affected (0.00 sec)
mysql> insert into stu_info values (2,"tom");
Query OK, 1 row affected (0.00 sec)
mysql> insert into stu_info values (3,"张");
Query OK, 1 row affected (0.00 sec)
mysql> select * from stu_info;
+------+------+
| id | name |
+------+------+
| 1 | bob |
| 2 | tom |
| 3 | 张 |
+------+------+
mysql> quit
(不能两个节点挂一个设备/dev/sda1不然会损坏)
2.在vh03挂载共享存储
首先要在vh02上停掉mysqld 并把共享存储umount
vh02:
# service mysqld stop
# umount /dev/sda1
vh03:
# partx -a /dev/sda
# lsblk
# yum -y install mysql-server
# mount /dev/sda1 /var/lib/mysql (先挂载)
# service mysqld start (起mysqld服务 这时不会再有初始化数据在这个共享目录里了,因为在2上做了)
# mysql -uroot (可以查看到vh02上数据)
mysql> show databases;
+---------------------+
| Database |
+---------------------+
| information_schema |
| #mysql50#lost+found |
| mysql |
| students |
| test |
+---------------------+
mysql> use students;
Database changed
mysql> show tables;
+--------------------+
| Tables_in_students |
+--------------------+
| stu_info |
+--------------------+
mysql> select * from stu_info;
+------+------+
| id | name |
+------+------+
| 1 | bob |
| 2 | tom |
| 3 | 张 |
+------+------+
————————————————————————————————————————————
在生产环境中,可以同时使用两台共享目录给mysql服务器,一台坏了,另一台顶上去,
用到的方法是做一个虚拟ip10指向vh02和vh03,vh02,是活跃的当vh02挂了,自动切换成vh03.
————————————————————————————————————————————
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
多路径(做的是主从):同一个存储有多条路径共享出去,解决单点失败问题
一 。在vh02客户机和vh1服务器增加一张网络
二。在服务器上配置ACL
#vim /etc/tgt/targets.conf
initiator-address 192.168.4.2
initiator-address 192.168.2.2
#reboot
# tgt-admin -s (LUN1出现才对)
三,客户端上发现新路径
# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.1 --discover
192.168.2.1:3260,1 ipn.2017-03.cn.tedu.nsd1611:iscsi
# service iscsi restart
# lsblk (将会看到两条路径,sdc和sdb)
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 50G 0 disk
........
vdb 252:16 0 20G 0 disk
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 5G 0 part
sdc 8:32 0 10G 0 disk
└─sdc1 8:33 0 5G 0 part
四。配置多路径(客户端)
1.安装
# yum -y install device-mapper-multipath
2.生成配置文件
# mpathconf --user_friendly_names n
3.查看wwid (看多个路径是否是同一块存储设备看wwid是否一样)
# scsi_id --whitelisted --device=/dev/sdc
1IET 00010001
# scsi_id --whitelisted --device=/dev/sdb
1IET 00010001
4.修改配置文件
# vim /etc/multipath.conf
25 defaults {
26 user_friendly_names no
27 getuid_callout "lib/udev/scsi_id --whitelisted --device=/de v/%n"
28 }
29
30 multipaths {
31 multipath {
32 wwid "1IET 00010001" 【【这个粘贴复制上面的,注意空格多少】】
33 alias mpatha
34 }
35 }
5.启动服务
# service multipathd start;chkconfig multipathd on
6.测试
# ls /dev/mapper/
control mpatha mpathap1 VolGroup-lv_root VolGroup-lv_swap
7.挂载查看 (可以看到)
# mount /dev/mapper/mpathap1 /var/lib/mysql/
# service mysqld start
# mysql -uroot
mysql> show databases;
+---------------------+
| Database |
+---------------------+
| information_schema |
| #mysql50#lost+found |
| mysql |
| students |
| test |
+---------------------+
——————————————————————————————————————————————————————+++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
udev:动态管理设备文件的方法
一。编写UDEV规则
1.查看U盘在sys目录中的路径 (查看时要有这个盘才能查,可以直接做第三步)
#udevadm info --query=path --name=/dev/sdb1
/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sdb/sdb1
2.查看U盘属性
#udevadm info --query=all --attribute-walk --path=/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sdb/sdb1
3.编写规则
# vim /etc/udev/rules.d/101-udisk.rules
SUBSYSTEMS=="usb", ACTION=="add", KERNEL=="sd[a-z]*", SYMLINK+="udisk%n"
4.验证
#udevadm trigger
#ll /dev/udisk*
插u盘
#ll /dev/udisk*
能识别硬盘
lrwxrwxrwx. 1 root root 3 3月 14 15:44 /dev/udisk -> sdb
lrwxrwxrwx. 1 root root 4 3月 14 15:44 /dev/udisk1 -> sdb1
5.识别自己的U盘(还能执行一个命令)
# vim /etc/udev/rules.d/102-udisk.rules
SUBSYSTEMS=="usb",ACTION=="add",KERNEL=="sd[a-z]*",ATTRS{manufacturer}=="SanDisk",ATTRS{product}=="Cruzer Orbit",ATTRS{serial}=="4C530013 360711114312",SYMLINK+="myudisk%n",RUN+="/etc/init.d/httpd restart"
#service httpd stop
# service httpd status(已开启)
# ll /dev/myudisk*
lrwxrwxrwx. 1 root root 3 3月 14 19:32 /dev/myudisk -> sdd
lrwxrwxrwx. 1 root root 4 3月 14 19:32 /dev/myudisk1 -> sdd1
——————————————————————————————————————————————————————————————
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
本地文件系统 ext3/4
NFS网络文件系统,基于RPC(远程过程调用),NFS本身没有提供传输机制通过RPC实现,
nfs2049(端口) 的依赖包rpcbind 111(端口)
NFS:linux和unix之间网络文件共享 实时同步
一。配置vh01为服务器
1.创建共享目录
# mkdir -p /nfsroot/rodir
# cp /etc/passwd /nfsroot/rodir
2.安装
# yum -y install nfs-utils
。。。。。
已安装:
nfs-utils.x86_64 1:1.2.3-64.el6
作为依赖被安装:
keyutils.x86_64 0:1.4-5.el6 libevent.x86_64 0:1.4.13-4.el6
libgssglue.x86_64 0:0.1-11.el6 libtirpc.x86_64 0:0.2.1-10.el6
nfs-utils-lib.x86_64 0:1.1.5-11.el6 python-argparse.noarch 0:1.2.1-2.1.el6
rpcbind.x86_64 0:0.2.0-11.el6
完毕!
3.修改配置文件
# vim /etc/exports
/nfsroot/rodir 192.168.4.0/24(ro,sync)
4.启动服务
# service rpcbind start; chkconfig rpcbind on
# service nfs start; chkconfig nfs on
5.验证:
# showmount -e 192.168.4.1 (showmount 192.168.4.1可以看到该服务器共享目录情况)
Export list for 192.168.4.1:
/nfsroot/rodir 192.168.4.0/24
6.客户端配置,查看共享文件
#yum install -y nfs-utils
#showmount -e 192.168.4.1
#mkdir /mnt/nfs_ro
#mount 192.168.4.1:/nfsroot/rodir /mnt/nfs_ro/
#ls /mnt/nfs_ro/
7.以读写模式输出(vh01)
#mkdir -m 777 /nfsroot/rwdir
#vim /etc/exports
/nfsroot/rwdir 192.168.4.*(rw.sync)
#exportfs -rv 重新加载配置文件
8.客户端访问(vh02)
#mkdir /mnt/nfs_rw
#service rpcbind start; chkconfig rpcbind on
#mount 192.168.4.1:/nfsroot/rwdir /mnt/nfs_rw
#cp /etc/hosts /mnt/nfs_rw/
9.额外选项(vh01)
{/nfsroot/rwdir 192.168.4.*(rw.sync,no_root_squash)}
no_root_squash:客户端写入到服务器共享中的文件属主属组保持是root
all_squash:客户端所有用户写入到共享中的文件属主属组都会变成nfsnobody
________________________________________________________________________________
本文出自 “12336621” 博客,请务必保留此出处http://12346621.blog.51cto.com/12336621/1906824
以上是关于iscsi target存储技术-多路径 udev动态管理设备文件方法 nfs的主要内容,如果未能解决你的问题,请参考以下文章
Cluster基础:配置iSCSI服务编写udev规则配置并访问NFS共享部署Multipath多路径环境
01: 存储技术与应用 iSCSI技术应用 udev配置 NFS网络文件系统 Mul
在vmware虚机上用iscsi协议建立多路径环境测试multipath