Linux基础篇-逻辑卷管理

news2024/12/25 9:27:44

在这里插入图片描述

首先我们要知道,逻辑卷也来源于物理磁盘,只是将他们统一定义和重新分配空间。这一点非常重要,只有理解了这一定才能更好的理解逻辑卷和卷组。
本文介绍的是最常用的线性卷
什么是线性卷?复杂的定义没必要去看,简单来说就是1+1=2
你有两块磁盘,一块60G,一块30G,他们两块盘组成线性卷,就是60+30=90G
在这里插入图片描述

目录

  • 一、定义
  • 二、分析
  • 三、LVM相关命令:
    • 1.物理卷
      • 查看物理卷:pvs,pvscan,pvdisplay
      • 创建物理卷:pvcreate
      • 删除物理卷:pvremove
    • 2.卷组
      • 查看卷组:vgs,vgscan,vgdisplay
      • 创建卷组:vgcreate
      • 删除卷组:vgremove
    • 3.逻辑卷
      • 查看逻辑卷:lvs,lvscan,lvdisplay
      • 创建逻辑卷:lvcreate
      • 删除逻辑卷:lvremove
  • 二、卷组的扩容和缩容
    • 通过添加一个或多个空闲的物理卷来增加卷组的容量
  • 三、逻辑卷的扩容和缩容
    • 1. 增大逻辑卷和文件系统
      • 1.可选:如果卷组的空间不足以增大 LV,需要使用以下命令向卷组中添加新物理卷
      • 2.现在卷组足够大,根据你的需求执行以下步骤:
      • 3.当lv完成扩容之后,使用以下命令重新定义逻辑卷上的文件系统大小
      • 4.验证
    • 2. 缩小逻辑卷
      • 1.要将 *myvg* 卷组中 *mylv* 逻辑卷缩小到 64MB,需要使用以下命令:
      • 2.要将逻辑卷缩小64MB,需要使用以下命令
  • 四、卷组和逻辑卷的改名操作
    • 1. 重命名 LVM 逻辑卷
    • 2.重命名现有卷组
  • 总结:

一、定义

物理卷:故名思意,就是实际的磁盘。
卷组:将实际的物理卷按特定的方法组合到一起。
逻辑卷:对卷组的空间进行划分,形成新的分区。

二、分析

可以把物理卷想象成一个一个的相同,或者不同的杯子(暂时想成相同大小的杯子吧,更容易理解);
在这里插入图片描述

卷组就是将几个杯子放一起,来实现一个杯子完成不了的功能;
在这里插入图片描述
逻辑卷就是对卷组中划分出来空间的一种叫法。我们假设最上层的一个杯子是分出来的第一个逻辑卷。
对逻辑卷的扩容就是再给他加一层,这样第一层加第二层就变成了一个逻辑卷。
对卷组的扩容就是给底部再加入逻辑卷,也就是单独的杯子。

注意:这种想象类比的方法只可作为辅助理解线性卷,其他类型的逻辑卷并不能用这个例子解释!!!

三、LVM相关命令:

1.物理卷

查看物理卷:pvs,pvscan,pvdisplay

这三个命令显示的内容很显而易见,根据需要查询的信息的不同选择自己需要的命令实现目的就可以

[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <49.00g 4.00m
[root@localhost ~]# pvscan
  PV /dev/sda2   VG centos          lvm2 [<49.00 GiB / 4.00 MiB free]
  Total: 1 [<49.00 GiB] / in use: 1 [<49.00 GiB] / in no VG: 0 [0   ]
[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <49.00 GiB / not usable 3.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              12543
  Free PE               1
  Allocated PE          12542
  PV UUID               F8i4v0-kxMy-8AzN-XadE-zXbt-m8WT-K8p8Jp

创建物理卷:pvcreate

用法:pvcreate 磁盘名
这里将我新添加的磁盘sdb新建为物理卷,使用pvs命令查看物理卷

[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <49.00g 4.00m
[root@localhost ~]# lsblk
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
  ├─centos-root 253:0    0 47.5G  0 lvm  /
  └─centos-swap 253:1    0  1.5G  0 lvm  [SWAP]
sdb               8:16   0    8G  0 disk
sdc               8:32   0    5G  0 disk
sr0              11:0    1  4.4G  0 rom
[root@localhost ~]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <49.00g 4.00m
  /dev/sdb          lvm2 ---    8.00g 8.00g

删除物理卷:pvremove

需要注意的是,如果物理卷上层有卷组和逻辑卷,删除了物理卷,剧组和逻辑卷的内容也会丢失!!!

[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <49.00g 4.00m
  /dev/sdb          lvm2 ---    8.00g 8.00g
[root@localhost ~]# pvremove /dev/sdb
  Labels on physical volume "/dev/sdb" successfully wiped.
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <49.00g 4.00m

2.卷组

查看卷组:vgs,vgscan,vgdisplay

当逻辑卷组合成卷组之后,这时候单个物理磁盘无法满足的功能(例如:单个盘空间不足,磁盘太多挂载麻烦,不方便统一读写等),这时候就可以把卷组看成物理磁盘,可以对它进行分区和格式化等操作。

[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <49.00g 4.00m
[root@localhost ~]# vgscan
  Reading volume groups from cache.
  Found volume group "centos" using metadata type lvm2
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <49.00 GiB
  PE Size               4.00 MiB
  Total PE              12543
  Alloc PE / Size       12542 / 48.99 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               sL4abi-hl7c-tFoT-fWtG-OLH0-0PyV-DVyxLR

创建卷组:vgcreate

用法: vgcreate 卷组名 需要添加到卷组的物理卷(支持添加多个物理卷)

[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <49.00g 4.00m
[root@localhost ~]# vgcreate myvg /dev/sdb /dev/sdc
  Volume group "myvg" successfully created
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <49.00g  4.00m
  myvg     2   0   0 wz--n-  12.99g 12.99g

删除卷组:vgremove

同样,需要注意的是,删除了卷组,卷组所在逻辑卷中保存的数据也会丢失,需要谨慎操作!!!

[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <49.00g  4.00m
  myvg     2   0   0 wz--n-  12.99g 12.99g
[root@localhost ~]# vgremove myvg
  Volume group "myvg" successfully removed
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <49.00g 4.00m

3.逻辑卷

查看逻辑卷:lvs,lvscan,lvdisplay

逻辑卷类比到物理磁盘来看的话,就是一个个的分区,逻辑卷的详细信息会显示出当前逻辑卷位于哪个卷组以及物理卷

[root@localhost ~]# lvs
  LV   VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- 47.49g
  swap centos -wi-ao----  1.50g
[root@localhost ~]# lvscan
  ACTIVE            '/dev/centos/swap' [1.50 GiB] inherit
  ACTIVE            '/dev/centos/root' [47.49 GiB] inherit
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                Ly4QAv-cvlm-2Nji-Z3Dq-cvE4-8TYk-fh2Vmi
  LV Write Access        read/write
  LV Creation host, time localhost, 2023-05-26 05:30:01 +0800
  LV Status              available
  # open                 2
  LV Size                1.50 GiB
  Current LE             384
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                1cd8Xo-dmHc-scj7-Pczc-NINP-SYYq-GQcOw2
  LV Write Access        read/write
  LV Creation host, time localhost, 2023-05-26 05:30:01 +0800
  LV Status              available
  # open                 1
  LV Size                47.49 GiB
  Current LE             12158
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

创建逻辑卷:lvcreate

用法:lvcreate -n 逻辑卷名 -L 大小 卷组名
在这里,我们用刚刚建好的卷组myvg来创建一个大小为500M的逻辑卷,逻辑卷名为mylv

lvcreate -n mylv -L 500M myvg

需要注意的是,创建完成的逻辑卷并不能直接使用,还需要在逻辑卷中创建文件系统,例如,我这里为逻辑卷创建xfs文件系统

# mkfs.xfs /dev/myvg/mylv

meta-data=/dev/myvg/mylv isize=512 agcount=4, agsize=32000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=128000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=1368, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Discarding blocks...Done.

当格式化完成之后,我们就可以挂载逻辑卷并正常使用了

# mount /dev/myvg/mylv /mnt
# df -h
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/myvg-mylv 506528 29388 477140 6% /mnt

删除逻辑卷:lvremove

1.如果逻辑卷当前已挂载,卸载该卷:

# umount /mnt

2.如果在集群环境中存在逻辑卷,则在所有其激活的节点上取消激活逻辑卷。
首先需要使用lvdisplay命令查看逻辑卷的激活状态

lvdisplay

如果在输出中看到”LV Status”一栏显示”available”,表示逻辑卷已成功激活

对每个这样的节点运行以下命令,我们这里的示例为单节点:
lvchange -an vg-name/lv-name

# lvchange -an /dev/myvg/mylv

3.使用 lvremove 删除逻辑卷

# lvremove /dev/myvg/mylv
Do you really want to remove active logical volume "mylv"? [y/n]: y
Logical volume "mylv1" successfully removed

备注
激活逻辑卷,使用lvchange命令,并指定-ay 参数来激活逻辑卷。例如,如果要激活名为”mylv”的逻辑卷,可以使用以下命令:

  lvchange -ay /dev/vgname/mylv

其中,vgname为卷组名称,mylv为逻辑卷名称。这个命令会激活指定的逻辑卷。

二、卷组的扩容和缩容

卷组的扩容并不难理解,继续添加pv来扩大卷组的容量,实现的方法就是添加更多的pv

通过添加一个或多个空闲的物理卷来增加卷组的容量

# vgextend myvg /dev/vdb3
Physical volume "/dev/vdb3" successfully created.
Volume group "myvg" successfully extended

三、逻辑卷的扩容和缩容

1. 增大逻辑卷和文件系统

要增大逻辑卷的大小,需要使用 lvextend 命令。当扩展逻辑卷时,可以指定你想要增大的量,或者指定扩展它需要达到的大小。

先决条件

1.有一个现有逻辑卷(LV),其中包含一个文件系统。使用 df -Th 命令确定文件系统类型。

2.卷组中有足够的空间来扩展 LV 和文件系统。使用 vgs -o name,vgfree 命令确定可用空间。

1.可选:如果卷组的空间不足以增大 LV,需要使用以下命令向卷组中添加新物理卷

# vgextend myvg /dev/vdb3
Physical volume "/dev/vdb3" successfully created.
Volume group "myvg" successfully extended

2.现在卷组足够大,根据你的需求执行以下步骤:

按指定的大小扩展 LV,我这里是将mylv扩大到3G
注意:是扩大到3G,不是增加3G容量!!!

# lvextend -L 3G /dev/myvg/mylv
Size of logical volume myvg/mylv changed from 2.00 GiB (512 extents) to 3.00 GiB (768
extents).
Logical volume myvg/mylv successfully resized.

要扩展 mylv 逻辑卷使其占据 myvg 卷组中所有未分配的空间,请使用以下命令:

# lvextend -l +100%FREE /dev/myvg/mylv
Size of logical volume myvg/mylv changed from 10.00 GiB (2560 extents) to 6.35 TiB
(1665465 extents).
Logical volume myvg/mylv successfully resized.

lvcreate 命令一样,可以使用 lvextend 命令的 -l 参数来指定扩展数目,从而增大逻辑卷的大小。还可以使用此参数指定卷组的比例或者卷组中剩余空间的比例
注意:这里是增加3G容量!!!

 lvextend -l +3G /dev/myvg/mylv

3.当lv完成扩容之后,使用以下命令重新定义逻辑卷上的文件系统大小

因为此时的逻辑卷已经扩展,而文件系统中的记录信息并没有被同步,那这时候就需要同步文件系统中的记录
这里的/mnt是将扩容完成之后的lv挂载到了mnt目录,而不是系统本身的mnt目录!!!

xfs_growfs /mnt

meta-data=/dev/mapper/myvg-mylv isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 262144 to 524288

如果没有 -D 选项,xfs_growfs 将文件系统增大到底层设备支持的最大大小,也就是扩容之后的所有空间都会被使用,默认就是不添加参数,将扩容之后的所有空间都添加到文件系统中

4.验证

使用以下命令验证文件系统是否在增长:

 df -Th

2. 缩小逻辑卷

使用 lvreduce 命令来减小逻辑卷的大小

注意:GFS2 或者 XFS 文件系统不支持缩小!!!

如果您要缩小的逻辑卷包含一个文件系统,为了防止数据丢失,必须确定该文件系统没有使用将被缩小的逻辑卷中的空间。因此,建议在逻辑卷包含文件系统时使用 lvreduce 命令的 –resizefs 选项

当使用这个选项时,lvreduce 命令会在缩小逻辑卷前尝试缩小文件系统。如果缩小文件系统失败,就像文件系统已满或者文件系统不支持缩小等情况, lvreduce 命令将会执行失败,且不会尝试缩小逻辑卷,更有利于数据安全。

需要注意的是,你的需求是将文件系统缩小到某个大小还是减小某个大小!!!

1.要将 myvg 卷组中 mylv 逻辑卷缩小到 64MB,需要使用以下命令:

lvreduce --resizefs -L 64M myvg/mylv

2.要将逻辑卷缩小64MB,需要使用以下命令

在调整大小值前指定 - 符号表示该值将从逻辑卷的实际大小中减小。

# lvreduce --resizefs -L -64M myvg/mylv

四、卷组和逻辑卷的改名操作

1. 重命名 LVM 逻辑卷

  1. 如果逻辑卷当前已挂载,卸载该卷:

    # umount /mnt
    

    如果你的挂载点不是mnt,使用你的挂载点替换 /mnt

  2. 重命名现有逻辑卷:

    # lvrename myvg mylv mylv1
    Renamed "mylv" to "mylv1" in volume group "myvg"
    

    通过指定设备的完整路径来重命名逻辑卷:

    # lvrename /dev/myvg/mylv /dev/myvg/mylv1
    

2.重命名现有卷组

# vgrename myvg myvg1
Volume group "myvg" successfully renamed to "myvg1"

总结:

对于线性lvm的理解,还是按普通物理磁盘来类比

pv  ----- raid0         :相当于组合为raid0来增加单个设备的容量
vg ------ 物理磁盘       :相当于经过底层组合之后显示的一个大容量设备,比物理设备更灵活,可					                         以按需求来扩容或者缩容
lv  ------- 磁盘分区     :相当于在设备上的分区,也需要对其进行格式化创建文件系统才可以使用

好久不写博客,看到还有一篇未完成的草稿,拖了很久没有更新过博客了,索性咬咬牙写完了这篇文章,相比之前的思路,今天续写的内容实例变少了很多,但是依旧是干货满满,可能对于大部分人来说,还是没法理解lvm具体的原理,但是肯定也会对你有一点启发,后面的博客也会慢慢的更新出来,如果有特别想让我更新的内容,也可以直接私信或者评论告诉我,我抽空写出来。

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

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

相关文章

Python基础教程(二十七):urllib模块

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

软件开发和部署,蓝绿环境、灰度环境

发布策略 目前常见的发布策略有蓝绿发布、红黑发布、金丝雀&#xff08;灰度&#xff09;发布、滚动发布等 在项目迭代的过程中&#xff0c;不可避免需要”上线“。上线对应着部署&#xff0c;或者重新部署&#xff1b;部署对应着修改&#xff1b;修改则意味着风险。 蓝绿发…

竞赛选题 LSTM的预测算法 - 股票预测 天气预测 房价预测

0 简介 今天学长向大家介绍LSTM基础 基于LSTM的预测算法 - 股票预测 天气预测 房价预测 这是一个较为新颖的竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-senior/postgraduate 1 基于 Ke…

uni-app中的css3选择器使用

2.给 view 添加样式 .box view{ font-size: 40upx; color: #8A6DE9; } 3.想改变某一个view 样式 .box>view:nth-child(1){ background: #09BB07; } .box>view:nth-child(2){ background: red; } .box>view:nth-child(3){ background: yellow; } 注意&am…

MMDetection 目标检测 —— 环境搭建和基础使用

参考文档 开始你的第一步 — MMDetection 3.3.0 文档 依赖 步骤 0. 下载并安装 Anaconda。 步骤 1. 创建并激活一个 conda 环境。&#xff08;我选择的是python3.10&#xff09; conda create --name openmmlab python3.8 -y conda activate openmmlab 步骤 2. 基于 PyTo…

【算法基础】Newton求根法

文章目录 Newton求根法算法求解平方根 Newton求根法 1664年Newton提出了一种迭代求根的方法。这种方法有时也被叫做Raphson方法。虽然Newton更早发现了这种方法&#xff0c;但Raphson首先在自己的文章中介绍了这种方法。 该方法解决的问题如下。 给定一个方程&#xff1a; …

AXI学习笔记

文章目录 AXI口诀&#xff1a;AXI三种总线&#xff0c;三种接口&#xff0c;一个协议背景知识一、 AMBA&#xff1a;二、AXI2.1 通信协议与握手机制2.2 AXI协议特点2.3 三种AXI总线类型&#xff08;AXI4、AXI4-lite、AXI4-stream&#xff09;2.3.1 AXI通道&#xff08;5通道&am…

CleanMyMac中文版2024官方正式版下载!你的电脑清洁专家!

CleanMyMac中文版&#xff0c;你的电脑清洁专家&#xff01;✨&#x1f9f5; 你是否曾为电脑的卡顿和垃圾文件而烦恼&#xff1f;别担心&#xff0c;CleanMyMac中文版来帮你解决这些问题&#xff01;这款神奇的软件不仅可以帮助你清理垃圾文件&#xff0c;还能优化系统性能&…

循环的三种写法

一、for(i): for (int i0;i< arrayList.size();i){System.out.println(arrayList.get(i));} 最基本的循环方法。 二、for-each: 又称加强for &#xff0c;更简单的遍历集合。 三、迭代器: 迭代器是调用Java中的Iterator接口&#xff0c;该接口定义了三个方法分别是hasNex…

AI助手,办公提效好工具!

随着人工智能AI技术的发展&#xff0c;AI工具已经成为我们提高工作效率的重要工具。无论是日常办公、学习还是生活娱乐&#xff0c;AI工具都能为我们提供支持和帮助。下面小编就来和大家分享几款AI助手&#xff0c;方便大家了解和使用AI工具。 1. Kimi智能助手 Kimi智能助手是…

fastadmin配合定时任务

一个系统单纯到linux本身的定时任务&#xff0c;是很不方便的&#xff0c;需要结合起来使用定时任务 - 便捷的后台定时任务管理 – 基于ThinkPHP和Bootstrap的极速后台开发框架 1.安装插件 2.配置宝塔定时任务 3.自己用工具生成规则即可:Cron - 在线Cron表达式生成器

Vue3.4新增的defineModel的使用

define-model的作用 在3.3及之前的版本&#xff0c;父子组件之间的通讯&#xff0c;一直都是靠props&#xff08;父传子&#xff09;和emit&#xff08;子传父&#xff09;来实现。而define-model整合了这两种方法&#xff0c;只需要在父组件中定义define-model的方法&#xf…

肇庆具有资质等保机构有几家?在哪里?

在近期揭晓的“中国百强城市排行榜”中&#xff0c;广东省共有12个城市入选&#xff0c;其中包括肇庆。肇庆-山水之城&#xff0c;文化之韵&#xff0c;端砚之乡&#xff0c;岭南瑰宝&#xff0c;是一个非常有发展的城市&#xff0c;企业多多。这不不少肇庆企业在问&#xff0c…

MySQL——触发器(trigger)基本结构

1、修改分隔符符号 delimiter $$ $$可以修改 2、创建触发器函数名称 create trigger 函数名 3、什么样在操作触发&#xff0c;操作哪个表 after &#xff1a;……之后触发 before &#xff1a;……之后触发 insert &#xff1a;……之后触发 update &#xff1a;……之后触…

Flutter【组件】点击类型表单项

简介 flutter 点击表单项组件&#xff0c;适合用户输入表单的场景。 点击表单项组件是一个用户界面元素&#xff0c;通常用于表单或设置界面中&#xff0c;以便用户可以点击它们来选择或更改某些设置或输入内容。这类组件通常由一个标签和一个可点击区域组成&#xff0c;并且…

轻松ChatGPT的使用技巧,让你的生活更智能

ChatGPT&#xff0c;由OpenAI的GPT-3.5架构支持&#xff0c;已经彻底改变了我们与人工智能互动的方式。这个先进的语言模型被证明是一种多功能的工具&#xff0c;能够处理各种对话任务。不过&#xff0c;用户可以通过一些技巧和窍门&#xff0c;进一步提升使用ChatGPT的体验&am…

世界是软件定义的 - 正如硬件公司所证明的那样

很难相信&#xff0c;马克安德森&#xff08;Marc Andressen&#xff09;在13年前写下了他著名的博客&#xff0c;题为“软件正在吞噬世界”。在这篇文章中&#xff0c;他谈到了现代软件组织对传统企业造成的破坏。 十三年后&#xff0c;即使面对英伟达的平流层估值&#xff0…

echarts隔行背景色

看了下使用说明&#xff0c;试了半天终于搞对了 参考文档&#xff1a;Documentation - Apache ECharts option {xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [120, 200, 150, 80, 70, 110, 130],type: bar,mar…

代码随想录第30天|贪心算法

122.买卖股票的最佳时机II 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。 在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买&#xff0c;然后在 同一天 出售。 返回 你能获得…

装备制造业CRM解决方案

01、数字化转型驱动企业&#xff0c;向“以客户需求驱动创新生产”的智能制造业转变 我国装备制造业经过多年的发展&#xff0c;取得了令人瞩目的成就&#xff0c;形成了门类齐全、具有相当规模和一定水平的产业体系&#xff1b;主要包含通用设备、专用设备、电气机械、交通运…