存储实验:华为异构存储在线接管与在线数据迁移(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作用
Centos8172.117.0.0/16运维管理网段,远程连接(可以不配)
Centos8172.118.0.0/16存储业务网段,对接存储业务口(仅在ens22上配置该ip即可)
OceanStorV2172.1.0.41:8088旧存储管理地址,webPortal
OceanStorV2172.3.0.41-44旧存储业务地址,通过172.118.0.0路由连接
OceanStorV3172.1.0.61:8088新存储管理地址,webPortal
OceanStorV3172.3.0.61-64新存储业务地址,通过172.118.0.0路由连接
vSphere172.1.0.130vCenter webui地址,用于启停快照Centos

实验步骤

参考文档

可以参考官方的产品文档,我参考的是OceanStor 5x10系列 产品文档
本次在线接管的步骤在该文档的以下部分:
在这里插入图片描述
在这里插入图片描述

1. 主机安装存储多路径

本次实验用华为厂商的UltraPath存储多路径
具体的存储多路径实验内容可以看我以前的一片笔记:存储实验:FC-SAN实验与光交配置(GUI&CLI)

  1. 上传多路径软件(可以到华为官网下载,本次使用的是UltraPath31.3.0
  2. 解压UltraPath
 unzip OceanStor_UltraPath_31.3.0_CentOS.zip
  1. 进入目录执行安装脚本(选择系统位于本地安装)
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):
      在这里插入图片描述
      在这里插入图片描述

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存储(新存储)的命令行进行解决:
在这里插入图片描述
在这里插入图片描述

  1. 登录到v3存储后台:
    在这里插入图片描述
  2. 查看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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/404864.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

便利店(超市)管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图详细视频演示技术栈系统测试为什么选择我官方认证玩家,服务很多代码文档,百分百好评,战绩可查!!入职于互联网大厂,可以交流,共同进步。有保障的售后 代码参考数据库参…

中国:“虚拟资产”交易被列为公认的洗钱方式之一!最高法院承认加密货币交易!

2024年8月19日,最高人民法院和最高人民检察院表示,根据他们对反洗钱法的新解释,“虚拟资产”交易现已被列为公认的洗钱方式之一。这是中国首次针对此类资产类别采取此类举措,说明为应对加密货币和其他虚拟资产日益增长的使用&…

IO进程线程8.20

1.使用fgets获取文件的行号 #include <myhead.h> int main(int argc, const char *argv[]) {FILE *fp fopen("./1.txt","r");if(fpNULL){perror("fp");return -1;}char buf[30];int count 0;while(fgets(buf,sizeof(buf),fp)){count;}p…

为IntelliJ IDEA安装插件

安装插件 插件是开发工具的扩展程序&#xff0c;通常由第三方提供&#xff0c;当安装了插件后&#xff0c;原开发工作的菜单、按钮等开发环境可能会发生变化&#xff0c;例如出现了新的菜单项&#xff0c;或出现了新的按钮&#xff0c;甚至一些全新的编码方式&#xff0c;通常…

双向链表复习(C语言版)

目录 链表分类&#xff1a; 双向链表初始化&#xff1a; 双向链表的插入&#xff1a; 双向链表的打印&#xff1a; 双向链表的删除&#xff1a; 双向链表的指定结点位置查找&#xff1a; 双向链表的在指定位置之后插入数据&#xff1a; 注意&#xff1a;通过上文的指定…

地理科学专业| 中国大学排行榜(2024年)

地理科学专业| 中国大学排行榜&#xff08;2024年&#xff09;

客车制造5G智能工厂工业物联数字孪生平台,推进制造业数字化转型

制造业正经历着前所未有的变革&#xff0c;其中客车制造行业作为传统制造业的重要组成部分&#xff0c;正积极拥抱5G、工业物联网及数字孪生等先进技术&#xff0c;推动生产模式的全面升级与数字化转型。 客车制造5G智能工厂工业物联数字孪生平台的出现&#xff0c;不仅为行业…

【Linux】系列入门摘抄笔记-8-权限管理chmod/chown

Linux操作系统中文件的基本权限由9个字符组成&#xff0c;分别为属主、属组和其他用户&#xff0c;用于规定是否对文件有读、写和执行权限。 文件/目录的权限与归属 目录列表中&#xff0c;有9列 第一列&#xff1a;文件类型与权限&#xff08;共10个字符&#xff0c;分为四组…

电子木鱼+提肛+游戏地图,车机还能这么玩?

文/王俣祺 导语&#xff1a;电子木鱼、提肛训练、游戏级地图&#xff0c;你很难想象这些“直男关怀”是来自小鹏MONA M03的车机系统。最近&#xff0c;一批关于MONA M03车机功能的视频在网上疯传&#xff0c;一系列“没用但有趣”的功能广受年轻用户的好评&#xff0c;情绪价值…

linux上用anaconda创建一个新环境,并将nicegui的应用打包为一个可执行应用

先下载好anaconda linux版本 Download Anaconda Distribution | Anacondahttps://www.anaconda.com/download/之后运行 conda create --name py311 python3.11 --name py311 是环境名 python3.11 是python版本 安装完成后&#xff0c;运行 conda env list 得到 这时我们…

手机使用技巧:如何恢复Android手机不见的短信

在您的 Android 手机上丢失短信可能是一种令人沮丧的经历&#xff0c;尤其是在文本包含重要信息的情况下。幸运的是&#xff0c;有一些方法可以在Android上恢复已删除的短信。在这篇博文中&#xff0c;我们将讨论几种在Android手机上恢复已删除短信的方法。 为什么需要恢复Andr…

【python】逐步回归(多元线性回归模型中的应用)

文章目录 前言一、逐步回归1. 前进法&#xff08;Forward Selection&#xff09;2. 后退法&#xff08;Backward Elimination&#xff09;3. 逐步回归法&#xff08;Stepwise Regression&#xff09; 二、示例三、代码实现----python 前言 Matlab中逐步回归的实现可以使用 Mat…

软体水枪在灭火工作中发挥什么作用_鼎跃安全

火灾&#xff0c;这一频繁侵袭我们日常生活的灾难性事件&#xff0c;以其迅猛之势对人类的生存环境与日常生活构成了极其严重的破坏与威胁。它不仅能够在瞬间吞噬财产&#xff0c;更可怕的是&#xff0c;它无情地剥夺了生命&#xff0c;破坏了家庭&#xff0c;给社会留下了难以…

关于Ubuntu中使用命令行安装Qt的一些分享

以Ubuntu 22.04为例。 1、安装默认的Qt库 sudo apt-get install qtbase5-dev qtbase5-dev-tools qtchooser 这条指令执行完会出现 usr/lib/x86_64-linux-gnu/qt5 文件&#xff0c;并伴随5个子文件夹&#xff0c;结构如下&#xff1a; 并且会出现 usr/lib/qt5, usr/lib/x86_6…

第5节:Elasticsearch核心概念

我的后端学习笔记大纲 我的ElasticSearch学习大纲 1.Lucene和Elasticsearch的关系: 1.Lucene&#xff1a;最先进、功能最强大的搜索库&#xff0c;直接基于lucene开发&#xff0c;非常复杂&#xff0c;api复杂2.Elasticsearch&#xff1a;基于lucene&#xff0c;封装了许多luc…

SpringBoot的自动配置原理探究

目录 什么是SpringBoot的自动配置&#xff08;Auto-Configuration&#xff09; 举例&#xff1a;SpringBoot自动配置&#xff08;Redis的自动配置&#xff09;的实例&#xff1a; 步骤1.&#xff1a;引入Redis启动器pom依赖 步骤2.在application.yml或者&#xff08;proper…

XXL-JOB漏洞分析与利用

一、前言 在当今的数字化时代&#xff0c;任务调度平台对于企业级应用来说至关重要。它们负责自动化和协调各种时间敏感或周期性的任务&#xff0c;确保业务流程的顺畅运行。XXL-JOB作为一款流行的分布式任务调度平台&#xff0c;因其强大的功能和易用性&#xff0c;被广泛部署…

vue3父子组件双向数据绑定v-model;父组件调用子组件事件

效果&#xff1a; 父far.vue <template><div><div>父组件内容<pre>value1:{{ value1 }}</pre><el-button type"primary">flag1:{{ flag1 }}</el-button><pre>obj1:{{ obj1 }}</pre><el-input v-model&q…

进阶SpringBoot之 JDBC 篇

对于数据访问层&#xff0c;无论是SQL&#xff08;关系型数据库&#xff09;还是NOSQL&#xff08;非关系型数据库&#xff09;&#xff0c; Spring Boot 底层都是采用 Spring Data 的方式进行统一处理 创建一个新项目&#xff0c;依赖勾选 JDBC API、MySQL Driver 项目创建好…

2024.8.20 作业

目录 思维导图&#xff1a; 面试题练习&#xff1a; 1、C语言中指针数组和数组指针的区别 2、结构体字节对齐的原理 3、TCP和UDP的区别 4、同步通信和异步通信的区别 5、多线程的理解 6、大小端验证 7、互斥锁 8、共享内存特点 9、C语言的指针 10、gcc编译 11、socket套接字 1…