服务端

#!/bin/bash
#测试主机是否可以联网
echo -e "\033[31m即将测试主机是否可以联网\033[0m"
ping -c 4 www.baidu.com
if [ $? -eq 0 ];then
echo -e "\033[31m主机可以联网继续脚本\033[0m"
else
echo -e "\033[31m主机不可联网,即将退出脚本\033[0m"
exit
fi
#编写服务端与客户端IP地址
echo -e "\033[31m即将编写服务端与客户端IP地址\033[0m"
sleep 3s
rm -rf ./ip
cat >> ./ip <<EOF
#在后面写IP地址,ip1为服务端,ip2为客户端
export ip1=
export ip2=
EOF
vi ./ip
source ./ip echo -e "\033[31m即将关闭firewalld与selinux\033[0m"
sleep 1s
# firewalld config
systemctl disable firewalld
systemctl stop firewalld #关闭selinux
setenforce 0 echo -e "\033[31m即将配置yum仓库文件\033[0m"
sleep 1s
#创建本地仓库文件
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom cat >> /etc/yum.repos.d/a.repo <<EOF
[a]
name=a
baseurl=file:///mnt/cdrom
gpgcheck=0
EOF yum install -y wget
#下载epel7仓库文件
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum repolist sleep 3s echo -e "\033[31m\n即将安装targetcli\033[0m"
sleep 1s
yum -y install targetcli echo -e "\033[31m\n即将配置targetcli\033[0m"
sleep 1s
#创建共享文件夹存档点
mkdir /iscsi_disks
chmod 777 /iscsi_disks >/etc/target/saveconfig.json
cat >> /etc/target/saveconfig.json <<EOF
{
"fabric_modules": [],
"storage_objects": [
{
"attributes": {
"block_size": 512,
"emulate_dpo": 0,
"emulate_fua_read": 0,
"emulate_fua_write": 1,
"emulate_model_alias": 1,
"emulate_rest_reord": 0,
"emulate_tas": 1,
"emulate_tpu": 0,
"emulate_tpws": 0,
"emulate_ua_intlck_ctrl": 0,
"emulate_write_cache": 1,
"enforce_pr_isids": 1,
"fabric_max_sectors": 8192,
"is_nonrot": 0,
"max_unmap_block_desc_count": 1,
"max_unmap_lba_count": 8192,
"max_write_same_len": 4096,
"optimal_sectors": 8192,
"queue_depth": 128,
"unmap_granularity": 1,
"unmap_granularity_alignment": 0
},
"dev": "/iscsi_disks/disk01.img",
"name": "disk01",
"plugin": "fileio",
"size": 2147483648,
"write_back": true,
"wwn": "3267f7a8-b56b-448e-a0dd-b9f65906e96e"
}
],
"targets": [
{
"fabric": "iscsi",
"tpgs": [
{
"attributes": {
"authentication": 0,
"cache_dynamic_acls": 0,
"default_cmdsn_depth": 16,
"demo_mode_write_protect": 1,
"generate_node_acls": 0,
"login_timeout": 15,
"netif_timeout": 2,
"prod_mode_write_protect": 0
},
"enable": true,
"luns": [
{
"index": 0,
"storage_object": "/backstores/fileio/disk01"
}
],
"node_acls": [
{
"attributes": {
"dataout_timeout": 3,
"dataout_timeout_retries": 5,
"default_erl": 0,
"nopin_response_timeout": 30,
"nopin_timeout": 15,
"random_datain_pdu_offsets": 0,
"random_datain_seq_offsets": 0,
"random_r2t_offsets": 0
},
"chap_password": "password",
"chap_userid": "username",
"mapped_luns": [
{
"index": 0,
"tpg_lun": 0,
"write_protect": false
}
],
"node_wwn": "iqn.2016-10.vdevops.org:vdevops.org"
}
],
"parameters": {
"AuthMethod": "CHAP,None",
"DataDigest": "CRC32C,None",
"DataPDUInOrder": "Yes",
"DataSequenceInOrder": "Yes",
"DefaultTime2Retain": "20",
"DefaultTime2Wait": "2",
"ErrorRecoveryLevel": "0",
"FirstBurstLength": "65536",
"HeaderDigest": "CRC32C,None",
"IFMarkInt": "2048~65535",
"IFMarker": "No",
"ImmediateData": "Yes",
"InitialR2T": "Yes",
"MaxBurstLength": "262144",
"MaxConnections": "1",
"MaxOutstandingR2T": "1",
"MaxRecvDataSegmentLength": "8192",
"MaxXmitDataSegmentLength": "262144",
"OFMarkInt": "2048~65535",
"OFMarker": "No",
"TargetAlias": "LIO Target"
},
"portals": [
{
"ip_address": "0.0.0.0",
"iser": false,
"port": 3260
}
],
"tag": 1
}
],
"wwn": "iqn.2016-10.vdevops.org:storage.target00"
}
]
} EOF echo -e "\033[31m\n查看3260端口是否打开\033[0m"
sleep 1s
ss -napt | grep 3260
sleep 3s systemctl enable target echo -e "\033[31m即将使用EPEL源安装scsi-target-utils并配置\033[0m"
sleep 3s
# 使用EPEL源安装scsi-target-utils
yum --enablerepo=epel -y install scsi-target-utils
# 创建硬盘镜像
dd if=/dev/zero of=/iscsi_disks/disk01.img count=0 bs=1 seek=2G cat >> /etc/tgt/targets.conf <<EOF
<target iqn.2016-10.vdevops.org:target00>
backing-store /iscsi_disks/disk01.img
initiator-address $ip2
incominguser username password
</target>
EOF #开启并自启服务
systemctl start tgtd
systemctl status tgtd |grep Active:
systemctl enable tgtd
sleep 3s #查看状态
echo -e "\033[31m查看服务状态\033[0m"
sleep 3s
tgtadm --mode target --op show

客服端

#!/bin/bash
lsblk >lsblk1
#测试主机是否可以联网
echo -e "\033[31m即将测试主机是否可以联网\033[0m"
if [ $? -eq 0 ];then
echo -e "\033[31m主机可以联网继续脚本\033[0m"
else
echo -e "\033[31m主机不可联网,即将退出脚本\033[0m"
exit
fi
#编写服务端与客户端IP地址
echo -e "\033[31m\n即将编写服务端与客户端IP地址\033[0m"
sleep 3s
rm -rf ./ip
cat >> ./ip <<EOF
#在后面写IP地址,ip1为服务端,ip2为客户端
export ip1=
export ip2=
EOF
vi ./ip
source ./ip echo -e "\033[31m\n即将关闭firewalld与selinux\033[0m"
sleep 1s
# firewalld config
systemctl disable firewalld
systemctl stop firewalld
#关闭selinux
setenforce 0 echo -e "\033[31m即将配置yum仓库文件\033[0m"
sleep 1s
#创建本地仓库文件
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom cat >> /etc/yum.repos.d/a.repo <<EOF
[a]
name=a
baseurl=file:///mnt/cdrom
gpgcheck=0
EOF yum install -y wget vim
#下载epel7仓库文件
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum repolist sleep 3s echo -e "\033[31m即将使用EPEL安装iscsi-initiator-utils并配置\033[0m"
sleep 1s
#使用EPEL安装iscsi-initiator-utils
yum -y install iscsi-initiator-utils echo "InitiatorName=iqn.2016-10.vdevops.org:vdevops.org" >/etc/iscsi/initiatorname.iscsi echo "node.session.auth.authmethod = CHAP" >>/etc/iscsi/iscsid.conf
echo "node.session.auth.username = username" >>/etc/iscsi/iscsid.conf
echo "node.session.auth.password = password" >>/etc/iscsi/iscsid.conf # 发现target
iscsiadm -m discovery -t sendtargets -p $ip1
sleep 5s
iscsiadm -m node -o show
#登录target
iscsiadm -m node --login
#确认连接状态
iscsiadm -m session -o show
#确认分区状况
echo -e "\033[35m等待5s对比看是否多出一块disk磁盘\033[0m"
sleep 5s
lsblk >lsblk2
vim -O lsblk1 lsblk2

iscsi脚本的更多相关文章

  1. iscsi与multipath

    2016-10-01/21:07:24 http://www.cnblogs.com/wuchanming/p/4019660.htmlhttp://czmmiao.iteye.com/blog/20 ...

  2. iscsi介绍及iscsi target配置

    iSCSI 主要是透过 TCP/IP 的技术,将储存设备端透过 iSCSI target (iSCSI 目标) 功能,做成可以提供磁盘的服务器端,再透过 iSCSI initiator (iSCSI ...

  3. 记一次troubleshooting(一):奇慢的脚本

    背景: 事情发生的时间是几年前,那时刚从windows server运维的部门调动过来,对linux和数据库还是处于一知半解的状态. 领导找过来说:前任遗留下来的问题你来调查一下,有个客户说他们的日次 ...

  4. 网络存储(三)之ISCSI搭建的入门

    搭建iscsi 我们就拿两台linux服务器来做吧, 服务器系统均为CentOs6.6 64位的,信息如下 IP 安装的软件 192.168.22.142 iscsi target端:scsi-tar ...

  5. kickStart脚本

    kickstart是什么        许多系统管理员宁愿使用自动化的安装方法来安装红帽企业 Linux.为了满足这种需要,红帽创建了kickstart安装方法.使用kickstart,系统管理员可以 ...

  6. 在CentOS 7下ISCSI和多路径部署文档【转】

    部署环境 设备:MD3860i, R630, S4820T(生产网络), N2024(管理网络) 操作系统:Centos 7 默认管理口的地址:A控192.168.129.101, B 控192.16 ...

  7. linux 存储技术 部署iSCSI NFS Multipath多路径

    存储技术应用存储是根据不同的应用环境通过采取合理,安全,有效的方式将数据保存到某些介质上并能保证有效的访问另一方面,它是保证数据完整安全存放的方式或行为存储就是把这两方面结合起来,向客户提供一套数据存 ...

  8. linux iscsi配置

    iSCSI 是一种 SAN的设备而 SAN的设备主要是提供 Server 存储体的空间.相较于传统的 SAN 是以光纤为传输媒体而 iSCSI(Internet SCSI)他是 IP-based 的数 ...

  9. iscsi 挂载网络存储及存储访问

    http://blog.sina.com.cn/s/blog_408764940101ghzi.html 一.Ess3016x设置 登陆admin 密码 888888888888 1.安装硬盘,查看硬 ...

随机推荐

  1. 查看hive的信息

    一.Hive下查看数据表信息的方法方法1:查看表的字段信息desc table_name; 方法2:查看表的字段信息及元数据存储路径desc extended table_name; 方法3:查看表的 ...

  2. Oracle 查询对应表所有字段名称,可排除不想要的字段

    由于Oracle varchar类型长度限制为4000 ,以下方法仅支持查询字段拼接后长度小于等于4000 第一种方法 select wm_concat(column_name) from user_ ...

  3. 【原】maven web项目eclipse搭建

    1.new->other->Maven Project,点击next 2.继续next 3.选择maven-archetype-webapp,如果找不到可以再Filter里面搜索web,就 ...

  4. ubuntu 添加字体

    1. 下载自己需要安装的字体文件 eg: yaheiconsolashybrid.ttf 2. 将字体文件放在目录/home下 3. 到目录/usr/share/fonts/truetype/下建立目 ...

  5. jQuery.post(url, [data], [callback], [type])

    jQuery.post(url, [data], [callback], [type]) 概述 通过远程 HTTP POST 请求载入信息. 这是一个简单的 POST 请求功能以取代复杂 $.ajax ...

  6. webpack4(4.41.2) 打包出现 TypeError this.getResolve is not a function

    报错问题: webpack 打包出现 TypeError: this.getResolve is not a function 环境: nodejs 12.13.0 npm 6.12.0 webpac ...

  7. Android中定义广播监听,其他页面发送

    private LocalBroadcastManager broadcastManager; /** * 注册广播接收器 */ private void receiveAdDownload() { ...

  8. php " ",0,'0',false ==判断

    今天项目中遇到的一个问题,举个栗子: if($_GET['is_has_idcard']==0 || $_GET['is_has_idcard']==1){ echo '这次我要上传身份证'; } i ...

  9. Vue_(组件通讯)非父子关系组件通信

    Vue单项数据流 传送门 Vue中不同的组件,即使不存在父子关系也可以相互通信,我们称为非父子关系通信 我们需要借助一个空Vue实例,在不同的组件中,使用相同的Vue实例来发送/监听事件,达到数据通信 ...

  10. flask 第八篇 实例化flask时的参数配置

    Flask 是一个非常灵活且短小精干的web框架 , 那么灵活性从什么地方体现呢? 有一个神奇的东西叫 Flask配置 , 这个东西怎么用呢? 它能给我们带来怎么样的方便呢? 首先展示一下: from ...