当前位置: 首页 > article >正文

从零到一:实战华为OceanStor SAN存储与Linux服务器的iSCSI对接

1. 环境准备理解iSCSI与SAN存储的“桥梁”作用大家好我是老张一个在运维圈子里摸爬滚打了十多年的老家伙。今天咱们不聊虚的就来手把手干一件在数据中心里特别常见但对新手又有点“发怵”的活儿把一台华为OceanStor SAN存储用iSCSI协议挂载到你的Linux服务器上。你可以把它想象成给你的服务器接上一个超大号、超高速的“外置移动硬盘”只不过这个硬盘是专业的存储设备性能、可靠性都强得多而且是通过网络通常是专用网络连接的。在开始敲命令之前咱们先花几分钟把核心概念捋清楚这能帮你避开后面很多坑。iSCSI说白了就是一种让服务器我们叫它Initiator启动器能通过网络像使用本地硬盘一样去使用远端存储设备我们叫它Target目标器上空间的技术。它把SCSI命令包起来通过IP网络传输所以只要有以太网就能玩转存储成本比传统的FC SAN光纤存储区域网络低不少。而华为OceanStor系列就是扮演“Target”角色的专业选手它把巨大的物理磁盘池划分成一个个逻辑单元也就是LUN通过网络“分配”给服务器使用。那么这次实战的最终目标是什么呢就是让我们的Linux服务器能识别到华为存储上划分出来的那个LUN并把它格式化成Ext4或XFS文件系统挂载到比如/data目录下以后应用程序就能往这个目录里读写数据了而这些数据实际上都安全地存放在后端的专业存储里。听起来是不是挺酷整个过程就像搭积木咱们一步步来。你需要准备两样东西一台已经配置好业务IP的华为OceanStor存储V3/V5/V6系列图形化界面操作大同小异以及一台安装了主流Linux发行版如CentOS 7/8, Rocky Linux, openEuler等的服务器确保它们之间的网络是通的。2. 存储端配置在OceanStor上“划分地盘”好了咱们现在坐到存储管理员的位子上打开浏览器登录华为OceanStor DeviceManager管理界面。这个界面功能强大但别被吓到我们今天只关注几个关键步骤。2.1 创建逻辑端口给存储开个“网络门牌号”存储要和服务器通信首先得有自己的网络地址。在OceanStor里这个地址不是直接绑在物理网口上而是通过“逻辑端口”来承载的。你可以把物理网口想象成一条条高速公路而逻辑端口就是在这条高速公路上设立的、带有特定门牌号IP地址的收费站或服务区。登录后在顶部导航栏找到“服务”依次进入“网络” - “逻辑端口”。这里你会看到已有的端口列表。我们点击“创建”。弹出的窗口里有几项是关键端口类型选择“数据”。这个端口就是专门用来跑业务数据的。绑定端口从下拉列表里选择一个状态正常的物理以太网端口。这个选择有讲究如果你有多个网口做了链路聚合绑定就选那个聚合口如果只是单端口就选对应的那个。我个人的经验是如果条件允许尽量绑定到已经配置了链路聚合的端口上这样带宽和可靠性都有保障。IP地址/子网掩码这就是存储端业务口的IP地址。务必确保它和待会Linux服务器上配置的iSCSI网卡IP在同一个二层网络同一个VLAN/子网内否则互相发现不了。比如你可以设置为192.168.1.100/24。VLAN ID如果你的网络环境划分了VLAN这里就需要填写对应的VLAN ID如果没有就保持默认或填0。填好后提交存储端用于iSCSI通信的“门牌号”就立起来了。你可以多创建几个逻辑端口绑定到不同的物理口上实现多路径访问既能提升带宽也能在某条链路故障时自动切换这个我们后面高级部分会提一下。2.2 创建LUN从资源池里“切出蛋糕”有了通信地址接下来就要准备“货物”了也就是存储空间。在导航栏进入“服务” - “块服务” - LUN。点击创建LUN。这里有几个参数需要你仔细考虑所属存储池选择你预先规划好的存储池。这背后是RAID策略、磁盘类型SSD/SAS/NL-SAS的选择决定了LUN的性能和可靠性根基。对于生产环境我强烈建议使用SSD或SAS盘做RAID 10或RAID 6。容量输入你需要的LUN大小。这里有个小坑需要注意如果你用的是模拟器或者某些特定版本的存储系统可能会有单LUN最大容量限制比如原文提到的5GB但真实设备上这个限制非常大按需分配即可。名称和描述起个有意义的名字比如db_data_lun_01方便日后管理。描述里可以写上用途、所属应用等。点击“确定”一块高速、可靠的“虚拟硬盘”就在存储端创建好了。但它现在还孤零零的没有主人。2.3 创建主机与映射指定“蛋糕”送给谁现在我们要告诉存储“这块LUN是专门给那台Linux服务器用的”。这就需要两个步骤定义主机然后建立映射。首先定义主机。进入“服务” - “块服务” - 主机。点击“创建”。关键点在于“启动器”这个信息。你需要切换到Linux服务器终端运行cat /etc/iscsi/initiatorname.iscsi命令会看到一串类似iqn.1994-05.com.redhat:xxxxx的字符串这就是你这台服务器的全球唯一iSCSI启动器名称。把它复制下来在创建主机时“启动器”类型选择“iSCSI”然后将这串IQN粘贴进去。同时给主机起个名比如Linux_Web_Server。然后建立映射关系。通常OceanStor提供了更直观的“LUN组”和“主机组”映射方式或者直接创建“映射视图”。我习惯用LUN组的方式先创建一个LUN组“服务” - “块服务” - LUN组把刚才创建的LUN加进去再创建一个主机组“服务” - “块服务” - 主机组把刚才定义的主机加进去最后将这两个组进行关联映射。这一步的本质是在存储端建立了一个访问控制规则只有IQN为XXX的主机才有权限访问LUN组里的这些LUN。至此存储端的“馈赠”准备就绪门牌号逻辑端口IP有了礼物LUN备好了还写好了收礼人的地址和名字主机IQN映射。3. Linux客户端配置让服务器“发现并领取”存储现在我们把视角切换到Linux服务器。假设你用的是一台CentOS 8或者openEuler系统用root用户操作。3.1 网络与软件准备铺好通信的“路”首先确保服务器有一块网卡和存储的业务IP刚才设置的192.168.1.100在同一个网段。配置IP地址的方法很多你可以用古老的ifcfg文件也可以用现在更推荐的nmcli。比如你的网卡叫ens192可以这样配置# 使用 nmcli 配置静态IP推荐 nmcli connection modify ens192 ipv4.addresses 192.168.1.10/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 ipv4.method manual nmcli connection up ens192用ip addr show ens192确认IP已经生效并且能ping通存储的业务IP192.168.1.100。这是后续所有步骤的基础一定要先打通。接下来安装iSCSI客户端软件。绝大多数现代Linux发行版都使用open-iscsi这个包。# 检查是否已安装 rpm -qa | grep iscsi # 如果未安装则安装CentOS/RHEL/Rocky yum install -y iscsi-initiator-utils # 或者openEuler dnf install -y iscsi-initiator-utils安装完成后启动服务并设置开机自启systemctl enable --now iscsi systemctl enable --now iscsid这里有两个服务iscsi负责会话管理iscsid是守护进程。都启动起来。3.2 发现与登录目标第一次“握手”现在让我们的服务器Initiator去网络上寻找存储Target。使用iscsiadm这个强大的工具# -m discovery 表示执行发现操作 # -t st 表示使用 sendtargets 发现方式最常用 # -p 后面跟存储业务IP地址 iscsiadm -m discovery -t st -p 192.168.1.100如果一切正常你会看到类似下面的输出192.168.1.100:3260,1 iqn.2006-08.com.huawei:oceanstor:21000022:12345678这表示发现成功它告诉我们在192.168.1.100的3260端口iSCSI默认端口上有一个目标器它的IQN是iqn.2006-08.com.huawei:oceanstor:...。发现之后就可以登录建立连接了# -m node 表示操作节点即发现到的目标 # -p 指定目标地址 # -l 表示登录 iscsiadm -m node -p 192.168.1.100 -l执行成功后通常不会有太多花哨的提示。你可以用iscsiadm -m session -P 3来查看详细的会话信息或者简单地用lsblk命令看看有没有多出新磁盘。但先别急这时候大概率在lsblk里还看不到新磁盘。为什么呢因为我们在存储端做了主机映射但存储端可能还没有“确认”这台主机的身份或者需要手动触发一下扫描。更常见的做法是执行完登录后我们回到存储管理界面去完成最后一步关联。3.3 关键一步在存储界面关联主机切换到存储管理器的浏览器页面进入“服务” - “块服务” - 主机找到你之前创建的那台主机Linux_Web_Server。查看它的详细信息或编辑在“启动器”部分你应该能看到系统已经自动学习到了来自服务器登录请求的IQN。确认无误后保存。或者有些界面在主机组映射完成后会自动完成关联。这个步骤是双向认证的关键。存储说“我知道有块LUN要分给IQN为A的主机”服务器说“我是IQN为A的主机我来拿了”。两边信息对上了存储才会真正把LUN的访问权限开放出来。4. 扫描与使用让新硬盘“现身”并投入使用关联完成后回到Linux服务器终端。我们需要让系统重新扫描SCSI总线以识别出新加入的LUN。# 重新扫描iSCSI会话 iscsiadm -m session --rescan # 或者更直接地强制扫描SCSI主机总线根据你的主机总线号通常是host0或host1 echo - - - /sys/class/scsi_host/host0/scan # 如果不知道主机号可以用 ls /sys/class/scsi_host/ 查看现在再运行lsblk命令你就能欣喜地看到一块新的磁盘设备了比如/dev/sdb或/dev/sdc。NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 49G 0 part / sdb 8:16 0 100G 0 disk -- 看这就是我们从存储上挂载过来的LUN4.1 分区、格式化与挂载看到磁盘后你可以像对待本地硬盘一样操作它。如果容量不大或者你打算整个LUN作为一个文件系统可以直接格式化# 假设新磁盘是 /dev/sdb # 创建文件系统例如 ext4 mkfs.ext4 /dev/sdb # 或者使用 xfs对于大容量或高性能场景我更推荐 mkfs.xfs /dev/sdb如果需要分区可以使用fdisk或parted工具先进行分区再对分区如/dev/sdb1进行格式化。接下来创建一个挂载点并挂载它mkdir /data mount /dev/sdb /data用df -h检查一下/data应该已经成功挂载并且显示了你从存储上分配的大小。4.2 配置自动挂载重启也不怕为了让服务器每次重启后都能自动连接iSCSI目标并挂载这个磁盘我们需要做两件事。第一设置iSCSI节点自动登录。在登录目标后我们已经用-l登录了但还需要设置节点属性iscsiadm -m node -p 192.168.1.100 -o update -n node.startup -v automatic这个命令将目标器的启动行为设置为“自动”这样每次系统启动iscsi服务时都会自动尝试登录。第二将磁盘挂载信息写入/etc/fstab实现自动挂载。但这里有个非常重要的坑你不能直接用/dev/sdb这样的设备名因为设备名可能在每次启动时变化比如你再加了块本地硬盘。正确的做法是使用磁盘的UUID或者iSCSI识别路径。首先获取磁盘的UUIDblkid /dev/sdb输出会包含类似UUIDf5c5c392-1234-5678-90ab-cdef12345678的信息。然后编辑/etc/fstab文件在末尾添加一行UUIDf5c5c392-1234-5678-90ab-cdef12345678 /data ext4 defaults,_netdev 0 0注意那个_netdev挂载选项至关重要它告诉系统这个文件系统位于网络设备上必须在网络就绪之后再进行挂载避免系统启动时因网络未通而挂载失败导致启动卡住。5. 进阶与排坑让连接更可靠、更高效基础配置完成了但如果你想在生产环境用得更踏实下面这些进阶知识和常见坑点可都是我用真金白银的教训换来的。5.1 配置多路径MPIO告别单点故障如果你在存储端创建了多个逻辑端口比如两个绑定到不同的物理网口和交换机并且服务器也有多个网卡连接到这个存储网络那么你就可以配置多路径I/O。它的好处显而易见负载均衡和故障切换。一条链路断了流量自动走另一条业务无感知两条链路都通可以聚合带宽。在RHEL/CentOS/Rocky等系统上通常安装device-mapper-multipath包并启用服务。配置的核心是/etc/multipath.conf文件。对于华为存储通常有内置的别名支持。一个极简的配置可以是# 安装软件 yum install -y device-mapper-multipath # 启用服务 systemctl enable --now multipathd # 生成初始配置文件如果不存在 mpathconf --enable --with_multipathd y # 编辑 /etc/multipath.conf确保包含以下内容或取消注释 defaults { user_friendly_names yes find_multipaths yes } blacklist { } # 华为存储的设备标识通常包含“HUAWEI”或“XSG”具体需要查看scsi_id配置完成后重启multipathd服务然后你会发现/dev/sdb可能变成了/dev/mapper/mpatha这样的设备。以后的操作格式化、挂载、写入fstab都应该针对这个mapper设备进行系统会自动管理背后的多条物理路径。5.2 常见问题排查指南发现Discovery失败网络不通用ping和tcpdump双向检查。确保防火墙存储端和服务器端的iptables/firewalld以及中间的物理交换机放行了3260/tcp端口。IP不在同一子网仔细核对存储逻辑端口IP和服务器iSCSI网卡IP、掩码、网关。存储逻辑端口未激活在存储管理界面确认逻辑端口状态为“正常”。登录Login失败启动器IQN不匹配这是最常见的原因。仔细核对/etc/iscsi/initiatorname.iscsi文件中的IQN和存储端主机配置里添加的IQN是否完全一致包括大小写和标点。我建议直接复制粘贴。未创建映射存储端没有将LUN映射给这个主机。检查LUN组、主机组和映射视图。CHAP认证问题如果存储端配置了CHAP认证一种密码认证你需要在Linux端的/etc/iscsi/iscsid.conf中配置对应的用户名和密码。登录成功但看不到磁盘lsblk无显示未执行扫描执行iscsiadm -m session --rescan或SCSI总线扫描。多路径软件影响如果安装了多路径但未配置好磁盘可能被multipathd接管出现在/dev/mapper/下而不是/dev/sdX。检查multipath -ll。LUN未映射或未关联再次确认存储端映射和主机关联操作已完成并保存。系统重启后挂载失败fstab中没有_netdev选项这是导致启动卡住的元凶务必加上。iSCSI服务启动顺序确保iscsi服务在网络服务之后启动。systemctl enable iscsi通常会处理好依赖关系。多路径服务顺序如果用了多路径multipathd需要在iscsi之后启动。同样systemd通常能管理好。整个流程走下来从存储划空间到服务器挂载使用其实是一条逻辑清晰的链条。最关键的是理解每一环的目的网络连通、身份识别IQN、权限映射LUN to Host。第一次配置可能会觉得步骤繁琐但成功过一次后你就会发现它就像一套固定的“组合拳”。下次再遇到十分钟就能搞定。在实际生产环境中做好规划文档记录好IP、IQN、LUN ID、挂载点这些信息运维起来会轻松很多。如果是在虚拟化环境如VMware vSphere中使用原理类似只是客户端变成了ESXi主机操作界面换成了vSphere Client。好了今天的实战分享就到这儿希望能帮你把这块“硬骨头”啃下来。如果在操作中遇到其他古怪的问题不妨多看看系统日志journalctl -u iscsi或/var/log/messages那里通常藏着答案。

相关文章:

从零到一:实战华为OceanStor SAN存储与Linux服务器的iSCSI对接

1. 环境准备:理解iSCSI与SAN存储的“桥梁”作用 大家好,我是老张,一个在运维圈子里摸爬滚打了十多年的老家伙。今天咱们不聊虚的,就来手把手干一件在数据中心里特别常见,但对新手又有点“发怵”的活儿:把一…...

浪潮服务器NVMe硬盘通过Intel VROC实现高效RAID配置实战指南

1. 为什么你需要关注浪潮服务器上的NVMe RAID? 如果你手头有浪潮的服务器,并且已经或者打算装上几块NVMe固态硬盘,那你可能正面临一个幸福的烦恼:单块NVMe盘速度已经快得飞起,但怎么才能让它们“组团”工作&#xff0c…...

3步解锁加密音频:qmc-decoder开源工具全解析

3步解锁加密音频:qmc-decoder开源工具全解析 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾遇到这样的困扰:下载的QQ音乐文件无法在手机、…...

【Dify多智能体协同工作流配置终极指南】:20年架构师亲授5大避坑要点与3步上线实战法

第一章:Dify Multi-Agent 协同工作流配置全景认知Dify 的 Multi-Agent 协同工作流并非简单串联多个 LLM 节点,而是基于可编排的 Agent 生命周期管理、上下文传递契约与状态路由机制构建的分布式智能体协作范式。其核心配置要素涵盖角色定义、工具绑定、消…...

DoubleQoLMod-zh:工业效率工具的革命与实践

DoubleQoLMod-zh:工业效率工具的革命与实践 【免费下载链接】DoubleQoLMod-zh 项目地址: https://gitcode.com/gh_mirrors/do/DoubleQoLMod-zh 在《Captain of Industry》的工业世界中,每一位玩家都面临着资源调配复杂、生产效率低下、全局视野受…...

WORD自动编号全攻略:从基础到高级定制(图文并茂)

1. 自动编号:不只是“1、2、3”那么简单 很多朋友一听到WORD的“自动编号”,脑子里蹦出来的就是“1、2、3”或者“A、B、C”。我以前也是这么想的,觉得这功能不就是给段落前面加个顺序嘛,能有多复杂?直到有一次&#x…...

C#与.NET Core微服务实战:从架构设计到Docker部署的完整指南

1. 微服务架构设计:从单体到微服务的思维转变 很多刚开始接触微服务的朋友,可能和我当初一样,觉得这玩意儿就是把一个大项目拆成几个小项目,听起来简单,做起来却处处是坑。我最早做的一个电商系统,就是典型…...

【内存溢出】“意志力补丁”为什么总会导致系统崩溃?

【生命OS系统状态提示】当前篇目: 篇2系统状态: 🔧 补丁方案失效分析当前任务: 定位底层根本原因老哥,咱们通过上篇看清了系统报错,很多人下决心戒烟,但都会经历一个挺熟悉的剧情。正如一个哥们…...

VMware与Ubuntu 23高效协作指南:共享剪贴板与文件夹的完整配置流程

1. 为什么需要共享?从“隔阂”到“无缝”的体验跃迁 如果你和我一样,经常在Windows主机上用VMware跑Ubuntu虚拟机做开发或学习,那你一定经历过这种“割裂感”:在主机上复制了一段代码,想粘贴到虚拟机的编辑器里&#x…...

V免签二开实战:从源码到易支付接口的无缝集成指南

1. 为什么你需要V免签二开与易支付集成? 如果你自己折腾过个人网站或者独立开发过一些小工具,肯定遇到过“怎么收钱”这个老大难问题。想接个微信支付、支付宝官方接口?门槛高得吓人,动不动就要营业执照、对公账户,个人…...

突破音频加密枷锁:qmc-decoder解放你的音乐收藏

突破音频加密枷锁:qmc-decoder解放你的音乐收藏 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾经遇到过这样的困境:花费金钱购买的音乐&am…...

快速部署fft npainting lama:跟着教程,10分钟搭建个人AI图片修复站

快速部署fft npainting lama:跟着教程,10分钟搭建个人AI图片修复站 1. 引言:为什么你需要一个自己的AI图片修复工具? 你有没有遇到过这样的烦恼?一张珍贵的家庭老照片,上面有几道划痕;一张精心…...

开源工具如何解决鸣潮游戏性能问题?提升帧率与优化体验的完整方案

开源工具如何解决鸣潮游戏性能问题?提升帧率与优化体验的完整方案 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 你是否正在寻找一款能够有效解决鸣潮游戏卡顿、帧率不稳定问题的游戏工具&…...

突破网页图片格式壁垒:Save Image as Type让格式转换效率提升80%

突破网页图片格式壁垒:Save Image as Type让格式转换效率提升80% 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址: https://gitcode.com/gh_mirrors…...

Flutter 三方库 dart_arango_min 的鸿蒙化适配指南 - 图数据库的极简契约、在鸿蒙端实现 ArangoDB 高效交互实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net Flutter 三方库 dart_arango_min 的鸿蒙化适配指南 - 图数据库的极简契约、在鸿蒙端实现 ArangoDB 高效交互实战 前言 在进行 Flutter for OpenHarmony 的复杂社交网络分析、推荐系统或者…...

Flutter 三方库 ipsum 的鸿蒙化适配指南 - 让 UI 占位更具灵性、在鸿蒙端实现高效设计打样与排版验证实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net Flutter 三方库 ipsum 的鸿蒙化适配指南 - 让 UI 占位更具灵性、在鸿蒙端实现高效设计打样与排版验证实战 前言 在进行 Flutter for OpenHarmony 的 UI 开发初期,我们经常会遇…...

基于RexUniNLU的Python入门教程智能问答系统

基于RexUniNLU的Python入门教程智能问答系统 你是不是刚开始学Python,经常被一些基础问题卡住?比如“列表和元组到底有什么区别?”、“这个报错是什么意思?”、“这个语法该怎么写?”。网上搜答案吧,要么太…...

AI智能客服意图变更处理实战:从原理到最佳实践

最近在做一个AI智能客服项目,上线后发现一个挺头疼的问题:业务部门隔三差五就推出新活动、新服务,客服机器人经常“听不懂”用户的新问法,识别准确率咔咔往下掉。比如,原来用户问“怎么退票”,现在变成了“…...

通义千问1.5-1.8B-Chat-GPTQ-Int4镜像免配置教程:开箱即用的轻量级聊天模型方案

通义千问1.5-1.8B-Chat-GPTQ-Int4镜像免配置教程:开箱即用的轻量级聊天模型方案 1. 开箱即用的轻量级AI聊天方案 今天给大家介绍一个特别实用的AI聊天模型方案——通义千问1.5-1.8B-Chat-GPTQ-Int4镜像。这个方案最大的特点就是完全免配置,开箱即用&am…...

3个核心价值:地理数据处理零代码工具如何提升空间分析效率

3个核心价值:地理数据处理零代码工具如何提升空间分析效率 【免费下载链接】geojson.io A quick, simple tool for creating, viewing, and sharing spatial data 项目地址: https://gitcode.com/gh_mirrors/ge/geojson.io 在数字化时代,空间数据…...

【MCP客户端状态同步机制面试通关指南】:20年架构师亲授高频考点与避坑清单

第一章:MCP客户端状态同步机制面试通关总览MCP(Managed Client Protocol)客户端状态同步机制是分布式系统中保障多端一致性与实时响应能力的核心设计,常见于云桌面、远程协作平台及边缘终端管理场景。面试官常聚焦于同步时机、冲突…...

AI辅助LaTeX开发:让快马平台的智能模型成为你的排版顾问

作为一名经常需要撰写技术文档和学术论文的开发者,我对LaTeX是又爱又恨。它排版精美、专业,但复杂的语法和层出不穷的宏包常常让我在“调格式”上耗费大量时间,打断内容创作的思路。最近在尝试用AI来辅助这个过程,发现体验提升巨大…...

nlp_structbert_sentence-similarity_chinese-large 跨语言应用探索:中英文混合文本相似度计算

nlp_structbert_sentence-similarity_chinese-large 跨语言应用探索:中英文混合文本相似度计算 最近在做一个多语言内容管理的项目,遇到了一个挺有意思的挑战:系统里既有纯中文的技术文档,也有大量中英文混杂的代码注释&#xff…...

4大核心优势重构学术写作:WPS-Zotero插件全攻略

4大核心优势重构学术写作:WPS-Zotero插件全攻略 【免费下载链接】WPS-Zotero An add-on for WPS Writer to integrate with Zotero. 项目地址: https://gitcode.com/gh_mirrors/wp/WPS-Zotero 一、价值定位:重新定义文献管理效率 打破学术写作的…...

Python基于flask-django大学生在线租房平台

目录需求分析技术选型数据库设计核心功能实现支付与合同安全措施测试部署项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作需求分析 明确平台核心功能模块:用户注册登录、房源发布浏览、在线…...

卡证检测矫正模型实战教程:用curl上传base64图片并接收JSON+矫正图

卡证检测矫正模型实战教程:用curl上传base64图片并接收JSON矫正图 你是不是也遇到过这样的烦恼?拍了一张身份证照片,结果因为角度问题,照片歪歪扭扭,OCR识别软件根本读不出来。或者,在开发一个需要自动处理…...

CLIP-GmP-ViT-L-14环境部署:Ubuntu22.04+Python3.10+Gradio7860端口配置

CLIP-GmP-ViT-L-14环境部署:Ubuntu22.04Python3.10Gradio7860端口配置 如果你正在寻找一个能精准理解图片和文字关系的AI模型,那么CLIP-GmP-ViT-L-14绝对值得你花时间部署。这个模型在理解图像内容方面表现出色,准确率能达到90%左右&#xf…...

STC8HK64U国产8051功能板:双CAN+可调电源+闭环电机控制实训平台

1. 项目概述STC8HK64U功能板是一款面向嵌入式学习与工程验证的国产单片机开发平台,以宏晶科技STC8HK64U为核心控制器。该芯片属于STC8H系列高可靠性增强型8051内核MCU,集成64KB Flash、4KB SRAM、硬件AES加密模块、多路高级PWM、独立看门狗及丰富外设资源…...

FLUX.小红书极致真实V2开发者案例:基于LoRA缩放系数实现风格强度精准调控

FLUX.小红书极致真实V2开发者案例:基于LoRA缩放系数实现风格强度精准调控 1. 项目概述 FLUX.小红书极致真实V2是一款基于先进AI技术的本地图像生成工具,专门针对小红书平台的内容创作需求进行优化。这个工具让用户能够在自己的电脑上快速生成高质量、符…...

SPARROW-7z:面向Klipper的紧凑型7轴3D打印机主控设计

1. 项目概述SPARROW-7z 是一款面向高灵活性、低成本DIY场景的7轴3D打印机主控主板,其设计目标明确指向Voron 2.4等紧凑型开源3D打印机平台的硬件适配需求。名称中“Sparrow”(麻雀)隐喻其体积精悍、结构紧凑——PCB尺寸严格控制在100 mm 80 …...