之前说过共享文件,但是共享文件的局限性很大,遇到了大容量的文件就会出现传输速度慢的情况。
因为客户端在连接服务器的时候,是使用客户端的文件系统连接服务端文件系统,传送的时候也是将客户端输入的东西先转换成2进制,之后再由服务端的2进制转换成输入的东西,往硬盘里面存的时候会再转换为2进制,这样做会浪费大量资源。所以将硬件直接共享出去就可以省去大量繁琐的步骤。
解决方式是将服务端的硬盘共享出去,共享方式是iscsi
服务端
首先建立一个分区
fdisk /dev/vdb
yum install targetcli -y
systemctl start target
targetcli
接下来进行填加
1./backstores/block create zjj:storage1 /dev/vdb
2.iscsi/ create iqn.2017-12.com.example:storage1
3.iscsi/iqn.2017-12.com.example:storage1/tpg1/acls create iqn.2017-12.com.example:zjjkey
4.iscsi/iqn.2017-12.com.example:storage1/tpg1/luns create /backstores/block/zjj:storage1
5.iscsi/iqn.2017-12.com.example:storage1/tpg1/portals create 172.25.154.2
1.在/backstores/block下创建一个分区,来源是/dev/vdb。名字随便,硬盘是你刚刚创建出来的那个。创建一个设备名字。
2.在iscsi中创建一个iqn,作用是标记哪一个域名的地址可以访问,域名要反写。创建一个共享硬件的名字
3.创建一个密码(密码,一般是密文,这里是明文)
4.对密码加密
5.配置target监听IP和端口(默认在所有接口IP的3260/tcp监听)
接下来开放端口3260
firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload
客户端
yum install iscsi-initiator-utils.i686 -y
systemctl start iscsi
iscsiadm -m discovery -t st -p 172.25.254.154
iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.154 -l ##登陆
编写(改成密码)服务器端的那个密码是来源于共享硬件acls下的那个文件
vim /etc/iscsi/initiatorname.iscsi
完成之后就可对这个共享设备进行分区,挂载,使用
设置开机自启动
vim /etc/fstab
_netdev(设置他为网络挂载,就是说先进行网络服务的启动再进行挂载)
删除(客户端)
iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.1 -u
iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.1 -o delete
退出共享硬件的使用
删除共享硬件
删除(服务端)
targetcli
clearconfig confirm=true
之后还可以将硬件通过LVM的方式共享出去,以实现可随时调控大小的共享磁盘。
但首先要进行清除
rm -rf /var/lib/iscsi/send_targets/*
rm -rf /var/lib/iscsi/nodes/*
也可用树形图的方式删除
yum install tree -y
tree /var/lib/iscsi
之后创建LVM即可
LVM的创建方式
使用和上面相同的方法将磁盘共享出去。