iscsi脚本
服务端
#!/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脚本的更多相关文章
- iscsi与multipath
2016-10-01/21:07:24 http://www.cnblogs.com/wuchanming/p/4019660.htmlhttp://czmmiao.iteye.com/blog/20 ...
- iscsi介绍及iscsi target配置
iSCSI 主要是透过 TCP/IP 的技术,将储存设备端透过 iSCSI target (iSCSI 目标) 功能,做成可以提供磁盘的服务器端,再透过 iSCSI initiator (iSCSI ...
- 记一次troubleshooting(一):奇慢的脚本
背景: 事情发生的时间是几年前,那时刚从windows server运维的部门调动过来,对linux和数据库还是处于一知半解的状态. 领导找过来说:前任遗留下来的问题你来调查一下,有个客户说他们的日次 ...
- 网络存储(三)之ISCSI搭建的入门
搭建iscsi 我们就拿两台linux服务器来做吧, 服务器系统均为CentOs6.6 64位的,信息如下 IP 安装的软件 192.168.22.142 iscsi target端:scsi-tar ...
- kickStart脚本
kickstart是什么 许多系统管理员宁愿使用自动化的安装方法来安装红帽企业 Linux.为了满足这种需要,红帽创建了kickstart安装方法.使用kickstart,系统管理员可以 ...
- 在CentOS 7下ISCSI和多路径部署文档【转】
部署环境 设备:MD3860i, R630, S4820T(生产网络), N2024(管理网络) 操作系统:Centos 7 默认管理口的地址:A控192.168.129.101, B 控192.16 ...
- linux 存储技术 部署iSCSI NFS Multipath多路径
存储技术应用存储是根据不同的应用环境通过采取合理,安全,有效的方式将数据保存到某些介质上并能保证有效的访问另一方面,它是保证数据完整安全存放的方式或行为存储就是把这两方面结合起来,向客户提供一套数据存 ...
- linux iscsi配置
iSCSI 是一种 SAN的设备而 SAN的设备主要是提供 Server 存储体的空间.相较于传统的 SAN 是以光纤为传输媒体而 iSCSI(Internet SCSI)他是 IP-based 的数 ...
- iscsi 挂载网络存储及存储访问
http://blog.sina.com.cn/s/blog_408764940101ghzi.html 一.Ess3016x设置 登陆admin 密码 888888888888 1.安装硬盘,查看硬 ...
随机推荐
- ThreadPoolTaskExecutor使用详解(转)
当并发或者异步操作,都会用到ThreadPoolTaskExecutor.现在对线程池稍作理解. /*** *@Auth dzb *@Date 22:29 2018/8/29 *@Descriptio ...
- 4 saltstack ssh
1.salt ssh https://docs.saltstack.com/en/latest/topics/ssh/index.html 免agent的 Salt ssh 串行 执行的时候,发送给其 ...
- pro git 读书笔记 3 Git 分支
分支 新建分支:git branch 分支名 切换到该分支:git checkout 分支名 补充:以上两条语句等价于一句:git checkout -b 分支名 转换分支的时候最好保持一个清洁的工作 ...
- 【集训队作业2018】小Z的礼物
小水题.题意就是不断随机放一个 \(1 \times 2\) 骨牌,然后取走里面的东西.求期望多少次取走所有的东西.然后有一维很小. 首先显然 minmax 容斥,将最后取走转化为钦定一些物品,求第一 ...
- 这一次,彻底弄懂「Java字节码文件」
提前祝福各位读者
- 简单消息监听容器--SimpleMessageListenerContainer
这个类非常强大,我们可以对他做很多设置,对于消费者的配置项,这个类都可以满足监听队列(多个队列).自动启动.自动声明功能可以设置事务特性.事务管理器.事务属性.事务容量(并发).是否开启事务.回滚消息 ...
- python-matplotlib-ERROR
在导入包显示画图时,出错:ImportError: No module named '_tkinter 解决办法:通常原因是tkinter和tk-devel缺失 ERROR: matplotlib的图 ...
- 将本地文件夹同步到github仓库中
参考博客 本地生成rsa密钥 cd ~/.ssh # 查看是否已经生成过密钥 ssh-keygen -t rsa -C "username on github" # -C表示注释 ...
- Java并发编程的艺术笔记(十)——Semaphore详解
作用:控制同时访问某个特定资源的线程数量,用在流量控制.
- jmeter参数化之 CSV data set config
第一步:测试计划右键--创建线程组 第二步:选择线程组:右键--sample---创建:http request 配置协议类型和服务名称,method 和path 第三步:选择线程组下的http ...