iscsi存储


1、初始化系统(两台服务器都做)

# vi  init_script.sh 

#!/bin/bash
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 关闭slinux
sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
setenforce 0
# 安装工具
yum -y install vim net-tools wget pcre pcre-devel zlib zlib-devel ntp gcc gcc-c++ lrzsz ntpdate wget ntp
# 备份yum
cd /etc/yum.repos.d
if [ ! -d /etc/yum.repos.d/bak ];then
  mkdir bak
fi
mv ./* ./bak &>>/dev/null
# 下载阿里镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
# 设计vim显示效果
echo "set nu" >> /root/.vimrc
sed -i "8calias grep='grep --color'" /root/.bashrc
# 设置操作系统和内核升级
yum update -y
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y

2、在导出端192.168.10.140上安装iscsi-target-utils软件包并设置

2.1 用dd的大文件来模拟存储

# mkdir /data/
# dd if=/dev/zero of=/data/storage4 bs=1M count=2000

2.2 安装iscsi-target-utils软件包

# yum install epel-release -y                                   // 没有安装epel源的,再次确认安装 # yum install scsi-target-utils -y   2.3 设置存储 # cat /etc/tgt/targets.conf |grep -v "#"
default-driver iscsi

        backing-store /data/storage4

2.4 启动存储

# systemctl start tgtd                 # systemctl enable tgtd   2.5 验证端口和共享资源是否ok # lsof -i:3260 # tgt-admin --show   3、 导入端安装iscsi-initiator-utils软件包   3.1 导入端安装客户端软件 # yum install iscsi-initiator-utils   3.2 导入端发现存储 # iscsiadm -m discovery -t sendtargets -p 192.168.10.140   3.3 登录存储: # lsblk # iscsiadm -m node -T iqn.2008-09.com.example:server.target -p 192.168.10.140   3.4 登录所有存储命令 # iscsiadm -m node -l   3.5 登录成功后,直接使用fdisk -l查看 # fdisk -l |grep sd[b-z]   3.6、启动服务,并做成开机自启动 # systemctl start iscsi
# systemctl enable iscsi   4、客户端退出服务和取消登录 # iscsiadm -m -node -u                 // 是iscsiadm -m node -l反向操作,是退出登录 # iscsiadm -m -node --op delete     //是iscsiadm -m node -T iqn.2008-09.com.example:server.target -p 192.168.10.140的反向操作,是退出发现

gluster三种基本类型 1 distributed分布式卷、2 replicated复制卷、striped条带卷
1.分布卷:在分布式卷中,文件随机扩展到卷中的砖块中。使用分布式卷,需要扩展存储和冗余不是很重要,或由其他硬件/软件层提供。
创建语法:gluster volume create [transport tcp | rdma | tcp,rdma]
例子: gluster volume create test-volume server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

2.复制卷:复制卷创建卷中多个砖块的文件副本。 可以在高可用性和高可靠性至关重要的环境中使用复制卷。
创建语法:gluster volume create [replica ] [transport tcp | rdma | tcp,rdma]
例子: gluster volume create test replica 2 transport tcp server1:/exp1 server2:/exp2

3. 条带卷:条带卷在卷中的砖块之间进行条带化。 为获得最佳效果,只能在访问非常大的文件的高并发环境中使用条带卷。
创建语法:gluster volume create [stripe ] [transport tcp | rdma | tcp,rdma]
例子: gluster volume create test stripe 2 transport tcp server1:/exp1 server2:/exp2


其他类型:1 distributed replicated分布式复制、2 dispersed分散卷、3 distributed dispersed分布式分散卷
1 分布式复制卷:在卷中的复制卷上分发文件。可以在需要扩展存储和高可靠性至关重要的环境中使用分布式复制卷。分布式复制卷还可在大多数环境中提供改进的读取性能。
创建语法:gluster volume create [replica ] [transport tcp | rdma | tcp,rdma]
例子:gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

2 dispersed分散卷:是基于ErasureCodes(纠错码)的一种新类型的Volume(3.6版本正式发布该特性),类似于RAID5/6。通过配置Redundancy(冗余)级别提高可靠性,在保证较高的可靠性同时,可以提升物理存储空间的利用率。redundancy 必须大于0,并且bricks的总数必须大于2 *redundancy 。 这意味着dispersed卷必须至少包含3个bricks。
创建语法:#glustervolume create disperse [redundancy ] [transport tcp| rdma | tcp,rdma]
例子:#gluster volume create test-volume disperse 4 redundancy 1 server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5

3、distributed dispersed分布式分散卷: 分布式分散卷在分散的子卷上分发文件。这与分发复制卷具有相同的优点,但使用分散将数据存储到块中,分布式分散卷等效于分布式复制卷,但是使用分散子卷而不是复制子卷。
创建语法:# gluster volume create disperse [redundancy ] [transport tcp | rdma | tcp,rdma]
例子:# #gluster volume create test-volume disperse 4 redundancy 4 server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 server7:/exp7 server8:/exp8

4.分布式条带卷(Distribute Stripe volume):分布式条带卷在集群中的两个或多个节点之间进行条带化。为了获得最佳效果,应该使用分布式条带卷,其中要求是扩展存储,并且访问大型文件的高并发环境至关重要。至少最少需要4台服务器
 gluster volume create [stripe ] [transport tcp | rdma | tcp,rdma]

创建语法:

例子:gluster volume create test-volume stripe 4 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 server7:/exp7 server8:/exp8

3 条带复制卷(Stripe Replica volume):将文件分割并备份随机存放在不同的服务器里,File被分割4段,1、3存放在server1(exp1)上,2、4存放在server2(exp4),server1上的(exp3)存放server2(exp4)的备份文件,server2上的(exp2)存放server1(exp1)的备份文件。
例子:gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

4 分布式条带复制卷(Distribute Stripe Replicated volume):三种基本卷的复合卷。
创建语法: gluster volume create [disperse []] [redundancy ] [transport tcp | rdma | tcp,rdma]
例子:gluster volume create test1 disperse 3 server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 force