什么是ISCSI?ISCSI又能干什么呢? | 您所在的位置:网站首页 › iscsi虚拟磁盘 › 什么是ISCSI?ISCSI又能干什么呢? |
1.了解SCSI: SCSI(Small Computer System Interface) 小型计算机系统接口,一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。SCSI是一种智能的通用接口标准。 如下图所示是一张SCSI接口的卡: TPG:共享存储组,某个特定iSCSI目标要侦听的接口IP地址和TCP端口的集合。可以将目标配置添加到TPG以协调多个LUN的设置。 ACL:访问权限控制列表,一种使用节点IQN(通常是启动器名称)来验证启动器的访问权限的访问限制。 IQN:iSCSI限定名称,全球唯一名称,用于以强制命名格式来识别启动器和目标。 IQN格式如下: iqn.YYYY-MM.com.reversed.domain[:optional_string] iqn:表示此名称使用域为标识符; YYYY-MM:表示拥有域名的年月时间; com.reversed.domain:拥有此iSCSI组织的逆向域名; :optional_string:以冒号为前缀的可选字符串,全球唯一,由域所有者分配,其中可包含冒号为分割符的组织边界; LUN:逻辑单元号,带有编号的块设备,连接到目标且通过目标来使用。可以有一个或多个LUN连接到单个目标,但通常一个目标提供一个LUN; portals入口:目标或启动器上用于建立连接的IP地址和端口号,端口号一般为3260。目标端的portals入口配置使用targetcli命令。 5.ISCSI网路存储共享案例解析: 5.1创建ISCSI的存储空间,本案例中我是以磁盘上的一个分区来充当ISCSI存储空间的,实际应用中一般会添加新的磁盘或大容量存储的存储设备: [root@localhost ~]# fdisk /dev/sda
5.3创建ISCSI Target目标服务器: [root@localhost ~]# targetcli //进入服务端iscsi命令配置信息 /> ls //使用ls命令查看菜单结构 o- / ................................................... [...] //顶级目录 o- backstores ........................................ [...] //后备存储,主备存储空间,要共享的设备或分区得先加入到这里 | o- block ............................ [Storage Objects: 0] //块存储,o- backstores子目录 | o- fileio ........................... [Storage Objects: 0] //文件存储,o- backstores子目录 | o- pscsi ............................ [Storage Objects: 0] //真实物理scsi设备,o- backstores子目录 | o- ramdisk .......................... [Storage Objects: 0] //闪存,o- backstores子目录 o- iscsi ...................................... [Targets: 0] //以ISCSI的方式共享存储设备的目录 o- loopback ................................... [Targets: 0] 紧接着我们需要将我们准备的分区添加进来(注意我们准备的分区是块设备,所以应将其添加到块设备文件之中): /> cd backstores/ block //切换到块设备文件目录 /backstores/block> ls o- block ................................ [Storage Objects: 0] /backstores/block> //这里是通过Tab键列出了相关命令 / bookmarks cd create delete exit get help ls pwd refresh set status /backstores/block> create dev=/dev/sda4 name=lun0 //通过create命令添加设备,dev用来指定要添加的设别是什么,nam为逻辑单元名,可以自定义 Created block storage object lun0 using /dev/sda4. //添加成功提示语句 /backstores/block> ls //通过ls命令查看所添加的设备 o- block ................................ [Storage Objects: 1] o- lun0 ....... [/dev/sda4 (17.9GiB) write-thru deactivated]5.4将添加上来的存储设备通过目标哦服务器共享出去: /> cd iscsi //iscsi目录下实现共享 /iscsi> //这里是通过Tab键列出了相关命令 / @last bookmarks cd create delete exit get help info ls pwd refresh set status version /iscsi> create //创建共享信息 Created target iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.d7b8241cf0b2. Created TPG 1. Global pref auto_add_default_portal=true Created default portal listening on all IPs (0.0.0.0), port 3260. /iscsi> ls o- iscsi ........................................ [Targets: 1] o- iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.d7b8241cf0b2 [TPGs: 1] o- tpg1 ........................... [no-gen-acls, no-auth] //共享存储组 o- acls ...................................... [ACLs: 0] //访问控制信息 o- luns ...................................... [LUNs: 0] //逻辑单元设备 o- portals ................................ [Portals: 1] //入口 o- 0.0.0.0:3260 ................................. [OK] /> cd iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.d7b8241cf0b2/tpg1/ //设置共享存储组的属性 /iscsi/iqn.20...241cf0b2/tpg1> set attribute authentication=0 demo_mode_write_protect=0 generate_node_acls=1 cache_dynamic_acls=1 //属性认证关闭,演示模式写保护关闭,生成节点acl ,开启缓存动态acl Parameter demo_mode_write_protect is now '0'. Parameter authentication is now '0'. Parameter generate_node_acls is now '1'. Parameter cache_dynamic_acls is now '1'. /iscsi/iqn.20...241cf0b2/tpg1> cd luns /iscsi/iqn.20...0b2/tpg1/luns> create /backstores/block/lun0 lun=lun0 //添加共享指定存储设备 Created LUN 0. /iscsi/iqn.20...0b2/tpg1/luns> ls o- luns ............................................ [LUNs: 1] o- lun0 ........................... [block/lun0 (/dev/sda4)] /iscsi/iqn.20...0b2/tpg1/luns> cd .. /iscsi/iqn.20...241cf0b2/tpg1> ls o- tpg1 .................................. [gen-acls, no-auth] o- acls .......................................... [ACLs: 0] o- luns .......................................... [LUNs: 1] | o- lun0 ......................... [block/lun0 (/dev/sda4)] o- portals .................................... [Portals: 1] //默认对所有ip及3260端口进行监听 o- 0.0.0.0:3260 ..................................... [OK] /iscsi> exit //退出,默认保存配置信息 Global pref auto_save_on_exit=true Last 10 configs saved in /etc/target/backup. Configuration saved to /etc/target/saveconfig.json5.5启动服务: [root@localhost ~]# systemctl restart target.service5.6查看服务状态: [root@localhost ~]# systemctl status target.service6.测试: 6.1Windows客户端使用ISCSI发起程序进行测试: 查看当前虚拟机的磁盘分区情况: [root@localhost ~]# fdisk -l发现iSCSI目标: [root@localhost ~]# iscsiadm -m discovery -t sendtargets -p 192.168.10.206 完整命令(iscsi辅助工具 )--mode为模式,模式为发现—type为类型,发送目标,--portal为门户 iscsiadm --mode discovery --type sendtargets --portal 192.168.10.206登录目标(登录服务器上的一个或多个iscsi目标): 挂载命令格式: iscsiadm --mode node --targetnameiqn.2003-01.org.linux-iscsi.localhost.x8664:sn.d7b8241cf0b2 --portal 192.168.10.206 --login如下所示: [root@localhost ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.mail.x8664:sn.d7b8241cf0b2 -p 192.168.10.206:3260 -l查看: [root@localhost ~]# fdisk -l [root@localhost ~]# lsscsi查看和区分: [root@localhost ~]# ll /dev/disk/by-path/查看日志: [root@localhost ~]# grep sdb /var/log/messages删除: targetcli iscsi/ delete iqn.2003-01.org.linux-iscsi.mail.x8664:sn.d7b8241cf0b2注意: 1.自动挂载时必须使用UUID,否则会出问题,同时在参数中添加_netdev,如下所示: UUID=33899a29-9f9e-476f-b8e9-cc9ad0986dac /mnt xfs defaults,_netdev(启动后网络服务对应的信息,获取到IP地址再执行) 0 0 2.开机启动关闭防火墙,因为当计算机开机首先是bios自检查找硬盘中的操作系统引导启动,但是当系统没有完全启动时计算机就没有通过网络通讯,而iscsi是基于网络的共享存储,所以开机重启需要告诉内核这条开机挂在是基于网络的存储。 |
CopyRight 2018-2019 实验室设备网 版权所有 |