使用 iSCSI服务部署网络存储node
iSCSI实现了物理硬盘与TCP/IP网络协议的相互结合,使用户能够经过互联网远程访问共享存储资源linux
- iSCSI技术介绍
硬盘接口:数据库
IDC:一种成熟稳订价格便宜的并行传输接口vim
SATA:一种传输速度更快,数据校验更完整的串行传输接口安全
SCSI:用于计算机和硬盘,光驱等设备之间系统级接口的通用标准,具备系统资源占用低,转速高,传输速度快优势;服务器
- 建立RAID磁盘阵列
实验:网络
1:建立ISCSI前须要先创建RAID确保数据的安全性并发
# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sdetcp
2:因为使用远程设备时可能出现设备名顺序发生变化,全部在挂载时使用UUID来挂载;工具
# mdadm -D /dev/md0
- 配置 iSCSI服务端
iSCSI在工做形式上分为:
服务端(target):用于存放磁盘存储资源的服务器;
客户端(initiator):是用户使用的软件,用于访问远程服务端的存储资源;
实验:
1:配置 iSCSI服务端,先安装 ISCSI服务端程序及配置命令工具;
安装 iscsi服务
# yum install -y targetd
安装 配置命令工具
# yum install -y targetcli
2:配置 iscsi服务器共享资源;
targetcli
命令提供相似于 fdisk命令的交互式配置功能,将iscsi共享资源的配置内容抽象成 目录 的形式,将各种配置信息填入相应的 目录 中便可;
进入targetcli交互式配置界面,cd进入/backstores/block,create将/dev/md0磁盘设置成给用户识别的磁盘 fdisk0;
# targetcli
/backstores/block:是iscsi服务端配置共享设备的位置;
# cd /backstores/block
# create disk0 /dev/md0
3:建立 iscsi target的名称及配置共享资源;
1)iscsi target名称 由系统自动生成,一串描述共享资源的惟一字符串;用户在扫描 iscsi服务端时便可看到这个字符串;
2)生成target名称后,还会在 /ISCSI参数目录中建立一个与其字符串同名的新“目录”,用于存放共享资源;
3)把以前的iscsi共享资源池中的硬盘设备 fdisk 0 添加到新目录中,用户登陆iscsi服务端后,便可默认使用这块硬盘;
# cd iscsi
# create
进入建立target名称后,系统新建的新目录中,将磁盘disk0添加进入新目录中;
# cd tpg1/luns
# create /backstores/block/disk0
4:设置访问控制列表(ACL)
acls参数目录:用于存放可以访问 iscsi服务端共享存储的客户端名称,建议在target名称后面加上.client。便于管理;
# cd acls
# create iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.ee7f4b9e4ec3.client
5:设置iscsi服务端的监听IP地址和端口号
portals参数目录:服务端指定网卡或IP地址对外提供共享存储资源;
# cd portals
先把默认的 0.0.0.0 3260删除,否定报错“Could not create NetworkPortal in configFS”
# delete 0.0.0.0 3260
# create 192.168.10.20
6:检查配置信息,重启 iscsi服务器并配置防火墙策略;
# cd /
# ls 查看配置信息
退出保存配置信息,千万不能使用 ctrl+C来退出,这样不保存配置!!!
# exit 使用 exit 来保存退出!!!
重启 iscsi服务及配置防火墙放行3260端口;
# systemctl restart targetd
# firewall-cmd --permanent --add-port=3260/tcp
# firewall-cmd --reload
至此 iscsi服务端配置完成!!!
- 配置Linux客户端
实验
1:安装 iscsi客户端程序 initiator,默认是已经安装的;
# yum install -y iscsi-initiator-utils
2:编辑 iscsi客户端initiator的配置文件
# vim /etc/iscsi/initiatorname.iscsi
必须把配置中默认的一行 InitiatorName 删除,不然后面登陆iscsi服务端会出错
3:重启 iscsi客户端 initiator服务
# systemctl restart iscsid
# systemctl enable iscsid
4:先发现,再登陆,最后挂载并使用
iscsiadm
用于管理,查询,插入,更新或删除ISCSI数据库配置文件的命令工具;
# iscsiadm -m discovery -t st -p 192.168.10.20
解析:
-m discovery:扫描并发现可用的存储资源
-t st:执行扫描操做的类型;
-p 192.168.10.20:指定iscsi服务端的IP地址;
5:发现可用存储资源后,登陆 iscsi服务端
# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.ee7f4b9e4ec3 -p 192.168.10.20 --login
6:登陆后,查看是否有新的硬盘出现,格式化并挂载;
# fdisk -l
# mkfs.xfs /dev/sdd
# mkdir /iscsi
# mount /dev/sdd /iscsi
7:永久挂载iscsi硬盘,因为 udev服务是按照系统识别硬盘设备的顺序来命名硬盘,当远程多个存储资源时,下一次识别设备时顺序会发生变化,搞乱挂载目录信息,为了防止这种事情发生,使用设备的 UUID惟一表示进行挂载;
查看设备 UUID号
# blkid
# vim /etc/fstab
解析:
_netdev:表示设备须要网络才能链接;