iscsiadm是一个用于管理iSCSI目标的命令行工具。它可以查询、登录iSCSI目标及管理open-iscsi数据库。常用的模式有discoverydb、node、fw、session、host、iface几个,其中discoverydb和node会显示其相关的所有记录;session用于显示所有的活动会话和连接,fw显示所有的启动固件值,host显示所有的iSCSI主机,iface显示/var/lib/iscsi/ifaces目录中的所有ifaces设定 。
Linux中iscsiadm的用法是什么?
iSCSI(Internet Small Computer System Interface,互联网小型计算机系统接口)是一种用于在IP网络上传输SCSI命令和数据的技术,iscsiadm是一个用于管理iSCSI目标的命令行工具,它允许管理员在iSCSI目标上执行各种操作,如创建、删除、启动和停止iSCSI会话等,本文将详细介绍iscsiadm的基本用法和一些高级功能。
iSCSI基础知识
1、iSCSI目标:iSCSI目标是一个运行在TCP/IP网络上的设备,它接收来自客户端的iSCSI请求,并将数据传输到连接到该目标的客户端。
2、iSCSI会话:iSCSI会话是客户端与iSCSI目标之间的一次通信过程,在一个会话期间,客户端可以对目标设备执行读写操作。
3、iSCSI LUN(Logical Unit Number):LUN是一个逻辑设备编号,用于标识存储在iSCSI目标上的一个物理设备或一组物理设备,一个LUN对应一个存储池中的一个物理磁盘或磁盘分区。
4、iSCSI Initiator:Initiator是一个在TCP/IP网络上运行的应用程序,它发送iSCSI请求以访问存储在iSCSI目标上的数据,一个iSCSI主机可以有一个或多个Initiator。
iscsiadm基本用法
1、安装iscsiadm:大多数Linux发行版都包含了iscsiadm软件包,如果没有安装,可以使用以下命令进行安装:
对于Debian/Ubuntu系统:
“`
sudo apt-get install iscsiadm
“`
对于CentOS/RHEL系统:
“`
sudo yum install iscsiadm
“`
2、发现iSCSI目标:使用以下命令发现连接到本地网络的所有iSCSI目标:
“`
iscsiadm -m discovery -t sendtargets –type=st -p <ip_address> –port=<port>
“`
3、查看已连接的iSCSI目标:使用以下命令查看当前已连接到本地计算机的所有iSCSI目标:
“`
iscsiadm -m node –op=info –name=<target_name> –trtype=<transport_type> –tid=<target_session_id>
“`
4、将iSCSI目标添加到iscsiadm配置文件:使用以下命令将一个iSCSI目标添加到系统的iscsiadm配置文件中,以便在下次启动时自动发现该目标:
“`
echo "<target_alias> <ip_address>:<port> <target_name>:<lun> <user> <password>" | sudo tee –append /etc/iscsi/initiatorname.iscsi >/dev/null
“`
5、从iscsiadm配置文件中删除iSCSI目标:使用以下命令从系统的iscsiadm配置文件中删除一个iSCSI目标:
“`
sudo sed -i ‘/<target_alias>/d’ /etc/iscsi/initiatorname.iscsi >/dev/null
“`
高级功能介绍
1、建立和删除iSCSI会话:使用以下命令建立一个新的iSCSI会话:
“`
iscsiadm -m session –op=add –tid=<target_session_id> –name=<session_name> –targetname=<target_name> –node=<target_node> –portal="<ip_address>" –username=<username> –password=<password> –firstboot && iscsiadm -m session –op=delete –tid=<target_session_id> –name=<session_name> >/dev/null
“`
2、为iSCSI会话分配LUN:使用以下命令为一个现有的iSCSI会话分配一个新的LUN:
“`
iscsiadm -m session –op=modify –tid=<target_session_id> –name=<session_name> –lun=<new_lun> >/dev/null
“`
3、将iSCSI目标映射到本地目录:使用以下命令将一个远程iSCSI目标映射到本地的一个目录,使得在该目录下可以像访问本地文件一样访问远程数据:
“`
iscsiadm -m node –op=update –name=<target_name> –trtype=tcpip –tpgt=iscsi –addmap <local_directory> <ip_address>::<port> <target_allocation> <target_name> >/dev/null
“`
4、从映射中删除iSCSI目标:使用以下命令从映射中删除一个远程iSCSI目标:
“`
iscsiadm -m node –op=update –name=<target_name> –trtype=tcpip –tpgt=iscsi –deletemap <local_directory> <ip_address>::<port> <target_allocation> <target_name> >/dev/null
“`