一.iscsi基本信息
1.iscsi概念:
iscsi技术实现了物理硬盘设备与TCP/TP网络传输协议的相结合,使得用户可以通过互联网方便获取到远程机房提供的共享存储资源
企业的存储是对外部开放的,用到的是cifs,nfs文件系统,而直接连接硬盘不通过文件系统,直接通过网络把数据存储到硬盘里面,提高了效率,也更加方便,因为硬盘都是二进制编码,而文件系统则是要先将其转换为二进制然后再进行相应的输入输出操作。
二.iscsi硬盘存储系统的建立和验证
1.在服务端
(1)安装软件
[root@zll ~]# yum install targetcli -y ##下载支持该硬盘系统的软件
root@zll ~]# targetcli ##软件安装好后就可以登陆
(2)建立iscsi硬盘分区
[root@zll ~]# fdisk /dev/vdb ##j建立1G的分区并且指定为lvm类型
[root@zll ~]# partprobe ##同步分区表
[root@zll ~]# pvcreate /dev/vdb2 ##创建物理卷
[root@zll ~]# vgcreate iscsi_vg0 /dev/vdb2
[root@zll ~]# vgdisplay iscsi_vg0 ##显示iscsi_vg0的详细信息
[root@zll ~]# lvcreate -l 255 -n iscsi_lv0 iscsi_vg0 ##创建1G的lv分区
- 创建lvm硬盘分区
- 建立lvm分区系统
(3)创建iscsi硬盘系统
[root@zll ~]# targetcli
/> ls ##查看的时候蓝色的相当于目录,紫色的相当于目录下的文件
/> /backstores/block create westos:storage1 /dev/iscsi_vg0/iscsi_lv0 ##生成iscsi的硬盘系统,与主机建立的lvm分区建立联系
iscsi/ create iqn.2019-02.com.westos:storage1 ##添加该硬盘系统的详细信息,注意书写是年月,书写格式有严格要求
iscsi/iqn.2019-02.com.westos:storage1/tpg1/luns create /backstores/block/westos:storage1 ##创建这个硬盘系统
/> iscsi/iqn.2019-02.com.westos:storage1/tpg1/acls create iqn.2019-02.com.westos:storage1key ## 对创建的硬盘系统加密
/> iscsi/iqn.2019-02.com.westos:storage1/tpg1/portals create 172.25.77.102 ##建立这个接口信息,ip为本机ip
2.在客户端(验证)
(1)解决防火墙问题
[root@foundation2 ~]# yum install iscsi-initiator-utils.x86_64 ##安装支持该系统的软件
[root@foundation2 ~]# iscsiadm -m discovery -t st -p 172.25.77.102
注:登陆不了是因为防火墙问题
解决如下:
在服务端:
[root@zll ~]# firewall-cmd --list-all ##列出火墙具体信息
[root@zll ~]# firewall-cmd --permanent --add-port=3260/tcp ##添加允许该服务的端口
[root@zll ~]# firewall-cmd --reload ##重新加载火墙
再次验证:(在客户端)
iscsiadm -m discovery -t st -p 172.25.77.102 ##该命令可以登陆
[root@foundation2 ~]# iscsiadm -m node -T iqn.2019-02.com.westos:storage1 -p 172.25.77.102 -l ##登陆不了是因为加密文件的问题
(2)解决客户端添加加密文件的问题
[root@foundation2 ~]# vim /etc/iscsi/initiatorname.iscsi ####添加服务端的钥匙
文件编辑内容为:
[root@foundation2 ~]# iscsiadm -m node -T iqn.2019-02.com.westos:storage1 -p 172.25.254.202 -l ##发现还是登陆不了
[root@foundation2 ~]# systemctl restart iscsid ##重启动服务后发现可以登陆
3.iscsi硬盘文件系统的使用
fdisk -l ##客户端查看该系统属于那个盘
[root@foundation2 ~]# fdisk /dev/sdb ##建立该硬盘分区
/dev/sdd为建立的iscsi硬盘文件系统
[root@foundation2 ~]# mkfs.xfs /dev/sdb1 ##分区格式化
[root@foundation2 ~]# mount /dev/sdb1 /mnt/ ##挂载后就可以正常使用了
</font color=green size=3>4.解决客户端iscsi硬盘系统不够用的问题
在服务端
添加lvm分区
[root@zll ~]# fdisk /dev/vdb
[root@zll ~]# pvcreate /dev/vdb3
[root@zll ~]# vgextend iscsi_vg0 /dev/vdb3
[root@zll ~]# vgdisplay iscsi_vg0
[root@zll ~]# lvextend -l 510 /dev/iscsi_vg0/iscsi_lv0 ##分区建立完成
在客户端:
[root@foundation2 ~]# umount /mnt/
[root@foundation2 ~]# yum install tree ##查看该进程的树软件
[root@foundation2 ~]# tree /var/lib/iscsi/ ##查看该iscsi的进程树
显示系统正在使用
iscsiadm -m node -T iqn.2019-02.com.westos:storage1 -p 172.25.254.202 -u ##先退出登陆刷新,u代表unlogin
iscsiadm -m node -T iqn.2019-02.com.westos:storage1 -p 172.25.254.202 -l ##再重新登陆发现登陆成功
二.iscsi硬盘系统的永久挂载
在客户端:
vim /etc/fstab ##编辑永久挂载
编辑内容为:
/dev/sdb1 /mnt xfs defaults 0(不备份) 0(把检测)
当关掉客户端虚拟机重新启动的时候:
出现的问题:
启动的非常慢,是因为/etc/fstab文件读取比网络服务文件的读取优先
解决方法:
在虚拟机管理界面Boot Options----->SATA CDROM1(把从光盘启动调到最上面)
重启虚拟机
进入挽救模式
命令行输入:
sh-4.2#chroot /mnt/sysimage
sh-4.2#vim /etc/fstab
文件编辑内容为:
/dev/sdb1 /mnt xfs defaults,_netdev 0(不备份) 0(把检测) ##修改为先启动网络服务,在读取该文件内容
建议:因为selinx=enforcing,可以将其该为disabled是开机启动加快(vim /etc/sysconfig/selinux) |
在虚拟机管理界面Boot Options----->Virtio Disk1(把从硬盘启动调到最上面)
重启动虚拟机
df ##查看发现自动挂载,可以看到自动挂载
三.iscsi硬盘系统的删除
1.删除挂载(只需要退出该登陆)
[root@foundation2 ~]# iscsiadm -m node -T iqn.2019-02.com.westos:storage1 -p 172.25.254.202 -l ##登陆后查看
[root@foundation2 ~]# fdisk -l ##发现系统已经挂载
[root@foundation2 ~]# tree /var/lib/iscsi ##显示它的进程树发现也存在
[root@foundation2 ~]# iscsiadm -m node -T iqn.2019-02.com.westos:storage1 -p 172.25.254.202 -u ##退出登陆iscsi硬盘系统
[root@foundation2 ~]# fdisk -l ##看到在系统的挂载没有了
[root@foundation2 ~]# tree /var/lib/iscsi ##显示进程树的时候发现还存在
[root@foundation2 ~]# systemctl restart iscsi
[root@foundation2 ~]# fdisk -l ##重其服务后发现自动挂载
2.永久删除(删掉挂载和进程树)
[root@foundation2 ~]# iscsiadm -m node -T iqn.2019-02.com.westos:storage1 -p 172.25.254.202 -u ##退出登陆
[root@foundation2 ~]# iscsiadm -m node -T iqn.2019-02.com.westos:storage1 -p 172.25.254.202 -o delete ##删除挂载进程树
[root@foundation2 ~]# tree /var/lib/iscsi ##查看进程树发现没有,查看挂载发现也没有挂载
[root@foundation2 ~]# systemctl restart iscsi ##重启服务后再次查看发现进程树和挂载状态都消失
重启服务后: