个人用云计算学习笔记 --18(NFS 服务器、iSCSI 服务器)

文章目录

  • [NFS 服务器](#NFS 服务器)
    • [一、NFS 服务基础概念](#一、NFS 服务基础概念)
    • [二、NFS 与 RPC 的关联](#二、NFS 与 RPC 的关联)
      • [1. NFS 的端口特性](#1. NFS 的端口特性)
      • [2. RPC 的作用](#2. RPC 的作用)
    • [三、NFS 服务部署(基于 RHEL8)](#三、NFS 服务部署(基于 RHEL8))
      • [1. 软件包基础](#1. 软件包基础)
      • [2. 部署步骤(命令行)](#2. 部署步骤(命令行))
    • [四、NFS 导出配置(服务端共享规则)](#四、NFS 导出配置(服务端共享规则))
      • [1. 配置文件说明](#1. 配置文件说明)
      • [2. 客户端指定方式(常用)](#2. 客户端指定方式(常用))
      • [3. 核心导出选项](#3. 核心导出选项)
      • [4. 配置生效命令](#4. 配置生效命令)
    • [五、NFS 导出监视(服务端)](#五、NFS 导出监视(服务端))
    • [六、NFS 客户端配置](#六、NFS 客户端配置)
      • [1. 客户端操作步骤(命令行)](#1. 客户端操作步骤(命令行))
      • [2. 持久化挂载(重启后仍生效)](#2. 持久化挂载(重启后仍生效))
  • [iSCSI 服务器](#iSCSI 服务器)
    • [一、iSCSI 服务基础](#一、iSCSI 服务基础)
      • [1. 概念定义](#1. 概念定义)
      • [2. 关键特性](#2. 关键特性)
    • [二、iSCSI 核心组件](#二、iSCSI 核心组件)
    • [三、iSCSI Target 配置(服务端)](#三、iSCSI Target 配置(服务端))
      • [1. 前期准备:部署软件与基础配置](#1. 前期准备:部署软件与基础配置)
      • [2. targetcli 工具特性](#2. targetcli 工具特性)
      • [3. 核心配置步骤(交互式示例)](#3. 核心配置步骤(交互式示例))
        • [(1)配置 backstore 对象](#(1)配置 backstore 对象)
        • [(2)配置 Target IQN](#(2)配置 Target IQN)
        • [(3)配置 LUN](#(3)配置 LUN)
        • [(4)配置 ACL(允许客户端访问)](#(4)配置 ACL(允许客户端访问))
        • [(5)配置 Portal(指定监听 IP)](#(5)配置 Portal(指定监听 IP))
      • [4. 非交互式配置(命令行模式)](#4. 非交互式配置(命令行模式))
    • [四、iSCSI 客户端配置(访问存储)](#四、iSCSI 客户端配置(访问存储))
    • 五、故障处理
      • [1. 登录失败(发现成功但登录失败)](#1. 登录失败(发现成功但登录失败))
    • 六、多路径访问(提升可用性与性能)

NFS 服务器

一、NFS 服务基础概念

工作逻辑

  • 客户端视角:NFS 客户端(多为应用服务器,如 web 服务器)通过 "挂载(mount)" 操作,将 NFS 服务端的共享目录挂载到本地挂载点,从本地看,该共享目录如同自身磁盘分区 / 目录,实际存储在远端服务端。
  • 企业应用场景 :在企业集群架构中,主要用于存储视频、图片、附件等静态资源,例如中小网站的 BBS 图片、用户头像、上传附件等,统一存放在 NFS 共享目录中。

二、NFS 与 RPC 的关联

1. NFS 的端口特性

NFS 支持功能多,每个功能需启动对应程序并占用端口,但端口不固定,随机使用未被占用的小于 1024 的端口,导致客户端无法直接获取服务端端口。

2. RPC 的作用

  • 全称:远程过程调用(Remote Procedure Call)。
  • 核心功能:注册 NFS 各功能对应的端口,并向客户端汇报,使客户端能连接到正确端口;同时定义进程间网络交互通信机制,让客户端无需了解服务器底层通信协议即可请求服务。
  • 关键组件 :依赖portmap服务实现端口注册与映射。

三、NFS 服务部署(基于 RHEL8)

1. 软件包基础

NFS 服务由nfs-utils软件包提供,RHEL8 默认已安装,若需手动安装可执行对应命令。

2. 部署步骤(命令行)

步骤 操作目的 执行命令
1 安装nfs-utils软件包 [root@server~]# dnf install -y nfs-utils
2 准备共享目录所属用户(指定 UID=1000,避免权限问题) 1. 创建用户:[root@server~]# useradd -u 1000 laoma2. 设置密码:`[root@server~]# echo redhat passwd --stdin laoma`
3 创建共享目录并设置权限 1. 创建目录:[root@server~]# mkdir /shares/nfs2. 更改所有者:[root@server~]# chown laoma /shares/nfs
4 启用并启动 NFS 服务 [root@server~]# systemctl enable nfs-server --now
5 配置防火墙(开放 NFS 相关服务端口) 1. 永久开放服务:[root@server~]# firewall-cmd --permanent --add-service=nfs --add-service=rpc-bind --add-service=mountd2. 重载防火墙:[root@server~]# firewall-cmd --reload

四、NFS 导出配置(服务端共享规则)

1. 配置文件说明

  • 主配置文件/etc/exports
  • 辅助配置目录/etc/exports.d/,该目录下以.exports结尾的文件均生效,相比直接编辑主文件,更易管理且能降低配置破坏风险。
  • 语法规则 :每一行对应一个 "导出点",格式为[共享目录路径] [客户端1] [选项1] [客户端2] [选项2]...,且禁止将 SMB 共享目录作为 NFS 共享目录,否则可能导致文件损坏或一致性问题。

2. 客户端指定方式(常用)

客户端类型 示例 说明
可解析 DNS 主机名 /shares/nfs client.redhat.fun client.redhat.fun主机可挂载该目录
DNS 通配符 /shares/nfs *.redhat.fun redhat.fun域下所有主机可访问
IPv4 地址 /shares/nfs 10.1.8.11 10.1.8.11这一 IP 可访问
IPv4 网络 /shares/nfs 10.1.8.0/24/shares/nfs 10.1.8.0/255.255.255.0 10.1.8.0/24网段所有主机可访问
IPv6 地址 /shares/nfs fde2:6494:1e09:2::20 仅该 IPv6 地址主机可访问
IPv6 网络 /shares/nfs fde2:6494:1e09:2::/64 该 IPv6 网段所有主机可访问
多客户端 /shares/nfs 10.1.8.0/24 client.redhat.fun *.example.net 多个客户端用空格分隔,均能访问

3. 核心导出选项

选项 功能说明 示例
rw 允许客户端读 / 写访问(默认是ro只读) /shares/nfs client.redhat.fun(rw)(该主机有读写权限)
no_root_squash 禁用 "root 用户映射":默认客户端 root 用户访问时,服务端将其视为nobody用户;启用此选项后,客户端 root 可拥有服务端实际 root 权限(RHEL7 映射nfsnobody,RHEL8 映射nobody /shares/nfs client.redhat.fun(rw,no_root_squash)

4. 配置生效命令

修改导出配置后,需执行以下命令使更改生效:

  • 方式 1:[root@server~]# exportfs -r(重新读取配置)
  • 方式 2:[root@server~]# systemctl reload nfs-server(重载 NFS 服务)
  • 方式 3:[root@server~]# exportfs -av(显示详细信息并生效)

五、NFS 导出监视(服务端)

通过exportfs命令查看当前导出状态:

  • 查看导出的目录与客户端:[root@server~]# exportfs,示例输出:/shares/nfs 10.1.8.0/24
  • 查看导出目录及选项(含默认选项):[root@server~]# exportfs -v,示例输出:/shares/nfs 10.1.8.0/24(sync,rw,secure,no_root_squash,...)

六、NFS 客户端配置

1. 客户端操作步骤(命令行)

步骤 操作目的 执行命令
1 安装nfs-utils软件包 [root@client~]# dnf install -y nfs-utils
2 创建与服务端一致 UID 的用户(避免权限问题) [root@client~]# useradd -u 1000 laoma
3 查看服务端提供的共享目录 [laoma@client~]$ showmount -e serverserver为服务端主机名 / IP),示例输出:Export list for server: /shares/nfs 10.1.8.0/24
4 创建本地挂载点并挂载 1. 创建挂载点:[root@client~]# mkdir /mnt/nfs2. 挂载 NFS 共享:[root@client~]# mount -t nfs server:/shares/nfs /mnt/nfs
5 权限验证 1. root 用户无权限创建文件:[root@client~]# touch /mnt/nfs/root-f1(提示Permission denied)2. laoma 用户有权创建文件:[laoma@client~]$ touch /mnt/nfs/laoma-f1

2. 持久化挂载(重启后仍生效)

编辑/etc/fstab文件,添加以下内容:

复制代码
server:/shares/nfs /mnt/nfs nfs defaults 0 0
  • 格式说明:[服务端共享路径] [本地挂载点] [文件系统类型] [挂载选项] [dump备份标记] [fsck检查顺序]

iSCSI 服务器

一、iSCSI 服务基础

1. 概念定义

  • SCSI:小型计算机系统接口,是计算机与硬盘、光驱、打印机等智能设备的连接标准。
  • iSCSI(Internet Small Computer System Interface):又称 IPSAN,由 IBM 研发,将 SCSI 接口与以太网技术结合,基于 TCP/IP 协议连接服务端(Target)和客户端(Initiator),实现 SCSI 数据包在互联网传输,最终让服务端为客户端提供存储服务。

2. 关键特性

  • 网络要求:通常使用专用 10Gb 以太网或更高速网络,以最大化性能。
  • 流量安全:数据中心内 SAN 流量一般不加密(提升性能),若需 WAN 安全,管理员可通过 IPsec 加密流量。
  • 架构模式:采用 C/S 架构,客户端的 iSCSI 目标显示为本地未格式化 SCSI 块设备,与 SCSI 布线、FC 直连等方式连接的设备功能等同。

二、iSCSI 核心组件

组件名称 英文全称 功能说明 关键要求 / 格式
发起者 Initiator iSCSI 客户端,可软件部署或使用 iSCSI HBA 硬件,需唯一标识 必须有唯一 IQN
目标 Target iSCSI 服务器上的存储资源,提供块设备或逻辑单元(LUN) 需唯一 IQN,一台服务器可提供多个目标,多数目标仅提供一个设备
全球唯一名称 IQN(iSCSI Qualified Name) 标识 Initiator 和 Target 的全球唯一名称 格式:iqn.YYYY-MM.com.reversed.domain:name_string例:iqn.2024-12.cloud.qy:disk1,YYYY-MM 为创建年月,确保唯一性
门户 Portal 指定服务器监听的地址和端口 例:172.25.250.50:3260
逻辑单元号 LUN(Logical Unit Number) 代表 Target 提供的块设备 每个 Target 可提供一个或多个 LUN
访问控制列表 ACL(Access Control List) 限制客户端访问 Target 的权限 通过 Initiator 的 IQN 实现访问控制
目标门户组 TPG(Target Portal Group) Target 的完整配置集合 包含 Portal、LUN 和 ACL,多数 Target 用一个 TPG,高级配置可多个
发现 Discovery 查询服务器上的 Target 列表 客户端获取可连接 Target 的必要步骤
登录 Login 客户端向 Target 验证身份 验证通过后可使用 Target 提供的块设备

三、iSCSI Target 配置(服务端)

1. 前期准备:部署软件与基础配置

  1. 安装软件 :使用dnf install -y targetcli安装 targetcli 工具(提供 targetcli 命令)。

  2. 启用服务 :通过systemctl enable --now target启用并启动 target 服务。

  3. 配置防火墙

    :开放 iSCSI 目标服务端口,命令如下:

    bash 复制代码
    firewall-cmd --permanent --add-service=iscsi-target
    firewall-cmd --reload

2. targetcli 工具特性

  • 支持交互式非交互式执行。
  • 采用分层树组织目标对象,支持 Linux 常用导航命令(cd、ls、pwd)。
  • 支持 Tab 键补全,配置保存在/etc/target/saveconfig.json(退出交互式模式自动保存,非交互式需显式执行targetcli saveconfig)。

3. 核心配置步骤(交互式示例)

(1)配置 backstore 对象

backstore 是 Target 的存储来源,有 4 种类型:

类型 说明 示例命令
block 服务器中的块设备(磁盘、分区、逻辑卷) cd /backstores/block``create myblock1 /dev/vdb(创建名为 myblock1,关联 /dev/vdb 的 block 对象)
fileio 本地文件系统中的常规文件(作为磁盘映像) cd /backstores/fileio``create myfile1 /data/disk.img 10G(创建 10G 大小的文件映像)
pscsi 物理 SCSI 设备,允许客户端访问服务器物理 SCSI 设备 cd /backstores/pscsi``create mypscsi1 /dev/sdc
ramdisk 内存中的磁盘设备,数据不持久(重启丢失) cd /backstores/ramdisk``create myram1 5G(创建 5G 内存磁盘)
(2)配置 Target IQN

进入 iscsi 目录创建 IQN:

bash 复制代码
cd /iscsi
create iqn.2024-12.cloud.qy:disk1  # 创建IQN为iqn.2024-12.cloud.qy:disk1的Target

创建后自动生成默认 TPG(含监听所有 IP 的 Portal:0.0.0.0:3260)。

(3)配置 LUN

将 backstore 对象映射为 LUN,供客户端访问:

bash 复制代码
cd /iscsi/iqn.2024-12.cloud.qy:disk1/tpg1/luns
create /backstores/block/myblock1  # 将myblock1映射为LUN 0
(4)配置 ACL(允许客户端访问)

通过客户端 IQN 授权访问,客户端 IQN 存储在/etc/iscsi/initiatorname.iscsi

bash 复制代码
cd /iscsi/iqn.2024-12.cloud.qy:disk1/tpg1/acls
create iqn.2021-05.fun.redhat.server:client  # 允许该IQN的客户端访问
(5)配置 Portal(指定监听 IP)

删除默认全 IP 监听,配置指定 IP:

bash 复制代码
cd /iscsi/iqn.2024-12.cloud.qy:disk1/tpg1/portals
delete 0.0.0.0 3260  # 删除默认Portal
create 10.1.8.10 3260  # 配置监听10.1.8.10:3260

4. 非交互式配置(命令行模式)

直接通过一条命令完成配置,示例:

bash 复制代码
# 创建backstore
targetcli /backstores/block create myblock1 /dev/vdb
# 创建Target IQN
targetcli /iscsi create iqn.2024-12.cloud.qy:disk1
# 配置LUN
targetcli /iscsi/iqn.2024-12.cloud.qy:disk1/tpg1/luns create /backstores/block/myblock1
# 配置ACL
targetcli /iscsi/iqn.2024-12.cloud.qy:disk1/tpg1/acls create iqn.2021-05.fun.redhat.server:client
# 配置Portal
targetcli /iscsi/iqn.2024-12.cloud.qy:disk1/tpg1/portals delete 0.0.0.0 3260
targetcli /iscsi/iqn.2024-12.cloud.qy:disk1/tpg1/portals create 10.1.8.10 3260
# 保存配置
targetcli saveconfig

四、iSCSI 客户端配置(访问存储)

1. 前期准备:安装与配置启动器

  1. 安装软件:

    安装 iscsi-initiator-utils 包,包含 iscsi、iscsid 服务及配置文件:

    bash 复制代码
    dnf install -y iscsi-initiator-utils
  2. 配置客户端 IQN:

    客户端 IQN 默认生成在

    复制代码
    /etc/iscsi/initiatorname.iscsi

    可修改:

    bash 复制代码
    vim /etc/iscsi/initiatorname.iscsi
    # 修改为:InitiatorName=iqn.2021-05.fun.redhat.server:client(需与服务端ACL授权的IQN一致)
  3. 配置 iscsid.conf:

    复制代码
    /etc/iscsi/iscsid.conf

    存储目标连接默认设置(超时、重试、认证信息等),修改后需重启 iscsid 服务:

    bash 复制代码
    systemctl restart iscsid

2. 连接 iSCSI 目标

(1)发现目标

获取服务器上的 Target 列表,portal_ip为服务端 Portal IP:

bash 复制代码
iscsiadm -m discovery -t st -p portal_ip[:port]  # 未指定port默认3260
# 示例:iscsiadm -m discovery -t st -p 10.1.8.10
# 输出:10.1.8.10:3260,1 iqn.2024-12.cloud.qy:disk1
(2)登录目标

登录发现的 Target,成功后目标设备显示为本地块设备:

bash 复制代码
iscsiadm -m node -T Target_IQN -p portal_ip[:port] -l
# 示例:iscsiadm -m node -T iqn.2024-12.cloud.qy:disk1 -p 10.1.8.10:3260 -l
(3)验证设备

查看已连接的 iSCSI 设备:

bash 复制代码
# 方式1:查看iSCSI会话信息
iscsiadm -m session -P 3
# 方式2:查看磁盘设备
ls -l /dev/disk/by-path/*iscsi*
# 方式3:查看系统日志
dmesg | grep iscsi
tail /var/log/messages | grep iscsi

3. 格式化与持久化挂载

(1)格式化设备

若设备为空,可格式化(如 XFS 格式):

bash 复制代码
mkfs.xfs /dev/sdc  # /dev/sdc为iSCSI设备(需根据实际情况替换)
(2)持久化挂载
  • 核心原则 :不使用设备名(/dev/sd*,可能因启动顺序变化),改用 UUID;添加_netdev选项(确保网络就绪后挂载)。

  • 步骤:

    1. 获取设备 UUID:lsblk --fs(查看设备对应的 UUID)。

    2. 编辑

      复制代码
      /etc/fstab
      bash 复制代码
      vim /etc/fstab
      # 添加:UUID="3d49d1dd-8209-43a1-a106-4de328762e00" /data xfs defaults,_netdev 0 0
    3. 验证挂载:mount -a(无报错则成功,重启后自动挂载)。

    4. 确保 iscsi 服务开机启动:systemctl enable iscsi(默认已启用)。

4. 断开目标连接

  1. 卸载挂载点:umount /data(/data 为挂载点)。

  2. /etc/fstab删除对应行。

  3. 注销目标:

    bash 复制代码
    iscsiadm -m node -T iqn.2024-12.cloud.qy:disk1 -p 10.1.8.10:3260 -u
  4. 删除本地记录(避免开机自动登录):

    bash 复制代码
    iscsiadm -m node -T iqn.2024-12.cloud.qy:disk1 -p 10.1.8.10:3260 -o delete

五、故障处理

1. 登录失败(发现成功但登录失败)

  • 常见原因:客户端 IQN 与服务端 ACL 授权的 IQN 不匹配;iscsid 服务缓存旧 IQN。

  • 解决步骤:

    1. 验证客户端 IQN:cat /etc/iscsi/initiatorname.iscsi,确保与服务端 ACL 的 IQN 一致。

    2. 重启 iscsid 服务(清除缓存):

      bash 复制代码
      systemctl stop iscsid
      # 重新发现目标
      iscsiadm -m discovery -t st -p 10.1.8.10
      # 重新登录
      iscsiadm -m node -T iqn.2024-12.cloud.qy:disk1 -l

六、多路径访问(提升可用性与性能)

1. 概念与作用

  • 多路径 :服务器与存储阵列通过多个物理连接(如双网卡、双 Portal)使用虚拟设备,实现路径冗余 (单路径故障不影响连接)和带宽聚合(提升性能)。
  • 核心组件 :由 dm-multipath 子系统提供,包含 multipathd 进程(管理多路径)和 multipath 命令行工具,软件包为device-mapper-multipath

2. 服务端准备(配置双 Portal)

  1. 配置双网络(如 10.1.8.10 和 10.1.1.10)。

  2. 为 Target 配置双 Portal:

    bash 复制代码
    # 进入Target的Portal目录
    targetcli /iscsi/iqn.2024-08.fun.linux.server:webapp/tpg1/portals
    # 创建第二个Portal
    create 10.1.1.10 3260
    # 验证:ls (显示两个Portal:10.1.8.10:3260和10.1.1.10:3260)

3. 客户端配置多路径

(1)安装与启用
  1. 安装软件包:dnf install -y device-mapper-multipath

  2. 生成配置文件:

    • 新环境(无配置文件):mpathconf --enable(生成/etc/multipath.conf)。
    • 已有配置文件:mpathconf --enable --with_multipathd y --with_chkconfig y(修改配置)。
  3. 启动服务:

    bash 复制代码
    systemctl start multipathd
    systemctl enable multipathd
(2)多路径设备位置
  • 管理用/dev/mapper/,支持自定义别名(通过multipath.confalias选项),或默认命名为mpathN(N 为数字)。
  • 系统内部用/dev/dm-N(禁止直接管理使用)。

4. 多路径监控与策略

(1)监控命令
  • multipath -ll:显示详细多路径拓扑,包含设备信息、路径组(path group)、路径状态(active/ready/failed 等)。

  • 示例输出解析:

    plaintext 复制代码
    Clusterstorage (3600140559c2883e039048cbbce4320b4) dm-0 LIO-ORG,myblock1
    size=4.0G features='0' hwhandler='0' wp=rw
    |-+- policy='service-time 0' prio=1 status=active  # 活跃路径组
    | `- 2:0:0:0 sdb 8:16 active ready running        # 活跃路径
    `-+- policy='service-time 0' prio=1 status=enabled # 备用路径组
      `- 3:0:0:0 sda 8:0 active ready running         # 备用路径
(2)路径组策略
策略名称 说明 配置示例(multipath.conf)
failover(故障转移) 每个路径组 1 个路径,同一时刻仅 1 个路径活跃,故障时切换到备用路径 multipaths { multipath { wwid 3600140559c2883e039048cbbce4320b4 alias Clusterstorage path_grouping_policy failover } }
multibus(多总线) 所有路径聚合到 1 个路径组,负载均衡(需存储控制器支持 active-active) multipaths { multipath { wwid 3600140559c2883e039048cbbce4320b4 alias Clusterstorage path_grouping_policy multibus } }
(3)故障切换逻辑
  • 备用路径故障 :活跃路径组不变,备用路径状态变为failed faulty offline
  • 活跃路径故障 :活跃路径组变为备用(状态enabled),备用路径组变为活跃(状态active)。
  • 故障恢复:恢复的路径仍为备用,需手动切换回活跃路径。

5. 多路径配置文件(/etc/multipath.conf)

(1)配置结构与优先级
  • 结构 :包含 5 个核心部分,优先级从高到低为:multipaths > devices > defaults

  • 各部分作用:

    部分 作用 示例
    blacklist 定义不允许使用的多路径设备 blacklist { devnode "^sd[a-z]" # 排除所有sd开头设备 wwid 1234567890abcde # 排除指定WWID设备 }
    blacklist_exceptions 定义需包含的设备(即使在 blacklist 中) blacklist_exceptions { device { vendor "IBM" product "s/390.*" } }
    defaults 所有多路径的默认配置 defaults { path_selector "service-time 0" # 路径选择算法:服务时间最短 path_grouping_policy failover # 默认故障转移策略 user_friendly_names yes # 启用友好名称 }
    devices 指定特定设备类型的配置(覆盖 defaults) devices { device { vendor "COMPAQ" product "S110 (C) COMPAQ" path_grouping_policy multibus path_checker readsector0 } }
    multipaths 指定单个多路径的配置(覆盖 devices 和 defaults) multipaths { multipath { wwid 3600140559c2883e039048cbbce4320b4 alias Clusterstorage path_grouping_policy failover } }
(2)关键配置项
  • path_selector :路径选择算法,如service-time 0(服务时间最短)、round-robin 0(轮询)、queue-length 0(队列长度最短)。
  • path_checker :路径健康检查方式,如directio(默认)、readsector0(读取扇区 0)。
  • user_friendly_names :是否启用友好名称(yes/no),yes时设备名为mpathNno时为 WWID。
  • queue_if_no_path :路径全故障时是否阻塞 IO(yes/no),集群环境建议no,避免 IO 挂起影响其他节点。

6. 多路径设备管理

(1)增加分区
  1. 对多路径设备(如/dev/mapper/Clusterstorage)创建分区:fdisk /dev/mapper/Clusterstorage
  2. 所有节点执行partprobe(刷新分区信息)。
  3. 若未生成分区设备,执行kpartx -a /dev/mapper/Clusterstorage(创建 dm 设备)。
(2)删除多路径
  1. 删除所有路径(断开 iSCSI 连接)。
  2. 执行multipath -F(清空所有多路径设备,适用于测试或清理旧配置)。
  3. 若需删除单个设备:multipath -f 设备名(如multipath -f Clusterstorage)。
相关推荐
kitsch0x97几秒前
论文学习_Binary-level Directed Fuzzing for Use-After-Free Vulnerabilities
学习
石头5301 分钟前
Service 详解
linux
小鸡脚来咯1 分钟前
Linux 服务器问题排查指南(面试标准回答)
linux·服务器·面试
丝斯20113 分钟前
AI学习笔记整理(43)——NLP之大规模预训练模型BERT
人工智能·学习·自然语言处理
末日汐5 分钟前
磁盘与文件系统
linux·运维·数据库
夏沫mds11 分钟前
基于hyperledger fabric的葡萄酒溯源系统
运维·fabric
水天需01012 分钟前
Linux PS4 环境变量详解
linux
中屹指纹浏览器16 分钟前
中屹指纹浏览器的IP-指纹协同适配技术架构与实现原理
经验分享·笔记
小新ya22 分钟前
vscode增删改查文件,一直等待中...
linux·vscode
小李独爱秋23 分钟前
计算机网络经典问题透视:电子邮件的安全协议PGP主要都包含哪些措施?
运维·服务器·网络·网络协议·计算机网络·安全