Linux Engineer学习------ISCSI

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Engineer学习------ISCSI相关的知识,希望对你有一定的参考价值。

实验环境:修改两台虚拟机防火墙默认区域为trusted

[[email protected] ~]# firewall-cmd --set-default-zone=trusted

[[email protected] ~]# firewall-cmd --set-default-zone=trusted

1、parted

划分分区的指令:parted (专门做大空间划分 2T)

GPT: 突破了4个主分区限制,可以有很多主分区

1.1交互式分区

[[email protected] ~]# parted /dev/vdb  #为磁盘分区

(parted) print                      #输出分区表

(parted) mktable gpt          #设置分区模式为GPT

(parted) mkpart                  #划分新的分区

分区名称?  []? haha           #分区名称随便起:

文件系统类型?  [ext2]? ext4   #文件系统不起作用

起始点? 0                      #上一个分区的结束,是下一个分区的开始

结束点? 2G

忽略/Ignore/放弃/Cancel? Ignore  #忽略,分区表信息会占用一部分空间

(parted) print                   #输出分区表

(parted) quit 

[[email protected] ~]# ls /dev/vdb1

 

1.2非交互式分区

parted -s /dev/vdc mklabel gpt

parted -s /dev/vdc mkpart primary  0G  10240M

mkfs.ext4 /dev/vdc1


2、iSCSI网络磁盘

? Internet SCSI,网际SCSI接口

 一种基于C/S架构的虚拟磁盘技术

 服务器提供磁盘空间,客户机连接并当成本地磁盘使用

服务端思路:

1.划分分区

2.运行targetcli命令

------>建立后端存储

------>建立共享磁盘起名

------>关联将共享磁盘名字与后端存储联系起来

------>做ACL 允许客户端通过那个名字来访问

------>启用端口和IP


? ISCSI Qualified Name 名称规范

 iqn.yyyy-mm.倒序域名:自定义标识

用来识别 target 磁盘组,也用来识别客户机身份

 

服务端server0:

1.服务端软件,targetcli

2.运行targetcli命令进行配置

[[email protected] ~]# targetcli

/> ls

/> backstores/block create  nsd  /dev/vdb1   #创建后端存储并起名

/> iscsi/ create iqn.2017-12.com.example:server0 #为共享磁盘起名

/> iscsi/iqn.2017-12.com.example:server0/tpg1/luns     create  /backstores/block/nsd                 #关联后端存储

/> iscsi/iqn.2017-12.com.example:server0/tpg1/acls      create iqn.2017-12.com.example:desktop0          #设置客户端名称

/> iscsi/iqn.2017-12.com.example:server0/tpg1/portals     create  172.25.0.11                              #启用端口与IP

Using default IP port 3260

Created network portal 172.25.0.11:3260.

/> saveconfig                  //保存配置结果(缺省

/> exit

3.重起服务,设置为开机自起

[[email protected] ~]# systemctl restart target

[[email protected] ~]# systemctl enable target

 

客户端desktop0:

1.安装一个客户端软件

[[email protected] ~]# yum repolist

[[email protected] ~]# yum -y install iscsi-initiator-utils.i686

2.指定客户端自称的名字

[[email protected] ~]# vim /etc/iscsi/initiatorname.iscsi

#指明访问服务端,客户端自称的名字,是服务端ACL指定的名称

InitiatorName=iqn.2017-12.com.example:desktop0

[[email protected] ~]# systemctl restart iscsid

3.发现服务端位置

[[email protected] ~]# man  iscsiadm

[[email protected] ~]# iscsiadm --mode discoverydb --type sendtargets --portal 172.25.0.11 --discover

[[email protected] ~]# iscsiadm -m discovery -t st -p serverX  //发现磁盘

[[email protected] ~]# iscsiadm -m node -L all     //连接磁盘

 

[[email protected] ~]# vim /var/lib/iscsi/nodes/iqn.2016-02.com.example\:server0/*/default

node.conn[0].startup = automatic

//把 manual 改成 automatic

.. ..

[[email protected] ~]# systemctl enable iscsid

//将 iscsi 服务设开机自启

 

4.加载共享存储

[[email protected] ~]# lsblk

[[email protected] ~]# systemctl restart iscsi

[[email protected] ~]# systemctl daemon-reload

[[email protected] ~]# systemctl restart iscsi

[[email protected] ~]# systemctl enable iscsi

[[email protected] ~]# lsblk

 

5.开机自动挂载

[[email protected] ~]# lsblk               //确认多出的磁盘,比如/dev/sda

[[email protected] ~]# fdisk /dev/sda

Command (m for help): n                // n 新建分区

 

[[email protected] ~]# partprobe /dev/sda   //刷新分区表

[[email protected] ~]# mkfs.ext4 /dev/sda1  //按要求格式化分区

[[email protected] ~]# mkdir /mnt/data      //创建挂载点

[[email protected] ~]# blkid /dev/sda1      //找到分区 UUID

/dev/sda1: UUID="6ff20bb3-7543-4fa0-b4fa-bdc99a1e63ce" .. ..

[[email protected] ~]# vim /etc/fstab    //开机自挂载

UUID="6ff20bb3-7543-4fa0-b4fa-bdc99a1e63ce" /mnt/data ext4 _netdev 0 0

[[email protected] ~]# mount -a

[[email protected] ~]# sync ; reboot -f         //先存盘再强制重启,避免关机卡死

 

客户端:刷新/etc/iscsi/initiatorname.iscsi文件的服务

[[email protected] ~]# systemctl restart iscsid

[[email protected] ~]# systemctl restart iscsi


以上是关于Linux Engineer学习------ISCSI的主要内容,如果未能解决你的问题,请参考以下文章

Linux Engineer学习------ISCSI

Linux Engineer学习------Mariadb入门

Linux Engineer学习------WEB/Postfix

Linux下使用ISC DHCP可以实现动态推送静态路由表

Linux学习之Engineer

LINUX系统工程师技术(Engineer)-------第一天