如果机器的磁盘空间不够,可以用iscsi把服务器172.18.30.18上面划出一片空间,远程挂上来用。
注意,服务器用losetup的这种做法是为了将来k8s也可以这样用动态iscsi卷
服务器端安装
登录172.18.30.18
安装:
yum install -y targetcli targetd`
用文件来虚拟LVM卷:
cd /glusterfs/iscsi-volumes/
生成20TB文件
dd if=/dev/zero of=k8s-iscsi-volumes.img bs=1G count=20000
export LOOP=`losetup -f`
losetup $LOOP k8s-iscsi-volumes.img
vgcreate vg-targetd $LOOP
修改targetd.yaml:
vi /etc/target/targetd.yaml
password: xxxxxxxx
# defaults below; uncomment and edit
# if using a thin pool, use <volume group name>/<thin pool name>
# e.g vg-targetd/pool
pool_name: vg-targetd
user: admin
ssl: false
target_name: iqn.2020-04.com.ddky:renhe-18-30-18
注意,这个文件生成后,就不需要改动了,如果以后target_name变了,也不用管,也不需要重启targetd
启动服务:
systemctl enable --now target
systemctl enable --now targetd
运行一下命令,看看显示结果 pvdisplay vgdisplay lvdisplay targetcli ls /
注意:lvdisplay结果和targetcli ls /结果都是空
如果有定义好的iscsi,3260端口才会开放。所以现在只开启了18700的targetd,3260未开放中。
如果以后定义好了,那么显示结果如下图:

那如果想要彻底删除某个已经存在的iscsi卷,三步曲:
首先删掉block设备
targetcli /backstores/block delete vg-targetd:pvc-harbor
然后删除iscsi
targetcli /iscsi delete iqn.2020-07.com.ddky:renhe-18-30-18
最后删除lv
lvremove /dev/vg-targetd/pvc-harbor
建立新的卷的方法:
建立新的lv pvc-harbor, 200G
lvcreate -L 200G -n pvc-harbor vg-targetd
建立新的block设备
targetcli /backstores/block create vg-targetd:pvc-harbor /dev/vg-targetd/pvc-harbor
建立新的iqn
targetcli /iscsi create iqn.2020-07.com.ddky:renhe-18-30-18
建立新的lun,portal会自动建立,3260端口会开放
targetcli /iscsi/iqn.2020-07.com.ddky:renhe-18-30-18/tpg1/luns create /backstores/block/vg-targetd:pvc-harbor
建立新的acls
targetcli /iscsi/iqn.2020-07.com.ddky:renhe-18-30-18/tpg1/acls create iqn.2020-07.com.ddky:harbor-18-31-28
设置acls的鉴权
targetcli /iscsi/iqn.2020-07.com.ddky:renhe-18-30-18/tpg1/acls/iqn.2020-07.com.ddky:harbor-18-31-28 set attribute authentication=0
targetcli /iscsi/iqn.2020-07.com.ddky:renhe-18-30-18/tpg1/acls/iqn.2020-07.com.ddky:harbor-18-31-28 set auth userid=admin password=nishiwode
如果lun只对srv2开放,不对srv1开放,方法如下:
/> iscsi/iqn.2003-01.local.rhce.ipa:target/tpg1/acls create iqn.1994-05.com.redhat:srv1 add_mapped_luns=false
/> iscsi/iqn.2003-01.local.rhce.ipa:target/tpg1/acls create iqn.1994-05.com.redhat:srv2
ok,如上,服务器端就设置好了
这里没有重启,只是运行了targetcli saveconfig 实测,真的不需要重启target,systemctl restart target
客户端安装
安装iscsi客户端
yum install iscsi-initiator-utils -y
修改initiatorname.iscsi,也就是自己的iqn号
vi /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2020-07.com.ddky:harbor-18-31-28
修改iscsid.conf
vi /etc/iscsi/iscsid.conf,增加3行
node.session.auth.authmethod = CHAP
node.session.auth.username = admin
node.session.auth.password = xxxxxxxx
重启服务:
systemctl restart iscsid
发现一下对端:
# iscsiadm -m discovery -t sendtargets -p 172.18.30.18:3260
172.18.30.18:3260,1 iqn.2020-07.com.ddky:renhe-18-30-18
登录ISCSI:
# iscsiadm -m node -T iqn.2020-07.com.ddky:renhe-18-30-18 -p 172.18.30.18:3260 --login
Logging in to [iface: default, target: iqn.2020-07.com.ddky:renhe-18-30-18, portal: 172.18.30.18,3260] (multiple)
Login to [iface: default, target: iqn.2020-07.com.ddky:renhe-18-30-18, portal: 172.18.30.18,3260] successful.
查看session:
iscsiadm -m session -P3 | less
系统中会多出一块盘,/dev/sda
直接格式化,不要分区,mkfs.xfs /dev/sda
查出uuid
blkid /dev/sda
/dev/sda: UUID="58024012-aa03-4091-a11a-0bb74beeed5a" TYPE="xfs"
编辑/etc/fstab
vi /etc/fstab
UUID=58024012-aa03-4091-a11a-0bb74beeed5a /mnt xfs _netdev 0 0
Ok, 搞定。
增加给vis-18-31-48增加pxe的sanboot启动硬盘的方法:
#划个lvc,用的是vg-targetd的20T中的80G
lvcreate -L 80G -n pvc-vis-18-31-48 vg-targetd
#建立block块设备
targetcli /backstores/block create vg-targetd:pvc-vis-18-31-48 /dev/vg-targetd/pvc-vis-18-31-48
#建立30.18上的iscsi服务端,似乎用renhe-18-30-18比较好,但是不好区分多个卷
targetcli /iscsi create iqn.2020-10.com.ddky:vis-18-31-48
#建立luns,会自动建立portal
targetcli /iscsi/iqn.2020-10.com.ddky:vis-18-31-48/tpg1/luns create /backstores/block/vg-targetd:pvc-vis-18-31-48
#建立客户端的iscsi,不加认证
targetcli /iscsi/iqn.2020-10.com.ddky:vis-18-31-48/tpg1/acls create iqn.2020-10.com.ddky:vis-18-31-48
这样客户端用 iqn.2020-10.com.ddky:vis-13-31-48 就可以mount出来