iSCSI 服务器
配置 iSCSI Targets
#服务器端:搭建 “网络硬盘出租店”[root@server ~ 11:06:21]# yum install -y targetd targetcli[root@server ~ 11:14:02]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 200G 0 disk ├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 52G 0 part ├─centos-root 253:0 0 50G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]sdb 8:16 0 100G 0 disk sr0 11:0 1 1024M 0 rom #client没有硬盘,之后操作给client添加共享硬盘[root@client ~ 14:38:49]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 200G 0 disk ├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 52G 0 part ├─centos-root 253:0 0 50G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]sr0 11:0 1 1024M 0 rom #启动服务并设置开机自启(打开店门)[root@server ~ 11:14:04]# systemctl enable --now targetCreated symlink from /etc/systemd/system/multi-user.target.wants/target.service to /usr/lib/systemd/system/target.service.[root@server ~ 11:16:35]# targetcliWarning: Could not load preferences file /root/.targetcli/prefs.bin.targetcli shell version 2.1.53Copyright 2011-2013 by Datera, Inc and others.For help on commands, type 'help'./> lso- / .............................................................................. [...]o- backstores ................................................................... [...]| o- block ....................................................... [Storage Objects: 0]| o- fileio ...................................................... [Storage Objects: 0]| o- pscsi ....................................................... [Storage Objects: 0]| o- ramdisk ..................................................... [Storage Objects: 0]o- iscsi ................................................................. [Targets: 0]o- loopback .............................................................. [Targets: 0]
配置 backstore 对象
#cd到共享的里面/> cd /backstores/block#准备要出租的 “硬盘”(Backstore)/backstores/block> create myblock1 /dev/sdbCreated block storage object myblock1 using /dev/sdb.-把服务器的物理硬盘 sdb(100G)包装成 “1 号硬盘”(myblock1),供出租
等同于两种写法
/> /backstores/block create myblock1 /dev/sdbCreated block storage object myblock1 using /dev/sdb.
#先开一个窗口,创建一个文件,虚拟硬盘(2G 文件)[root@server ~ 11:29:55]# dd if=/dev/zero of=/tmp/bigfile bs=1M count=2048- 用大文件模拟硬盘,适合没有多余物理硬盘的场景记录了2048+0 的读入记录了2048+0 的写出2147483648字节(2.1 GB)已复制,6.54975 秒,328 MB/秒#到fileio创建/backstores/block> cd /fileio/backstores/fileio> create file1 /tmp/bigfileCreated fileio file1 with size 2147483648/backstores/fileio> /backstores/fileio> cd /iscsi/iscsi> ls /o- iscsi ................................................................... [Targets: 0]#创建 “出租柜台”(Target)/iscsi> create iqn.2025-08.online.lovyk.server:myblock1#delete tab键位查看有什么文件,删除多余的2003/iscsi> delete iqn.2003-01.org.linux-iscsi.server.x8664:sn.749d0dcff1e3 iqn.2025-08.online.lovyk.server:myblock1 #清理多余柜台/iscsi> delete iqn.2003-01.org.linux-iscsi.server.x8664:sn.749d0dcff1e3 /iscsi> cd iqn.2025-08.online.lovyk.server:myblock1/tpg1/#设置 “门禁”(只允许指定客户进入)/iscsi/iqn.20...myblock1/tpg1> acls/ create iqn.2025-08.online.lovyk.server:client#acls/ delete iqn.2025-08.online.lovyk.server:client删除方法#把硬盘放到柜台里(供客户选择)/iscsi/iqn.20...myblock1/tpg1> luns/ create /backstores/block/myblock1 /iscsi/iqn.20...myblock1/tpg1> luns/ create /backstores/fileio/file1 #告诉客户柜台的 “地址和门牌号”(网络配置)/iscsi/iqn.20...myblock1/tpg1> portals/ delete 0.0.0.0 3260 # 删除默认的“全地址 监听”(不安全)Deleted network portal 0.0.0.0:3260/iscsi/iqn.20...myblock1/tpg1> portals/ create 10.1.8.10 3260 # 绑定服务器IP 10.1.8.10和端口3260(iSCSI默认端口)Using default IP port 3260Created network portal 10.1.8.10:3260./iscsi/iqn.20...myblock1/tpg1> exit #退出自动保存Global pref auto_save_on_exit=trueConfiguration saved to /etc/target/saveconfig.json-- 自动保存配置到/etc/target/saveconfig.json#客户端:租用 “网络硬盘”#安装 “租客工具”(iSCSI 客户端)[root@client ~ 13:30:41]# yum install -y iscsi-initiator-utils#设置 “会员卡”( Initiator 名称)[root@client ~ 13:55:17]# vim /etc/iscsi/initiatorname.iscsi #编辑vim[root@client ~ 13:57:30]# cat /etc/iscsi/initiatorname.iscsiInitiatorName=iqn.2025-08.online.lovyk.server:client#发现 “出租柜台”(查找服务器的共享)[root@client ~ 13:58:06]# iscsiadm -m discovery -t st -p 10.1.8.1010.1.8.10:3260,1 iqn.2025-08.online.lovyk.server:myblock1# 连接柜台并租用硬盘(登录并挂载)[root@client ~ 14:01:12]# iscsiadm -m node -T iqn.2025-08.online.lovyk.server:myblock1 -lLogging in to [iface: default, target: iqn.2025-08.online.lovyk.server:myblock1, portal: 10.1.8.10,3260] (multiple)Login to [iface: default, target: iqn.2025-08.online.lovyk.server:myblock1, portal: 10.1.8.10,3260] successful.#查看租用的硬盘(确认结果)[root@client ~ 14:01:38]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 200G 0 disk ├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 52G 0 part ├─centos-root 253:0 0 50G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]sdb 8:16 0 100G 0 disk ##手动添加的100Gsdc 8:32 0 2G 0 disk ##dd if...创建的2G虚拟文件当硬盘sr0 11:0 1 1024M 0 rom
故障处理
#修复 iSCSI 连接(远程硬盘连不上了,重新连接)[root@client ~]# systemctl stop iscsid # 重新发现[root@client ~]# iscsiadm -m discovery -t st -p server10.1.8.10:3260,1 iqn.2024-12.online.lovyk.server:disk1# 重新登录[root@client ~]# iscsiadm -m node -T iqn.2024-12.cloud.laoma.server:disk1 -l
#格式化远程存储并用作网页目录[root@client ~ 15:19:44]# mkfs.xfs /dev/sdb[root@client ~ 15:25:07]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 200G 0 disk ├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 52G 0 part ├─centos-root 253:0 0 50G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]sdb 8:16 0 100G 0 disk sdc 8:32 0 2G 0 disk sr0 11:0 1 1024M 0 rom [root@client ~ 15:25:14]# yum install -y httpd#将远程硬盘 sdb 挂载到网页服务器的默认目录 /var/www/html(Apache 会从这个目录读取网页文件)[root@client ~ 15:26:02]# mount /dev/sdb /var/www/html[root@client ~ 15:26:26]# echo cccc > /var/www/html/index.html[root@client ~ 15:26:51]# systemctl enable httpd --nowCreated symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.#查看 sdb 的 UUID(唯一标识符,类似 “硬盘的身份证号”)[root@client ~ 15:27:16]# blkid /dev/sdb/dev/sdb: UUID="37518144-8e36-4208-837a-96a40d57cf95" TYPE="xfs" #配置开机自动挂载远程硬盘 sdb 到 /var/www/html[root@client ~ 15:27:25]# vim /etc/fstab#vim添加记录,_netdev必须写,网络挂载UUID="37518144-8e36-4208-837a-96a40d57cf95" /var/www/html/ xfs _netdev 0 0