1 案例1:配置iSCSI服务
1.1 问题
本案例要求先搭建好一台iSCSI服务器,并将整个磁盘共享给客户端:
- 服务器上要额外配置一块硬盘
- 服务端安装target,并将新加的硬盘配置为iSCSI 的共享磁盘
- 在客户端上安装initiator,挂在服务器iSCSI,要求实现开机自动挂载
1.2 方案
使用2台RHEL6虚拟机,其中一台作为iSCSI服务器(192.168.4.5)、另外一台作为测试用的Linux客户机(192.168.4.205),如图-1所示。
![](https://i-blog.csdnimg.cn/blog_migrate/752093403193383f8ccf0e6b7a759e61.png)
图-1
在RHEL7系统中,默认通过targetcli软件包提供iSCSI服务,因此需要在服务端安装targetcli包并配置对应的服务,iSCSI服务主要配置选项如表-1所示。
表-1 iSCSI配置选项列表
![](https://i-blog.csdnimg.cn/blog_migrate/5d71d6861aecee34d22bbba6d56c7d2f.png)
客户端挂载iSCSI服务器:
- 客户端需要安装iscsi-initiator-utils软件包
- 客户端使用命令挂载后需要分区、格式化并进行挂载测试
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:安装iSCSI服务器软件
1)使用yum安装targetcli软件包
[root@svr5 ~]# yum -y install targetcli
.. ..
[root@svr5 ~]# yum info targetcli
.. ..
步骤二:通过命令行配置iSCSI服务
1)定义后端存储
- [root@svr5 ~]# targetcli
- /> ls
- /> backstores/block create /dev/vdb1
2)创建iqn对象
/> /iscsi create iqn.2018-01.cn.tedu:server1
3) 授权客户机访问
- /> iscsi/iqn.2018-01.cn.tedu:server1/tpg1/acls create iqn.2018-01.cn.tedu:client1
4) 绑定存储
/>iscsi/iqn.2018-01.cn.tedu:server1/tpg1/luns create /backstores/block/iscsi_store
5) 绑定存储绑定监听地址,并保存配置
- /> iscsi/iqn.2018-01.cn.tedu:server1/tpg1/portals/ create 0.0.0.0
- /> saveconfig
- /> exit
步骤三:服务管理
1)控制服务
[root@svr1 ~]# systemctl { start|restart|stop|status} target
[root@svr1 ~]# systemctl enable target
2)查看端口信息
- [root@svr1 ~]# netstat -tlnp | grep :3260
步骤四:客户端访问
1)客户端安装软件并启动服务
[root@pc205 ~]# yum -y install iscsi-initiator-utils
[root@pc205 ~]# systemctl restrt iscsi
2)设置本机的iqn名称
- [root@pc205 ~]# vim /etc/iscsi/initiatorname.iscsi
- InitiatorName=iqn.2018-01.cn.tedu:client1
3)发现远程target存储
[root@pc205 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.5 --discover
3)客户端挂载iSCSI共享
- [root@pc205 ~]# systemctl restart iscsi
- [root@pc205 ~]# lsblk
4)分区、格式化、挂载
[root@pc205 ~]# fdisk –cul //查看挂载的iSCSI共享盘
[root@pc205 ~]# parted /dev/sdb mklabel gpt
[root@pc205 ~]# parted /dev/sdb mkpart primary 1 800
[root@pc205 ~]# parted /dev/sdc mklabel gpt
[root@pc205 ~]# parted /dev/sdc mkpart primary 1 800
[root@pc205 ~]# mount /dev/sdb1 /mnt
2 案例2:编写udev规则
2.1 问题
编写udev规则,实现以下目标:
- 当插入一个U盘时,该U盘自动出现一个链接称为udisk
- U盘上的第1个分区名称为udisk1,以此类推
- 终端上出现提示”udisk plugged in”
2.2 方案
对于Linux kernel 2.6及更新的操作系统版本udev是系统的设备管理器,udev会分析sysfs的数据,并根据自己的udev规则,实现如下功能:
- 处理设备命名
- 决定要创建哪些设备文件或链接
- 决定如何设置属性
- 决定触发哪些事件
udev默认规则存放在/etc/udev/rules.d目录下,通过修改次目录下的规则实现设备的命名、属性、链接文件等。
Udev规则文件,常见指令操作符如表-2所示。
表-2 udev常见指令操作符
udev常用替代变量:
- %k:内核所识别出来的设备名,如sdb1
- %n:设备的内核编号,如sda3中的3
- %p:设备路径,如/sys/block/sdb/sdb1
- %%:%符号本身
2.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:编写udev规则
1)查看设备属性