简单存储ISCSI实验

简单存储ISCSI实验
简单存储ISCSI实验
下一篇: 简单存储NFS实验(待更新).

下面展示ipsan脚本

// An highlighted block
#!/bin/bash
##脚本运行环境,能上网,有两块硬盘,其中一块空硬盘名称为sdb
##基础环境配置,修改主机名,关闭防火墙和SELinux,用yum安装iscsi
hostnamectl set-hostname ipsan
yum repolist
systemctl disable --now firewalld && setenforce 0
yum -y install targetcli 
##此处添加安装python-rtslib,保证服务正常启动
yum -y install python-rtslib
systemctl status target 

##添加sdb硬盘进行分区,分出10G大小的sdb1
echo "n
p
1

+10G
t
8e
w
" | fdisk /dev/sdb


##进入targetcli,建立一个块存储,配置ISCSITarget命名,创建ACL允许ISCSI客户机连接,创建lun(target块设备的逻辑单元),创建ip与端口。

HOSTIP=$(ip a| awk -F '[ /]+' 'NR==9 {print $3}')
echo "ls
cd /backstores/block
create tech /dev/sdb1
cd /iscsi
create iqn.2019-06.com.ipsan:target
cd iqn.2019-06.com.ipsan:target/tpg1/acls
create iqn.2019-06.com.host:init
cd ../luns
create /backstores/block/tech
cd ../portals/
ls
delete 0.0.0.0 3260
create $HOSTIP  3260
" | targetcli

##此脚本在ipsan虚拟机主机上运行

下面展示 Guest脚本 ,需要注意ServerIP 要替换成自己的ipsan的IP

// An highlighted block
#!/bin/bash
##脚本运行环境,能上网,做客户端
##基础环境配置,修改主机名,关闭防火墙和SELinux,用yum安装ISCSIInitiator和启动相关服务
hostnamectl set-hostname guest
systemctl disable --now firewalld && setenforce 0
yum repolist
yum -y install iscsi-initiator-utils targetcli
systemctl enable --now  iscsi


##清空配置文件并将ISCSIInitiator名称写入配置文件
: > /etc/iscsi/initiatorname.iscsi 
cat >>  /etc/iscsi/initiatorname.iscsi <<EOF
InitiatorName=iqn.2019-06.com.host:init
EOF

##ServerIP=需要填写服务端的IP,注意自行修改IP
##查找ISCSI设备,连接ISCSI设备
ServerIP=192.168.100.30

iscsiadm  -m  discovery -t sendtargets -p $ServerIP
iscsiadm -m node -p $ServerIP:3260 --login
lsblk

##这里需要等待一秒进行连接
sleep 1s


##分区,格式化并创建目录挂载到指定目录
echo "n
p
1


t
8e
w
" | fdisk /dev/sdb
mkfs.ext4 /dev/sdb1
mkdir /mnt/iscsi
mount  /dev/sdb1  /mnt/iscsi
df -h


##设置开机自动连接ISCSI设备
iscsiadm -m node -T iqn.2019-06.com.ipsan:target -p $ServerIP:3260 -o update -n node.startup -v automatic
blkid /dev/sdb1

##设置开机挂载网络磁盘,这里加了一个if语句判断,防止重复执行脚本过度写入多余信息
TEST=$(cat  /etc/fstab|grep /mnt/iscsi|grep ext4 |awk -F " "  '{print$5}')
if [[ $TEST == 0 ]];
then
    echo "挂载已存在"
else
    cat >> /etc/fstab  <<EOF
$(blkid /dev/sdb1 |awk -F ' ' 'NR==1{print $2}')  /mnt/iscsi    ext4  defaults,_netdev   0 0
EOF
    sed -i 's/"//g' /etc/fstab 
    echo "写入开机自动挂载成功"
fi

##脚本执行完毕

脚本实践相关视频

// An highlighted block
##记录一次出现报错,原因是因为未安装python-rtslib,target相关服务无法启动
File "/usr/bin/targetcli", line 24, in <module>
    from targetcli import UIRoot
  File "/usr/lib/python2.7/site-packages/targetcli/__init__.py", line 18, in <module>
    from .ui_root import UIRoot
  File "/usr/lib/python2.7/site-packages/targetcli/ui_root.py", line 32, in <module>
    from .ui_backstore import complete_path, UIBackstores
  File "/usr/lib/python2.7/site-packages/targetcli/ui_backstore.py", line 32, in <module>
    from rtslib_fb import ALUATargetPortGroup
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊酒弟弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值