一、存储方式

  • DAS:直连式存储,如本地硬盘
  • NAS:网络附加存储,实际上就是NFS,SAMBA(CIFS)
  • SAN:存储区域网络。基于ip网络的ip san 和基于光纤的 FC SAN
    二、配置ISCSI
  • 环境准备
    3台虚拟机
    192.168.4.1 ISCSI 服务器
    192.168.4.2 mysql1
    192.168.4.3 mysql2
    关闭防火墙 selinux 配置yum
  • ISCSI 提供块设备
    块设备:如硬盘,光盘,U盘
  • IQN:ISCSI服务端为客户端提供块设备的名字
    名称规范:iqn.时间.域名的反写.字符串:子字符串
    如:iqn。2018-08.com.tedu.server:rick
    在ISCSI服务器上添加额外硬盘
    1、装包: yum install -y targetcli
    2、分区:
  • MBR: 主引导记录,这种分区格式,最多只能支持4个分区,最大支持2.2TB左右硬盘
  • GPT:GUID分区表,可以支持大硬盘,可以支持128个主分区
    3、配置 iscsi
    targetcli 进入
    /> /backstores/block create formysql /dev/vdb 后端盘取名formysql
    创建客户端访问的iqn名
    /> /iscsi create iqn.2018-07.cn.tedu.rick
    把存储绑定到iqn中
    /> /iscsi/iqn.2018-07.cn.tedu.rick/tpg1/luns create /backstores/block/formysql
    配置ACL,限定访问用户
    /> /iscsi/iqn.2018-07.cn.tedu.rick/tpg1/acls create iqn.2018-07.cn.tedu.node2
    /> /iscsi/iqn.2018-07.cn.tedu.rick/tpg1/acls create iqn.2018-07.cn.tedu.node3

    保存退出
    save config
    exit
    4、配置客户端
  • 装包:yum install -y iscsi-initiator-utils
  • 客户端修改iqn
    vim /etc/iscsi/initiatorname.iscsi 
    InitiatorName=iqn.2018-07.cn.tedu.node2
  • 发现存储端 会发现名字,但是磁盘不会多
    iscsiadm --m discoverydb -t sendtargets -p 192.168.4.1 --discover

    启动服务,发现设备
    systemctl restart iscsi
    systemctl enable iscsi
    systemctl enable iscsid
    iscsi用于自动登陆,iscsid是守护进程

  • 安装mariadb-server,将磁盘分区,格式化,挂载到工作目录
    mount  /dev/sda1  /var/lib/mysql/
    chown mysql.mysql /var/lib/mysql/
  • 启动mariadb,创建库和表
    create database db1;
    use db1;
    create talbe stu (name char (20));
    insert into db1.stu values ("rick");

  • 当node2节点出现故障时,可以使用node3进行替换
    配置同node2

    注意:千万不要使用两个节点同时挂载相同的文件系统(分区),如果多个节点同时挂载这个文件系统,很可能会导致文件系统损坏,数据丢失!因为XFS/EXT3/EXT4这些文件系统都是单节点文件系统。红帽的GFS才能支持多节点同时挂载。