存储实验:华为异构存储在线接管与在线数据迁移(Smart Virtualization Smart Migration 特性)

news2024/12/23 18:23:30

目录

  • 目的
  • 实验环境
  • 实验步骤
    • 参考文档
    • 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 Name
    0        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]# 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
    0     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 Name
    0          v3      2102350BVD10H1000043    HUAWEI       S2600T
    1        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/1
    0     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                  # 目标设备的名称为 eDevLUN0816
    Status            : Normal                       # 设备状态正常
    Capacity          : 1.00GB                       # 设备容量为1.00GB
    Aggregation Specific Attribution : Target Device # 设备被标记为迁移的目标设备
    LUN WWN           : 69c37f4100814c0e6d2ddfed0000002b  # 逻辑单元号 (LUN) 的全球唯一标识符
    Array Name        : v3                           # 设备所在存储阵列的名称为 v3
    Array SN          : 2102350BVD10H1000043         # 存储阵列的序列号
    Driver            : Vendor-specific(DEFAULT)     # 使用供应商指定的默认驱动程序
    Product Name      : S2600T                       # 存储产品名称为 S2600T
    Vendor Name       : HUAWEI                       # 供应商名称为华为
    Owning Controller : 0B                           # 设备的所属控制器为 0B
    Working Controller: 0B                           # 设备当前工作的控制器为 0B
    Num of Paths      : 1                            # 设备到控制器的路径数为 1
    Controller 0A                                    # 下方列出控制器 0A 的相关信息
    Path 0 [34:0:0:1] (up-0)  : Normal               # 路径0的信息,状态为正常
Aggregation Member#1 Infomation                      # 表示第二个聚合成员(源设备)的信息
    Name              : 0816-v2-test                 # 源设备的名称为 0816-v2-test
    Status            : Normal                       # 设备状态正常
    Capacity          : 1.00GB                       # 设备容量为1.00GB
    Aggregation Specific Attribution : Source Device # 设备被标记为迁移的源设备
    LUN WWN           : 69c37f4100814c0e6d2ddfed0000002b  # 逻辑单元号 (LUN) 的全球唯一标识符
    Array Name        : wuhan                        # 设备所在存储阵列的名称为 wuhan
    Array SN          : 210235G7KW10F5000012         # 存储阵列的序列号
    Driver            : Vendor-specific(DEFAULT)     # 使用供应商指定的默认驱动程序
    Product Name      : S2600T                       # 存储产品名称为 S2600T
    Vendor Name       : HUAWEI                       # 供应商名称为华为
    Owning Controller : 0B                           # 设备的所属控制器为 0B
    Working Controller: 0B                           # 设备当前工作的控制器为 0B
    Num of Paths      : 1                            # 设备到控制器的路径数为 1
    Controller 0A                                    # 下方列出控制器 0A 的相关信息
    Path 1 [33:0:0:1] (up-1)  : Normal               # 路径1的信息,状态为正常
------------------------------------------------------- # 表示信息展示结束

# 切换存储路径
UltraPath CLI #8 >start migration vlun_id=0 direction=target rollback=enable

UltraPath CLI #9 >show path
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Path ID                               Initiator Port                                Array Name  Controller                                   Target Port                                   Path State  Check State  Port Type   Port ID
    0     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 ID
    1     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 general

  ID   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              69c37f4100814c0e07c931150000000a
  39   xxx           			2        10.000GB  Normal         Online          Thick  618ded7100c077ff1a0c731d00000027  Yes                  No          BASIC              69c37f4100814c0e18c2fc1e00000014
  40   xxx              		2         5.000GB  Normal         Online          Thick  618ded7100c077ff1a0c739d00000028  Yes                  No          BASIC              69c37f4100814c0e18c3072a00000015
  41   xxx           			2        10.000GB  Normal         Online          Thick  618ded7100c077ff1a0c73d500000029  Yes                  No          BASIC              69c37f4100814c0e18c2fbd200000013
  107  xxx           			0         5.000GB  Normal         Online          Thick  618ded7100c077ff6c6495280000006b  Yes                  No          BASIC              69c37f4100814c0e6c60a1970000002b
  111  eDevLUN0816          	 0         1.000GB  Normal         Online          Thick  618ded7100c077ff6d34652d0000006f  Yes                  No          BASIC              69c37f4100814c0e6d2ddfed0000002b


xxx:/>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 ~]# upadmin

UltraPath CLI #0 >show array
-------------------------------------------------------------------------
 Array ID  Array Name        Array SN        Vendor Name  Product Name
    0          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.coloradmin.cn/o/2044682.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深度学习】DDPM公式详解(第一期)

原论文:Denoising Diffusion Probabilistic Models (1)-1 p θ ( x 0 : T ) : p ( x T ) ∏ t 1 T p θ ( x t − 1 ∣ x t ) p_{\theta}(x_0:T) : p(x_T) \prod_{t1}^{T} p_{\theta}(x_{t-1} \mid x_t) pθ​(x0​:T):p(xT​)t1∏T​pθ​(xt−1​∣xt​) 这个…

AI预测福彩3D采取888=3策略+和值012路或胆码测试8月16日新模型预测第58弹

经过近60期的测试,当然有很多彩友也一直在观察我每天发的预测结果,得到了一个非常有价值的信息,那就是9码定位的命中率非常高,57期一共只错了5次,这给喜欢打私房菜的朋友提供了极高价值的预测结果~当然了,大…

IoTSharp:基于 .NET 6.0 的开源物联网平台

目录 前言 项目介绍 为什么会有 IoTSharp? IoTSharp 能做什么? IoTSharp 的亮点 项目技术 1、编程语言 2、系统框架 3、数据库支持 4、消息队列与 EventBus 5、EventBus 存储 项目使用 1、下载 2、启动 3、注册服务 4、初始化influxdb 5…

实现清除默认样式的操作

1、在npm官网中搜索reset.scss->点击第一个。(有时候会更新一些代码,第一个出现的不一定就是我图片中的这个,不一定要跟我图片中的代码一致,只需要选择第一个出现的即可) 2、点击Code选项。 3、打开Code选项下面的t…

在私有化过程中不要忽视LLMs的双重逻辑能力:医学领域的数据密集型分析

链接:https://arxiv.org/abs/2309.04198 原标题:Don’t Ignore Dual Logic Ability of LLMs while Privatizing: A Data-Intensive Analysis in Medical Domain 日期:Submitted on 8 Sep 2023 摘要 大量的研究致力于通过喂养特定领域的数据…

智能楼宇控制系统的革新——M31系列分布式IO模块

随着物联网技术的飞速发展,智能楼宇控制系统正逐渐成为现代建筑的标配。它不仅能够提高建筑的能源效率,还能提升用户的生活品质和舒适度。在这样的背景下,分布式IO模块作为智能楼宇控制系统的核心组成部分,发挥着至关重要的作用。…

深度学习9--目标检测

1.概念介绍 目标检测不仅可以检测数字,而且可以检测动物的种类、汽车的种类等。例如,自动驾驶车辆需要自动识别前方物体是车辆还是行人,需要自动识别道路两 旁的指示牌和前方的红绿灯颜色。对于自动检测的算法,有两个要求&#xf…

聊聊场景及场景测试

在我们进行测试过程中,有一种黑盒测试叫场景测试,我们完全是从用户的角度去理解系统,从而可以挖掘用户的隐含需求。 场景是指用户会使用这个系统来完成预定目标的所有情况的集合。 场景本身也代表了用户的需求,所以我们可以认为…

项目管理工具的秘密:如何选出最佳系统

国内外主流的 10 款project项目管理系统对比:PingCode、Worktile、用友、泛微、蓝凌、Zoho Projects、Asana、Trello、Basecamp、Jira。 在寻找合适的项目管理系统时,你是否感到选择众多、功能复杂让人难以抉择?这正是许多项目经理面临的痛点…

计算机毕业设计选题推荐-个性化智能学习系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

MySQL架构与数据库基础

文章目录 一、数据库概念二、数据库的简单概念三、SQL四、MySQL架构 一、数据库概念 数据库是一个以某种由组织的方式存储的数据集合。我们可以把数据库想象称为一个文件柜。此文件柜是一个存放数据的物理位置,不管数据是什么以及如何组织的。数据库本质也需要像文…

C++-类与对象(上篇)

一、目标: 1. 面向过程和面向对象初步认识 2. 类的引入 3. 类的定义 4. 类的访问限定符及封装 5. 类的作用域 6. 类的实例化 7. 类的对象大小的计算 8. 类成员函数的 this 指针 二、对类与对象的介绍: 1.面向过程和面向对象初步认识 &#xff1a…

调用FluentUI中的折线图散点图等

文章目录 0.文章介绍1.源码位置2.线性图:基础版本2.1效果图2.2代码 3.线形图:封装版本3.1 效果图3.2 代码 0.文章介绍 调用项目FluentUI中的散点图、折线图组件,做定制化改进。 项目FluentUI源码位置:https://github.com/zhuzich…

手把手教你SpringBoot项目将Swagger升级3.0详解

SpringBoot项目将Swagger升级3.0 前言 这阵子观察到Swagger官方已经升级到了3.0的版本,想着升级体验一下最新的版本 新特性 移除了2.x版本的冲突版本,移除了guava等移除了EnableSwagger2新增了springfox-boot-starter… 引入依赖 新版本中&#xf…

三十八、【人工智能】【机器学习】【监督贝叶斯网络(Bayesian Networks)学习】- 算法模型

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

数据库-DML语言-数据操作语言

定义 DML是对表中数据进行操作的语言,涉及的关键字:INSERT UPDATE DELETE INSERT:向表中插入新数据的语句UPDATE:修改表中数据的语句DELETE:删除表中数据的语句 准备工作 USE mydb; 使用mydb库 CREATE TABLE person( 创建表personname VARCHAR(30),age INT…

AAAI‘25 今日截稿!SD 核心成员开源比 Midjourney 还强的文生图模型,现已提供一键启动

Midjourney 真的不香了!继 Stable Diffusion 3 于 6 月开源后,Stability AI 前核心成员 Robin Rombach 带领着新团队在本月初推出了 FLUX.1 图像生成模型家族。官方声称 FLUX.1 在多个关键指标上超越了 Midjourney v6.0 和 DALLE 3 等文生图的头部模型&a…

VMware Workstation Pro 安装 Ubuntu Server

这里写目录标题 VMware Workstation Pro 安装 Ubuntu Server1. 启动选项2. 系统语言3. 安装程序升级4. 键盘配置5. 安装类型6. 网卡配置7. 代理配置8. 系统镜像配置9. 硬盘配置10. 账户配置11. Ubuntu Pro 版本12. SSH 服务13. 推荐软件14. 安装成功15. 第一次重启报错16. 登录…

JavaScript调试:console 命令的使用

1、console 命令介绍 console 对象用于 JavaScript 调试。JavaScript 原生中默认是没有 console 对象,这是宿主对象(也就是浏览器)提供的内置对象。 用于访问调试控制台,在不同的浏览器里效果可能不同。 console 对象常见的两个用途&#x…

【计算机操作系统】覆盖与交换

覆盖与交换 覆盖与交换是实现内存空间扩充的技术,虚拟存储技术后续会详细讲解 覆盖技术 为了解决程序大小超过物理内存总和的问题引入了覆盖技术 覆盖技术的思想: 将程序分为多个段(多个模块),常用的段常驻内存&…