Oracle Cloud 的 Linux 服务器挂载附加的块存储卷 —— iSCSI 存储卷

时间:    分类: Linux,运维   标签: iSCSI

iSCSI是一种基于IP的存储网络协议,允许服务器通过网络连接到存储设备,就像本地磁盘一样使用。

一、准备工作

1. 网络与权限配置

  • 确保服务器与iSCSI存储设备网络互通,建议使用专用存储网络(如VLAN隔离)。
  • 获取iSCSI目标(Target)的IP地址、端口、目标名称(IQN)及认证信息(如CHAP用户名/密码)。

2. 安装必要工具

  • 安装open-iscsi软件包
    debian系

    apt install open-iscsi

    RHEL系

    dnf install iscsi-initiator-utils

    yum install iscsi-initiator-utils

二、发现与连接iSCSI目标

1. 发现目标

iscsiadm -m discovery -t st -p <存储IP> -P 1

此命令会列出可用的目标名称(IQN)

2. 登录目标

iscsiadm -m node -T <目标IQN> -p <存储IP> -l

使用-l参数建立连接,添加--login可持久化


三、配置持久化与安全

1. 持久化挂载

编辑 /etc/iscsi/iscsid.conf
设置 node.startup = automatic
重启服务 systemctl restart iscsid

2. CHAP认证

  • 在配置文件中添加CHAP用户名和密码(iscsid.conf)

四、挂载与使用存储

1. 识别磁盘

连接成功后,使用 lsblk 查看新增磁盘设备(如/dev/sdb)。

2.分区与格式化

fdisk /dev/sdb  # 创建分区
mkfs.ext4 /dev/sdb1  # 格式化为ext4
mount /dev/sdb1 /mnt/iscsi  # 临时挂载

3. 自动挂载

/etc/fstab 中添加条目:

/dev/sdb1 /mnt/iscsi ext4 _netdev 0 0

使用_netdev参数确保网络就绪后挂载。


五、常见问题排查

  • 连接失败:检查防火墙是否放行iSCSI端口(默认TCP 3260)。
  • 多路径配置:若需冗余,可结合多路径软件(如multipathd)优化I/O路径。
  • 性能优化:调整MTU(建议9000字节)以适配Jumbo Frame,提升网络吞吐。

END

Oracle Cloud

  • 附加存储卷以后,通过实例>存储>···>iSCSI 命令和信息,可以查看连接命令和信息。
  • IP 地址和端口
    xxx.xxx.xxx.xxx:3260
  • 卷 IQN
    iqn.2015-12.com.oracleiaas:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

连接

sudo iscsiadm -m node -o new -T iqn.2015-12.com.oracleiaas:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -p xxx.xxx.xxx.xxx:3260
sudo iscsiadm -m node -o update -T iqn.2015-12.com.oracleiaas:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -n node.startup -v automatic
sudo iscsiadm -m node -T iqn.2015-12.com.oracleiaas:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -p xxx.xxx.xxx.xxx:3260 -l

断开连接

sudo iscsiadm -m node -T iqn.2015-12.com.oracleiaas:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -p xxx.xxx.xxx.xxx:3260 -u
sudo iscsiadm -m node -o delete -T iqn.2015-12.com.oracleiaas:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -p xxx.xxx.xxx.xxx:3260

⚠ 警告

- 在分离之前,您必须卸载驱动器并运行断开连接命令,否则实例重新引导将失败。

- 如果将此卷添加到实例的 etc/fstab 文件以在引导时自动装载,则必须包含 _netdev nofail 选项。


将存储卷添加到实例的 /etc/fstab 文件以实现启动时自动挂载

1. 确定设备标识符

在编辑 fstab 前,需明确存储卷的 唯一标识符。推荐使用 UUID(而非设备路径如 /dev/sdb1),因为设备名称可能因系统启动顺序变化而改变,导致挂载失败。
查看UUID:

blkid /dev/sdb1

输出示例:

/dev/sdb1: UUID="a1b2c3d4-..." TYPE="ext4"
2. 编辑 /etc/fstab 文件

添加挂载条目:

sudo nano /etc/fstab

条目格式:

UUID=<UUID>  <挂载点>  <文件系统类型>  <挂载选项>  <dump标志>  <文件系统检查顺序>

示例:

UUID=a1b2c3d4  /mnt/iscsi  ext4  defaults,_netdev,nofail  0  0

关键参数说明
_netdev :必须添加此选项,表明设备依赖网络就绪后挂载(适用于iSCSI/NFS等网络存储)。
文件系统类型:需与格式化类型一致(如 ext4、xfs)。
挂载选项:
defaults :包含读写权限、执行权限等默认设置。
可选优化参数: noatime (减少写入日志)、 nofail (忽略挂载失败)。





注:本文/图片来源于网络,侵删。
若内容涉及版权问题,请点击 发送邮件 联系删除。

添加新评论