存储实验:华为异构存储在线接管与在线数据迁移(Smart Virtualization Smart Migration 特性)
目录
- 目的
- 实验环境
- 实验步骤
- 参考文档
- 1. 主机安装存储多路径
- 2. v2存储创建Lun,映射给主机;主机分区格式化,写数据
- 3. 将v2存储映射该成映射到v3存储上(v3存储和v2之间链路搭建,测通,远端设备)(SmartVirtualization前置)
- 4. v3存储创建edevlun(SmartVirtualization特性)
- 5. 主机连接v3,v3创建主机、主机组、映射视图
- 6. 主机切换写入路径
- 7. v3存储做Pair对(Smart Migration)
- 8. 迁移v2存储上的预留信息
- 9. v3存储 分裂 Pair对,v2存储删除与主机的映射关系
- 10. 主机测试
目的
实现数据存储从旧存储(Oceanstor V2)迁移至新存储(OceanStor V3)的数据迁移实验。
该实验是在线数据迁移。
注意1:该实验依托
华为存储Smart特性实现,其他厂商存储具有不同的特性,请仔细阅读产品文档
注意2:该实验以提前确定过迁移前后系统的兼容性情况,遇到真正的异构厂商存储迁移or未知的厂商存储迁移,请阅读兼容性手册或询问原厂支持。
注意3:数据无小事,涉及到生产请反复验证、备份保证业务连续性和健壮性。
实验环境
| 主机 | 网段/IP | 作用 |
|---|---|---|
| Centos8 | 172.117.0.0/16 | 运维管理网段,远程连接(可以不配) |
| Centos8 | 172.118.0.0/16 | 存储业务网段,对接存储业务口(仅在ens22上配置该ip即可) |
| OceanStorV2 | 172.1.0.41:8088 | 旧存储管理地址,webPortal |
| OceanStorV2 | 172.3.0.41-44 | 旧存储业务地址,通过172.118.0.0路由连接 |
| OceanStorV3 | 172.1.0.61:8088 | 新存储管理地址,webPortal |
| OceanStorV3 | 172.3.0.61-64 | 新存储业务地址,通过172.118.0.0路由连接 |
| vSphere | 172.1.0.130 | vCenter webui地址,用于启停快照Centos |
实验步骤
参考文档
可以参考官方的产品文档,我参考的是
OceanStor 5x10系列 产品文档
本次在线接管的步骤在该文档的以下部分:
》
1. 主机安装存储多路径
本次实验用华为厂商的UltraPath存储多路径
具体的存储多路径实验内容可以看我以前的一片笔记:存储实验:FC-SAN实验与光交配置(GUI&CLI)
- 上传多路径软件(可以到华为官网下载,本次使用的是UltraPath31.3.0
- 解压UltraPath
unzip OceanStor_UltraPath_31.3.0_CentOS.zip
- 进入目录执行安装脚本(选择系统位于本地安装)
cd CentOS/
sh install.sh
#选择系统安装路径
1
#安装完毕选择重启
Y
2. v2存储创建Lun,映射给主机;主机分区格式化,写数据
略,详细可以看我上一篇笔记:存储实验:Smart Virtualization & Smart Migration 特性实现离线数据迁移
-
存储映射视图

-
主机连接LUN
#连接存储
[root@localhost iscsi]# iscsiadm -m discovery -t st -p 172.3.0.41
172.3.0.41:3260,8199 iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41
[root@localhost iscsi]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41, portal: 172.3.0.41,3260]
Login to [iface: default, target: iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41, portal: 172.3.0.41,3260] successful.# 扫存储LUN
[root@localhost iscsi]# hot_add
Begin to delete LUNs whose mappings do not exist
Begin to delete LUNs whose mappings are changed.
begin scan host0
begin scan host1
begin scan host10
begin scan host11
begin scan host12
....# 查看硬盘
[root@localhost iscsi]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 600M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 18.4G 0 part├─cl-root 253:0 0 16.4G 0 lvm /└─cl-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 1G 0 disk
up-1 252:1 0 1G 0 disk# 测试
[root@localhost iscsi]# touch /mysqldata/tes{1..5{
[root@localhost iscsi]# touch /mysqldata/tes{1..5}
[root@localhost iscsi]# ls /mysqldata/
tes1 tes{1..5{ tes2 tes3 tes4 tes5
- 主机通过多路径视图查看LUN
# 查看LUN信息
[root@localhost iscsi]# upadmin
UltraPath CLI #0 >show vlun type=all
--------------------------------------------------------------------------------------------------------------------------------------------------------------Vlun ID Disk Name Lun WWN Status Capacity Ctrl(Own/Work) Array Name Dev Lun ID No. of Paths(Available/Total)0 sdb 0816-v2-test 69c37f4100814c0e6d2ddfed0000002b Normal 1.00GB 0B/0B wuhan 43 1/1
--------------------------------------------------------------------------------------------------------------------------------------------------------------# 查看版本
UltraPath CLI #1 >show version
Software Version : 31.03.031
Driver Version : 31.03.031# 查看v2存储的SN号,用于下一步创建eDevLUN时使用
UltraPath CLI #2 >show array
-------------------------------------------------------------------------Array ID Array Name Array SN Vendor Name Product Name0 wuhan 210235G7KW10F5000012 HUAWEI S2600T
-------------------------------------------------------------------------
3. 将v2存储映射该成映射到v3存储上(v3存储和v2之间链路搭建,测通,远端设备)(SmartVirtualization前置)
远端设备配置略
- v2存储新建映射视图,将上一步创建的LUN再次映射给v3存储的存储主机组


4. v3存储创建edevlun(SmartVirtualization特性)
- v3存储创建eDevLUN

在这里选用基本伪装即可,不同的伪装用于什么类型的异构也可以在产品文档找到。


不同伪装的使用场景:
在DeviceManager界面创建eDevLUN时,可以设置“接管类型”为“离线”和“在线”。
- 当设置为“离线”接管时,自动匹配的伪装属性为不伪装。
- 当设置为“在线”接管时,根据异构存储的类型是华为异构存储或第三方异构存储,自动匹配为基本伪装或第三方伪装接管。当用户需要采用扩展伪装接管时,只能通过CLI命令create lun_takeover general进行接管。
在线接管第三方厂商异构存储系统时,eDevLUN的伪装属性为“第三方”,仅支持对应用服务器操作系统自带多路径的环境进行接管操作,并且环境中不能同时存在华为UltraPath、赛门铁克SF DMP和Veritas Storage Foundation等能够接管华为存储系统的多路径软件。同时,只支持部分应用服务器操作系统和集群软件。
- 观察eDevLun和远端Lun的关系
- eDevLun的wwn:

- 远端Lun的wwn(就是v2存储的Lunwwn):


- eDevLun的wwn:
5. 主机连接v3,v3创建主机、主机组、映射视图
略
- 主机连接
[root@localhost iscsi]# iscsiadm -m discovery -t st -p 172.3.0.61
172.3.0.61:3260,8196 iqn.2006-08.com.huawei:oceanstor:210018ded7c077ff:iqn2006:22003:172.3.0.61
[root@localhost iscsi]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2006-08.com.huawei:oceanstor:210018ded7c077ff:iqn2006:22003:172.3.0.61, portal: 172.3.0.61,3260]
Login to [iface: default, target: iqn.2006-08.com.huawei:oceanstor:210018ded7c077ff:iqn2006:22003:172.3.0.61, portal: 172.3.0.61,3260] successful.
-
v3存储映射视图

-
主机测试
# 扫盘
hot_add# 查看磁盘
[root@localhost iscsi]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 600M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 18.4G 0 part├─cl-root 253:0 0 16.4G 0 lvm /└─cl-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 1G 0 disk
└─sdb1 8:17 0 1023M 0 part /mysqldata
up-1 252:1 0 1G 0 disk# 进入UltraPath查看,出现两个LUN,分别是不同的存储提供的不同的LUN
[root@localhost iscsi]# upadminUltraPath CLI #0 >show vlun type=all
--------------------------------------------------------------------------------------------------------------------------------------------------------------Vlun ID Disk Name Lun WWN Status Capacity Ctrl(Own/Work) Array Name Dev Lun ID No. of Paths(Available/Total)0 sdb 0816-v2-test 69c37f4100814c0e6d2ddfed0000002b Normal 1.00GB 0B/0B wuhan 43 1/10 sdb eDevLUN0816 69c37f4100814c0e6d2ddfed0000002b Normal 1.00GB 0B/0B v3 111 1/1
--------------------------------------------------------------------------------------------------------------------------------------------------------------
UltraPath CLI #1 >show array
-------------------------------------------------------------------------Array ID Array Name Array SN Vendor Name Product Name0 v3 2102350BVD10H1000043 HUAWEI S2600T1 wuhan 210235G7KW10F5000012 HUAWEI S2600T
-------------------------------------------------------------------------
UltraPath CLI #5 >show iostat vlun_id=0 type=all
=====================================================================================IO Performance Information
=====================================================================================IOPS KB/S response time(ms)Total |Read |Write Total |Read |Write Total |Read |Write
VLUN 0 0 |0 |0 0 |0 |0 0 |0 |0
Lun Array 2102350BVD10H1000043
Controller 0A
Path 0 :0 |0 |0 0 |0 |0 0 |0 |0
Lun Array 210235G7KW10F5000012
Controller 0A
Path 1 :0 |0 |0 0 |0 |0 0 |0 |0
6. 主机切换写入路径
此时其实我们没有做SmartMigration,多路径软件会根据外部和内部LUN自动判定这是一个Migration的vlun
# 主机查看migration vlun状态,可以看到vlunid=0的lun上的两个lun wwn都是相同的,都是v2LUN的wwn。
# v3是伪装出的lun
UltraPath CLI #6 >show vlun type=migration
--------------------------------------------------------------------------------------------------------------------------------------------------------------Vlun ID Disk Name Lun WWN Status Capacity Ctrl(Own/Work) Array Name Dev Lun ID No. of Paths(Available/Total)0 sdb eDevLUN0816 69c37f4100814c0e6d2ddfed0000002b Normal 1.00GB 0B/0B v3 111 1/10 sdb 0816-v2-test 69c37f4100814c0e6d2ddfed0000002b Normal 1.00GB 0B/0B wuhan 43 1/1
--------------------------------------------------------------------------------------------------------------------------------------------------------------UltraPath CLI #7 >show vlun id=0 type=migration
=======================================================VLUN#0 Information # 表示虚拟LUN(VLUN)编号为0的相关信息
=======================================================
Disk : sdb # 指定与此VLUN关联的物理磁盘,设备名为 sdb
Manual IO Suspension : Off # 手动I/O挂起状态,当前处于关闭状态
Aggregation Type : Migration # 聚合类型为迁移,表示涉及数据从一个设备迁移到另一个设备
Aggregation Specific Attribution # 描述接下来的聚合相关的具体属性IO Direction : Source # I/O方向为源设备,表示数据从此设备读取或迁移出去Rollback : Disable # 回滚功能被禁用,意味着无法撤销迁移
Aggregation Member#0 Infomation # 表示第一个聚合成员(目标设备)的信息Name : eDevLUN0816 # 目标设备的名称为 eDevLUN0816Status : Normal # 设备状态正常Capacity : 1.00GB # 设备容量为1.00GBAggregation Specific Attribution : Target Device # 设备被标记为迁移的目标设备LUN WWN : 69c37f4100814c0e6d2ddfed0000002b # 逻辑单元号 (LUN) 的全球唯一标识符Array Name : v3 # 设备所在存储阵列的名称为 v3Array SN : 2102350BVD10H1000043 # 存储阵列的序列号Driver : Vendor-specific(DEFAULT) # 使用供应商指定的默认驱动程序Product Name : S2600T # 存储产品名称为 S2600TVendor Name : HUAWEI # 供应商名称为华为Owning Controller : 0B # 设备的所属控制器为 0BWorking Controller: 0B # 设备当前工作的控制器为 0BNum of Paths : 1 # 设备到控制器的路径数为 1Controller 0A # 下方列出控制器 0A 的相关信息Path 0 [34:0:0:1] (up-0) : Normal # 路径0的信息,状态为正常
Aggregation Member#1 Infomation # 表示第二个聚合成员(源设备)的信息Name : 0816-v2-test # 源设备的名称为 0816-v2-testStatus : Normal # 设备状态正常Capacity : 1.00GB # 设备容量为1.00GBAggregation Specific Attribution : Source Device # 设备被标记为迁移的源设备LUN WWN : 69c37f4100814c0e6d2ddfed0000002b # 逻辑单元号 (LUN) 的全球唯一标识符Array Name : wuhan # 设备所在存储阵列的名称为 wuhanArray SN : 210235G7KW10F5000012 # 存储阵列的序列号Driver : Vendor-specific(DEFAULT) # 使用供应商指定的默认驱动程序Product Name : S2600T # 存储产品名称为 S2600TVendor Name : HUAWEI # 供应商名称为华为Owning Controller : 0B # 设备的所属控制器为 0BWorking Controller: 0B # 设备当前工作的控制器为 0BNum of Paths : 1 # 设备到控制器的路径数为 1Controller 0A # 下方列出控制器 0A 的相关信息Path 1 [33:0:0:1] (up-1) : Normal # 路径1的信息,状态为正常
------------------------------------------------------- # 表示信息展示结束# 切换存储路径
UltraPath CLI #8 >start migration vlun_id=0 direction=target rollback=enableUltraPath CLI #9 >show path
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Path ID Initiator Port Array Name Controller Target Port Path State Check State Port Type Port ID0 iqn.1994-05.com.redhat:0816test::3137:322E:3131:382E:342E:3130:3000:0::34 v3 0A iqn.2006-08.com.huawei:oceanstor:210018ded7c077ff:iqn2006:22003:172.3.0.61::0 Normal -- iSCSI CTE0.A.H0
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Path ID Initiator Port Array Name Controller Target Port Path State Check State Port Type Port ID1 iqn.1994-05.com.redhat:0816test::3137:322E:3131:382E:342E:3130:3000:0::33 wuhan 0A iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41::0 Normal -- iSCSI ENG0.A1.H0
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
7. v3存储做Pair对(Smart Migration)


8. 迁移v2存储上的预留信息
在上一步中,实际执行到最后会报错:
原因是,还有部分v2存储上的预留信息没有被迁移到v3存储上。
需要登录v3存储(新存储)的命令行进行解决:
- 登录到v3存储后台:

- 查看v3存储上,需要迁移的Lun的编号
#show lun_takeover general命令用于查询存储系统中存在的接管LUN的信息。
xxx:/>show lun_takeover generalID Name Pool ID Capacity Health Status Running Status Type WWN Is Add To Lun Group DIF Switch Takeover LUN Type Takeover LUN WWN--- -------------------- ------- -------- ------------- -------------- ----- -------------------------------- ------------------- ---------- ----------------- --------------------------------16 xxx 0 5.000GB Normal Online Thick 618ded7100c077ff07c9f38400000010 Yes No BASIC 69c37f4100814c0e07c931150000000a39 xxx 2 10.000GB Normal Online Thick 618ded7100c077ff1a0c731d00000027 Yes No BASIC 69c37f4100814c0e18c2fc1e0000001440 xxx 2 5.000GB Normal Online Thick 618ded7100c077ff1a0c739d00000028 Yes No BASIC 69c37f4100814c0e18c3072a0000001541 xxx 2 10.000GB Normal Online Thick 618ded7100c077ff1a0c73d500000029 Yes No BASIC 69c37f4100814c0e18c2fbd200000013107 xxx 0 5.000GB Normal Online Thick 618ded7100c077ff6c6495280000006b Yes No BASIC 69c37f4100814c0e6c60a1970000002b111 eDevLUN0816 0 1.000GB Normal Online Thick 618ded7100c077ff6d34652d0000006f Yes No BASIC 69c37f4100814c0e6d2ddfed0000002bxxx:/>change protocol service operation_code=relocate operation_object_type=lun_reservation operation_object_id=111
Command executed successfully.developer:/>change lun_takeover finish_switch_path lun_id=111
至此,重新执行步骤7
9. v3存储 分裂 Pair对,v2存储删除与主机的映射关系



v2存储删除与主机的映射关系略
主机删除与v2存储的iscsi连接:
[root@localhost ~]# iscsiadm -m session
tcp: [1] 172.3.0.41:3260,8199 iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41 (non-flash)
tcp: [2] 172.3.0.61:3260,8196 iqn.2006-08.com.huawei:oceanstor:210018ded7c077ff:iqn2006:22003:172.3.0.61 (non-flash)[root@localhost ~]# iscsiadm -m node -u -T iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41
Logging out of session [sid: 3, target: iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41, portal: 172.3.0.41,3260]
Logout of [sid: 3, target: iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41, portal: 172.3.0.41,3260] successful.[root@localhost ~]# iscsiadm -m session
tcp: [4] 172.3.0.61:3260,8196 iqn.2006-08.com.huawei:oceanstor:210018ded7c077ff:iqn2006:22003:172.3.0.61 (non-flash)[root@localhost ~]# upadminUltraPath CLI #0 >show array
-------------------------------------------------------------------------Array ID Array Name Array SN Vendor Name Product Name0 v3 2102350BVD10H1000043 HUAWEI S2600T
-------------------------------------------------------------------------UltraPath CLI #1 >show vlun type=all
-------------------------------------------------------------------------------------------------------------------------------------------------------------Vlun ID Disk Name Lun WWN Status Capacity Ctrl(Own/Work) Array Name Dev Lun ID No. of Paths(Available/Total)0 sdb eDevLUN0816 69c37f4100814c0e6d2ddfed0000002b Normal 1.00GB 0B/0B v3 111 1/1
-------------------------------------------------------------------------------------------------------------------------------------------------------------
10. 主机测试
[root@localhost ~]# touch /mysqldata/{1..5}.txt
[root@localhost ~]# ls /mysqldata/
1.txt 2.txt 3.txt 4.txt 5.txt tes1 tes{1..5{ tes2 tes3 tes4 tes5相关文章:
存储实验:华为异构存储在线接管与在线数据迁移(Smart Virtualization Smart Migration 特性)
目录 目的实验环境实验步骤参考文档1. 主机安装存储多路径2. v2存储创建Lun,映射给主机;主机分区格式化,写数据3. 将v2存储映射该成映射到v3存储上(v3存储和v2之间链路搭建,测通,远端设备)(Smar…...
职业院校云计算实训室建设方案全景剖析
在信息化社会的今天,云计算作为一项关键技术,正在迅速改变着教育和培训的方式。本文旨在探讨如何通过"职业院校云计算实训室建设方案",为学生提供一个现代化、高效的学习和研究环境,以适应云计算技术的发展和市场需求。…...
VS Code安装与vue项目新建
1、下载安装node.js、VS Code node.js官网下载 Visual Studio Code官网下载 # 查看node.js是否安装成功 node -v npm -v # 定义镜像路径 npm config set registry https://registry.npmmirror.com # 查看是否配置成功 npm config get# 安装webpack npm install webpack -g #…...
如何在Java中将数据库查询结果转换为枚举类型
前言 在开发过程中,我们经常需要将从数据库获取的字符串或数字转换为更具语义的枚举类型。这不仅可以提高代码的可读性,还可以确保类型安全。这时候我们从数据库查出来的值如何通过枚举转换返回? 1. 构建枚举类型 首先,我们需要…...
秋招突击——8、20——知识补充——Java容器
文章目录 引言正文总览ArrayListLinkedListQueue & Stack & ArrayDequePriorityQueueHashSet & HashMapLinkedHashSet & LinkedHashMapTreeSet & TreeMap 面…...
IOS 06 OC调用Swift第三方框架
前面文章05讲的是在OC项目中,调用Swift代码,而在真实开发过程中,在OC项目中调用Swift第三方框架场景用的是非常多的,所以我们也了解在OC项目如何使用Swift写的三方框架。 实现流程: 1、OCUseSwiftTest;在…...
SAP和致远OA系统集成案例
一、项目介绍 重庆某控股(集团)有限公司是一家集合汽柴油动力及终端、摩托车、储能电源、汽车零部件、金融服务等产业的多元化集团公司,业务遍布全球80多个国家及地区,2021年营业收入达80亿元。 为推动集团信息化、数字化转型…...
19 OptionMenu 组件
OptionMenu 组件使用指南 Tkinter 的 OptionMenu 组件是一个下拉选择框,允许用户从一组预定义的选项中选择一个。它通常用于提供用户一个有限的选项集合来选择。以下是对 OptionMenu 组件的详细说明和一个使用案例。 OptionMenu 组件属性 variable: 与 OptionMen…...
【C语言】字符函数与字符串函数(上)
字符函数与字符串函数(上) 文章目录 字符函数与字符串函数(上)1.字符分类函数2.字符转换函数3.strlen的使用和模拟实现3.1使用示例:3.2模拟实现 4.strcpy的使用和模拟实现4.1使用示例:4.2模拟实现 5.strcat的使用和模拟…...
机器学习系列—深入探索弗里德曼检验:非参数统计分析的利器
🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…...
【ubutnu18.04】k8s 部署4: worker节点配置1.31.0和containerd 1.7.20
上一篇:【ubutnu24.04】k8s部署3:重新安装1.31.0并init成功 worker 节点之一是ubuntu18.04主要参考 How Install Kubernetes on Ubuntu 24.04 (Step-by-Step Guide) 重点参考 ubuntu24.04 作为master反复配置kubelet root@PerfSvr:/home/zhangbin/perfwork/k8sadmin# sudo kub…...
android kotlin集成WorkManager实现定时获取数据
在Android中使用Kotlin集成WorkManager来实现定时获取数据是一个很常见的需求。WorkManager可以帮助你在设备处于闲置或应用被关闭时执行后台任务,特别适用于需要在特定时间间隔内重复执行的任务。以下是实现步骤: 1. 添加依赖项 首先,在你…...
BvSP_ Broad-view Soft Prompting for Few-Shot Aspect Sentiment Quad Prediction
BvSP: Broad-view Soft Prompting for Few-Shot Aspect Sentiment Quad Prediction 英文题目BvSP: Broad-view Soft Prompting for Few-Shot Aspect Sentiment Quad Prediction中文题目BvSP:面向少样本方面情感四元预测的广视角软提示论文地址aclanthology.org/202…...
React+Vis.js(05):vis.js的节点的点击事件
文章目录 需求实现思路抽屉实现完整代码需求 双击节点,弹出右侧的“抽屉”,显示节点的详细信息 实现思路 vis.network提供了一个doubleClick事件,代码如下: network.on(doubleClick, function (properties) {// console.log(nodes);let id = properties...
今日(2024 年 8 月 19 日)科技新闻
科大讯飞推出星火极速超拟人交互:8 月 19 日,科大讯飞宣布星火语音大模型更新,正式推出星火极速超拟人交互,并将其能力落地在讯飞星火 APP “小星畅聊” 功能中。该交互响应速度更快,能感知用户情绪变化并共情回应&…...
Python 虚拟环境
为什么要创建虚拟环境 创建 Python 虚拟环境的主要目的是为了解决依赖管理的问题,特别是在开发多个项目或部署应用程序时,虚拟环境具有以下几个优势: 依赖隔离: 不同的项目可能需要不同版本的 Python 解释器和库。通过创建虚拟环…...
Redis RDB三两事
rdb:将数据库的快照以二进制格式保存在文件中,redis重启后直接加载数据。可以通过save和bgsave命令生成rdb。当然我们可以在生成rdb文件时指定规则,例如 save 60 1000 如果60秒内不少于1000个key发生了改动,则生成一个新的rdb文件…...
分布式高可用架构设计
一、限流 1、单机限流 如图,应用C的资源c/x被上游的应用A和应用C并发访问,应用C的系统能力支持c/x资源最高5000/qps的访问量;为了不让高并发流量或尖峰流量压垮应用C,可以针对应用C的资源c/x做限流;比如设置限流4500…...
GATK SampleList接口介绍
在 GATK 中,SampleList 是一个接口,用于表示一个样本列表。这些样本通常是在基因组分析过程中被处理的不同生物样本。SampleList 接口提供了访问这些样本的一些基本方法,通常用于多样本分析任务,比如变异检测或基因组重测序。 SampleList 接口的方法 SampleList 接口定义…...
00后是真卷不过,工作没两年,跳槽到我们公司起薪20K都快接近我了
在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事,可遇不可求,向他学习还来不及呢。 真正让人反感的,是技术平平&…...
鸿蒙开发实战:HDC工具在本地模拟器中的高效调试技巧
1. HDC工具入门:鸿蒙开发的瑞士军刀 第一次接触HDC工具时,我把它当成了鸿蒙版的ADB。但用久了才发现,这个看似简单的命令行工具,其实是鸿蒙开发的万能钥匙。HDC全称Huawei Device Connector,就像它的名字一样ÿ…...
如何使用hello-uniapp性能监控工具实时掌握应用运行状态
如何使用hello-uniapp性能监控工具实时掌握应用运行状态 【免费下载链接】hello-uniapp uni-app框架演示示例 项目地址: https://gitcode.com/gh_mirrors/he/hello-uniapp hello-uniapp性能监控工具是uni-app框架演示示例中的核心功能模块,它提供了一套完整的…...
OpenClaw飞书机器人实战:Qwen2.5-VL-7B多模态对话集成
OpenClaw飞书机器人实战:Qwen2.5-VL-7B多模态对话集成 1. 为什么选择OpenClaw飞书Qwen2.5-VL组合 去年我在团队内部尝试搭建智能助手时,发现现成的SaaS工具要么功能受限,要么需要将敏感数据上传到第三方服务器。直到遇到OpenClaw这个开源框…...
OpenClaw压力测试:千问3.5-9B持续运行24小时稳定性
OpenClaw压力测试:千问3.5-9B持续运行24小时稳定性 1. 为什么需要压力测试? 上周我在本地部署了OpenClaw千问3.5-9B组合,想用它自动处理一些日常文档整理工作。最初几小时运行很顺畅,但第二天早上发现系统卡死了——这让我意识到…...
基于机器学习算法的亚马逊用户评论情感分析研究:深入探讨随机森林与决策树模型的应用及其实验评估
《基于随机森林和决策树的亚马逊用户评论情感分析研究》深入探讨了利用机器学习技术对亚马逊用户评论数据进行情感分析的方法,旨在为电商企业提供更精准的用户反馈处理工具,以辅助产品优化和服务改进 通过采用决策树模型和随机森林模型这两种不同的机器学…...
Redis 竞品与替代方案选型可行性分析报告
Redis 竞品与替代方案选型可行性分析报告 一、引言 Redis 作为内存数据库领域的标杆产品,凭借其高性能、丰富的数据结构和成熟的生态系统,在缓存、消息队列、实时计算等场景占据主导地位。然而,随着云原生架构的普及、数据规模的爆炸式增长以…...
OpenClaw技能开发入门:为千问3.5-9B编写自定义文件处理器
OpenClaw技能开发入门:为千问3.5-9B编写自定义文件处理器 1. 为什么需要自定义文件处理器 上周我在整理项目文档时,发现一个重复性痛点:每次收到同事发来的Markdown文件,都需要手动执行"格式校验→重命名→按日期归档→生成…...
从NTU-RGB+D到实际应用:如何用这个数据集训练一个摔倒检测模型?
基于NTU-RGBD数据集的摔倒检测模型实战指南 在智能监护和安防领域,摔倒检测一直是个极具社会价值的课题。想象一下,当独居老人不慎跌倒时,系统能在第一时间发出警报;或是在建筑工地,实时监测工人安全状态——这些场景背…...
Word多级列表编号消失?别慌!用这个宏代码一劳永逸(附详细操作截图)
Word多级列表编号消失?三步根治方案与宏代码实战 写论文时目录编号突然消失?项目报告的多级列表格式莫名混乱?这种"幽灵问题"几乎困扰过每个深度使用Word的用户。传统方法往往只能临时修复,下次打开文档时问题依旧——直…...
4.1第一次练习作业
1.在root用户的主目录下创建两个目录分别为haha和hehe,复制hehe目录到haha目录并重命名为apple。[rootlocalhost ~]# mkdir {haha,hehe} [rootlocalhost ~]# cp -r hehe haha [rootlocalhost ~]# cd haha [rootlocalhost haha]# mv hehe apple2.将hehe目录移动到app…...








