客户让帮忙挂载个ISCSI存储,大概结构如下图所示:
ISCSI存储为一台安装了truenas的X86服务器,提供存储服务的IP地址为10.16.0.1
服务器的ETH1网卡配置与10.16.0.1同段网络。
为了给客户做个简单培训,整理了一下操作步骤。下面是配置示例:
1、清空ISCSI存储连接
为防止有其它配置影响,先断开所有登录会话
[root@localhost ~]# iscsiadm -m node -U all
Logging out of session [sid: 1, target: iqn.2024.12.org.trusnas.ctl:server1, portal: 10.16.0.1,3260]
Logout of [sid: 1, target: iqn.2024.12.org.trusnas.ctl:server1, portal: 10.16.0.1,3260] successful.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 278.5G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 277.5G 0 part ├─centos-root 253:0 0 50G 0 lvm /├─centos-swap 253:1 0 4G 0 lvm [SWAP]└─centos-home 253:2 0 223.5G 0 lvm /home
sr0 11:0 1 1024M 0 rom
2、登录ISCSI存储会话
执行命令登陆ISCSI存储,并配置开机自动启动ISCSI和登陆存储
[root@localhost ~]# iscsiadm -m discovery -t st -p 10.16.0.1
10.16.0.1:3260,1 iqn.2024.12.org.trusnas.ctl:server1
[root@localhost ~]# iscsiadm -m node -p 10.16.0.1 -l
Logging in to [iface: default, target: iqn.2024.12.org.trusnas.ctl:server1, portal: 10.16.0.1,3260] (multiple)
Login to [iface: default, target: iqn.2024.12.org.trusnas.ctl:server1, portal: 10.16.0.1,3260] successful.
[root@localhost ~]# systemctl enable iscsi.service
[root@localhost ~]# iscsiadm -m node -o update -n node.startup -v automatic
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 278.5G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 277.5G 0 part ├─centos-root 253:0 0 50G 0 lvm /├─centos-swap 253:1 0 4G 0 lvm [SWAP]└─centos-home 253:2 0 223.5G 0 lvm /home
sdc 8:32 0 3T 0 disk
└─sdc1 8:33 0 3T 0 part
sr0 11:0 1 1024M 0 rom
登陆成功后,lsblk命令可以查看到发现新磁盘空间sdc
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 278.5G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 277.5G 0 part ├─centos-root 253:0 0 50G 0 lvm /├─centos-swap 253:1 0 4G 0 lvm [SWAP]└─centos-home 253:2 0 223.5G 0 lvm /home
sdc 8:32 0 3T 0 disk
sr0 11:0 1 1024M 0 rom
3、配置格式化磁盘
不确定磁盘是否用过的话,为了清空数据,可以dd接磁盘头
[root@localhost ~]# dd if=/dev/zero of=/dev/sdc bs=1024k count=100
记录了100+0 的读入
记录了100+0 的写出
这里我们不适用LVM,直接用parted分区,可以参照如下公式对齐分区 (默认创建可以会报警The resulting partition is not properly aligned for best performance)
计算公式如下:
parted分区起点=(optimal_io_size + alignment_offset) / physical_block_size = (8388608 + 0) / 16384 = 512
[root@localhost ~]# cat /sys/block/sdc/queue/optimal_io_size
8388608
[root@localhost ~]# cat /sys/block/sdc/queue/minimum_io_size
16384
[root@localhost ~]# cat /sys/block/sdc/alignment_offset
0
[root@localhost ~]# cat /sys/block/sdc/queue/physical_block_size
16384
[root@localhost ~]# parted /dev/sdc
GNU Parted 3.1
使用 /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) mkpart primary 512 100%
(parted) print
Model: TrueNAS iSCSI Disk (scsi)
Disk /dev/sdc: 3299GB
Sector size (logical/physical): 512B/16384B
Partition Table: gpt
Disk Flags: Number Start End Size File system Name 标志1 512MB 3299GB 3298GB primary
(parted) quit
信息: You may need to update /etc/fstab.
格式化文件系统
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 278.5G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 277.5G 0 part ├─centos-root 253:0 0 50G 0 lvm /├─centos-swap 253:1 0 4G 0 lvm [SWAP]└─centos-home 253:2 0 223.5G 0 lvm /home
sdc 8:32 0 3T 0 disk
└─sdc1 8:33 0 3T 0 part
sr0 11:0 1 1024M 0 rom
[root@localhost ~]# mkfs.xfs /dev/sdc1
specified blocksize 4096 is less than device physical sector size 16384
switching to logical sector size 512
meta-data=/dev/sdc1 isize=512 agcount=4, agsize=201294848 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=805179392, imaxpct=5= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=393154, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0[root@localhost ~]# blkid |grep sdc1
/dev/sdc1: UUID="40668fd3-ce0a-4f84-9619-084190ff23ca" TYPE="xfs" PARTLABEL="primary" PARTUUID="9be008d4-9e4a-4569-9bec-33e17a9432d9"
创建挂载点并挂载文件系统
[root@localhost ~]# mkdir /data
[root@localhost ~]# vi /etc/fstab
[root@localhost ~]# cat /etc/fstab
# /etc/fstab
# Created by anaconda on Wed Mar 19 13:54:48 2025
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=3b897744-11d6-4253-870c-03e1819b09f6 /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
UUID="40668fd3-ce0a-4f84-9619-084190ff23ca" /data xfs defaults,_netdev 0 0[root@localhost ~]# mount -a
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 50G 4.3G 46G 9% /
devtmpfs 63G 0 63G 0% /dev
tmpfs 63G 0 63G 0% /dev/shm
tmpfs 63G 11M 63G 1% /run
tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
/dev/mapper/centos-home 224G 39M 224G 1% /home
tmpfs 13G 12K 13G 1% /run/user/42
tmpfs 13G 0 13G 0% /run/user/0
/dev/sdc1 3.0T 33M 3.0T 1% /data