ISCSI
ISCSI主要是将存储设备端做成可以提供磁盘的服务器端,再透过iscsi initiator(iscsi初始化用户)功能,做成能够挂载使用使用iscsi设置来进行磁盘的应用了。也就是说,iscsi这个架构主要将存储装置与使用的主机分为两部分,分别是:
(1)iscsi target:就是存储设备端,存放磁盘或RAID的设备。
(2)iscsi initiator:就是能够使用target的用户端,通常是服务器。也就是说,想要连接到iscsi target 的服务器,也必须要安装iscsi initistor 的相关功能后才能使用iscsi target 提供的磁盘。
1、磁盘共享设置
服务端设置
1)划分需要共享的磁盘分区
共享的磁盘分区可以是物理磁盘分区,但是物理 磁盘分区一旦设置共享挂载完成之后,空间大小便会确定,无法进行容量变化。所以建议使用lvm逻辑卷进行共享,可以方便实现共享分区的扩容。
创建共享分区:
fdisk /dev/vdb
#对磁盘进行划分分区
partprobe
#刷新加载分区列表
pvcreate /dev/vdb1
#创建物理卷
vgcreate vg0 /dev/vdb1
#创建卷组 vg0
lvcreate -L 500M -n lv0 vg0
# 在卷组vg0中创建逻辑卷 lv0
2)安装磁盘共享策略编辑器
yum install targetcli -y
#安装共享策略编辑器
systemctl start target
#启动服务
systemctl enable target.service
#设置服务开机自动启动
targetcli #使用共享编辑器对磁盘进行处理的命令
/> /backstores/block create toto /dev/vg0/lv0
#添加已创建的逻辑卷到 Backstores 项下,命名为toto,向当于起了一个别名。
/> iscsi/ create iqn.2019-05.com.lala:toto
#创建新的 Target(服务器上的共享资源),服务器共享的资源的名称
/> iscsi/iqn.2019-05.com.lala:toto/tpg1/acls create iqn.2019-05.com.lala:totokey
#在 TPG 项下,新建 ACL 访问权限列表 ,限制仅客户端InitiatorName 的值为iqn.2019-05.com.lala:totokey 的可以访问该共享资源
/> iscsi/iqn.2019-05.com.lala:toto/tpg1/luns create /backstores/block/toto
#添加 Backstores 下的磁盘到 LUN 项下,并且将该磁盘与茶创建的共享资源进行关联
/> iscsi/iqn.2019-05.com.lala:toto/tpg1/portals create 172.25.47.104
#添加本机 IP 和端口
/> exit
#退出策略编辑器,并对生成的策略进行保存
防火墙设置:
firewall-cmd --permanent --add-port=3260/tcp
#添加防火墙允许3260端口 上面使用
firewall-cmd --reload
#重新加载防火墙配置
客户端设置
yum install iscsi-initiator-utils -y
#安装网络磁盘共享客户端软件
vim /etc/iscsi/initiatorname.iscsi
# 编辑配置文件
InitiatorName=iqn.2019-05.com.lala:totokey
#指定客户端的nitiatorName 值,与服务端的权限列表中的生成加密一致,才能使用
systemctl enable iscsi
#设置服务开机自动启动
systemctl start iscsi
# 启动服务
systemctl restart iscsi.service
#重新启动服务,加载配置
iscsiadm -m discovery -t st -p 172.25.47.104
#寻找发现服务端已设置好的共享资源
iscsiadm -m node -T iqn.2019-05.com.lala:toto -p 172.25.47.104 -l
#登录服务端已设置好的 共享资源
测试:
fdisk -l
#查看客户端的磁盘设备,出现共享资源
2、客户端对共享资源的使用。
1)格式化挂载
fdisk -l
#查看系统存在的磁盘分区
fdisk /dev/sda
#对共享磁盘进行分区
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x04616cde.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
First sector (8192-1023999, default 8192):
Using default value 8192
Last sector, +sectors or +size{K,M,G} (8192-1023999, default 1023999): +100M
Partition 1 of type Linux and of size 100 MiB is set
Command (m for help): p
Disk /dev/sda: 524 MB, 524288000 bytes, 1024000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 4194304 bytes
Disk label type: dos
Disk identifier: 0x04616cde
Device Boot Start End Blocks Id System
/dev/sda1 8192 212991 102400 83 Linux #划分出一个100M的分区
Command (m for help): wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
mkfs.xfs /dev/sda1
# 格式化文件系统
mount /dev/sda1 /opt
#进行挂载
[root@client Desktop]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3159684 7314216 31% /
devtmpfs 927060 0 927060 0% /dev
tmpfs 942648 124 942524 1% /dev/shm
tmpfs 942648 17052 925596 2% /run
tmpfs 942648 0 942648 0% /sys/fs/cgroup
/dev/sr0 3654720 3654720 0 100% /run/media/root/RHEL-7.0 Server.x86_64
/dev/sda1 98988 5280 93708 6% /opt
进入共享磁盘进行创建文件等操作
[root@client Desktop]# cd /opt
[root@client opt]# touch file{1..5}
[root@client opt]# ls
file1 file2 file3 file4 file5
设置开机自动挂载
vim /etc/fstab
# 编辑文件,设定开机自动挂载
UUID=9bf6b9f7-92ad-441b-848e-0257cbb883d1 /opt xfs defaults,_netdev 0 0
使用UUID的方式指定要被挂载的设备,比较稳定。
_netdev
参数表示这是一个网络挂载,提醒系统在网络启动之后进行挂载。
reboot
#重新启动系统。
注意:设置完成后可能无法自动正常关机,需要强制进行关机后,重新开机。
3、扩展共享资源
当共享分区容量不够使用的时候,由于为我们使用的是lvm 所有可以进行扩展。
服务端增加共享的分区的大小。
客户端退出该共享分区之后重新登陆共享分区,共享分区变成增加后的大小。
iscsiadm -m node -T iqn.2019-05.com.lala:toto -p 172.25.47.104 -u
#退出
iscsiadm -m node -T iqn.2019-05.com.lala:toto -p 172.25.47.104 -l
#登陆
再次查看共享分区大小变成增加后的800M ,扩展成功
4、取消共享分区
取消的时候,必须确保客户端没有使用该共享分区。
客户端
umount /opt
#卸载共享分区的挂载
iscsiadm -m node -T iqn.2019-05.com.lala:toto -p 172.25.47.104 -u
#退出共享分区
iscsiadm -m node -T iqn.2019-05.com.lala:toto -p 172.25.47.104 -o delete
#删除共享数据
vim /etc/fstab
#在该文件中删除设置的自动挂载。否则再次开机出现异常。
服务端
targetcli
#进入共享策略编辑工具
/> clearconfig confirm=True
#清除所有的共享设置
也可以和创建的时候一样,一步一步的删除,只是将创建命令中的create换成delete即可。