Linux LVM分区实战案例配置图文详解(含扩容缩容管理)
bigegpt 2024-10-05 13:44 3 浏览
请关注本头条号,每天坚持更新原创干货技术文章。
如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习
前言
本文将列举最常用的LVM磁盘管理案例,分2个案例4种场景,涵盖最常用的使用案例,希望能帮助读者能很好理解LVM的原理、操作及使用时的注意点。
案例1:目前硬盘的空间不足,原硬盘的根分区是LVM分区。想通过加新硬盘的方式,扩展原来根分区的大小。即把新加硬盘的空间加入到原来的根分区。
Step1:在加硬盘之前先查看硬盘资源情况:
执行lsblk可以看到vda2是物理分区,vda2使用了LVM逻辑分区,分成了两个分区,一个swap,一个是根分区。
[root@zcwyou ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 240G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 39G 0 part
├─centos-root 253:0 0 35.1G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
查看当前硬盘分区情况
执行df -TH可以看到根分区使用了xfs文件系统,物理分区vda1挂载到/boot,同样使用xfs文件系统
[root@zcwyou ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 38G 940M 37G 3% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 8.9M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/vda1 xfs 1.1G 150M 914M 15% /boot
tmpfs tmpfs 398M 0 398M 0% /run/user/0
查看当前分区与挂载点
执行parted -l可以看到磁盘vda的分区情况
[root@zcwyou ~]# parted -l
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 258GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 42.9GB 41.9GB primary lvm
查看当前分区与文件系统
Step2:加新硬盘后查看硬盘资源情况:
执行lsblk可以看到新硬盘vdb
[root@zcwyou ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 240G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 39G 0 part
├─centos-root 253:0 0 35.1G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
vdb 252:16 0 60G 0 disk
查看新硬件连接情况
执行parted -l可以看到新硬盘vdb
[root@zcwyou ~]# parted -l
Error: /dev/vdb: unrecognised disk label
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
使用parted查看新硬盘连接情况
使用parted查看新硬盘连接情况
Step3:使用fdisk给新硬盘分区(可选):
[root@zcwyou ~]# fdisk /dev/vdb
Command (m for help): n 输入n表示建立新分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p 输入p表示建立主分区,MBR主分区最多4个
Partition number (1-4, default 1): 直接回车使用默认即可,表示从最可用低值开始
First sector (2048-125829119, default 2048): 扇区开始的位置,直接回车使用默认即可
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-125829119, default 125829119): 扇区结束的位置,直接回车使用剩下的所有空间。
Using default value 125829119
Partition 1 of type Linux and of size 60 GiB is set
Command (m for help): t 输入t表示修改分区的系统ID
Selected partition 1
Hex code (type L to list all codes): 8e输入8e表示修改分区的系统ID为LVM
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): w 输入w表示保存分区信息
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
使用fdisk给新硬盘分区,界面如下:
使用fdisk给新硬盘分区
Step4:加入原PV组:
扫描pv,看到PV组的成员以及VG组的名字
[root@zcwyou ~]# pvscan
PV /dev/vda2 VG centos lvm2 [<39.00 GiB / 4.00 MiB free]
扫描当前LVM组的PV
扫描vg,看到vg组名字为centos
[root@zcwyou ~]# vgscan
Reading volume groups from cache.
Found volume group "centos" using metadata type lvm2
扫描当前系统中的vg组情况
扫描当前系统中的vg组情况
图中的组名为cl,根据自己的环境中的实际情况进行调整。如果没有执行Step3,则把整个vdb加入PV组:
[root@zcwyou ~]# pvcreate /dev/vdb
如果执行了Step3,则把vdb1加入PV组
[root@zcwyou ~]# pvcreate /dev/vdb1
因为刚刚分区了,有了vdb1,所以可以把该分区加入到pv组中。
新分区成功加入PV组
检查
[root@zcwyou ~]# pvscan
PV /dev/vda2 VG centos lvm2 [<39.00 GiB / 4.00 MiB free]
PV /dev/vdb1 lvm2 [<60.00 GiB]
扫描pv情况
扫描pv情况
查询pv的信息
[root@zcwyou ~]# pvdisplay
查询pv的信息
如果要删除物理卷,执行命令:
[root@zcwyou ~]# pvremove /dev/vdb1
Step5:加入原VG组:
加入VG组
[root@zcwyou ~]# vgextend centos /dev/vdb1
把vdb1加入原VG组
把vdb1加入原VG组
注意,图中的VG组为cl,根据自己的实际情况自行调整
检查,留意空间是否变大了:
[root@zcwyou ~]# vgdisplay
留意空闲的空间
Free PE / Size XXXX / XXX GiB
检查vg组是否更新
检查vg组是否更新
从VG组删除:
[root@zcwyou ~]# vgreduce centos /dev/vdb1
Step6:扩展LV卷
查看原有的LV名字,可以看到一个LV名为root,一个LV名为swap:
[root@zcwyou ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <35.12g
swap centos -wi-ao---- <3.88g
使用lvs命令查询当前lv信息
使用lvs命令查询当前lv信息
以扩展LV卷为例:
变更LV逻辑卷的大小三种方式,只需要采用其中一种就行:
- 定义逻辑卷最终大小:
[root@zcwyou ~]# lvresize -L 40g /dev/centos/root
- 定义逻辑卷要添加减少的大小:
[root@zcwyou ~]# lvresize -L +20g /dev/centos/root
- 把vg组剩下所有可用的空间加入LV卷
[root@zcwyou ~]# lvresize -l +100%FREE /dev/centos/root
把vg组剩下所有可用的空间加入LV卷
Step7:检查磁盘错误,前提是必须先卸载文件系统,对于根分区,不能在线执行此命令:
如果原来的文件系统是EXT2/3/4,执行以下指令
[root@zcwyou ~]# e2fsck -f /dev/centos/root
对于正在挂载的文件系统,则显示以下错误:
使用e2fsck检查磁盘错误
使用e2fsck检查磁盘错误
如果原来的文件系统是xfs,执行以下指令
[root@zcwyou ~]# xfs_ncheck /dev/centos/root
Step8:扩展文件系统大小:
如果原来的文件系统是EXT2/3/4,执行以下指令更新文件系统信息
[root@zcwyou ~]# resize2fs -f /dev/centos/root
如果原来的文件系统是xfs,执行以下指令更新文件系统信息
[root@zcwyou ~]# xfs_growfs /dev/centos/root
更新xfs文件系统信息
更新xfs文件系统信息
检查逻辑卷状态
[root@zcwyou ~]# lvdisplay
检查逻辑卷最新状态
检查逻辑卷最新状态
可以看到lv的容量已经更新了。
Step9:检查文件系统大小:
[root@zcwyou ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 103G 941M 102G 1% /
检查调整过后的文件系统大小
检查调整过后的文件系统大小
可以看到根分区的大小已经成功扩展!
接下来我们看看其他案例
案例2:目前硬盘的空间充足,但原分区划分不合理。比如根分区小,不够用。/home分区过大过剩。
前提条件:
根分区和/home分区都是LVM。并且/home不能是XFS文件系统,因为XFS不支持缩小空间。
系统可以重启
场景1:假设/home的文件系统是XFS或者/home里的资料已经做好了安全备份,这时可以直接把/home分区删除。注意,此方法需要重启系统。
Step1:修改fstab配置
[root@zcwyou ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 54G 939M 53G 2% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 8.9M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/mapper/centos-home xfs 199G 34M 199G 1% /home
/dev/vda1 xfs 1.1G 150M 915M 15% /boot
tmpfs tmpfs 398M 0 398M 0% /run/user/0
编辑/etc/fstab,
[root@zcwyou ~]# vi /etc/fstab
删除关于/home的行,
如果不会vi命令,执行以下命令一键删除关于/home的行
sed -i '/home/d' /etc/fstab
然后重启系统
[root@zcwyou ~]# reboot
Step2:删除LV
重启后:
[root@localhost ~]# df -TH /home/
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 54G 940M 53G 2% /
可以看到现在的/目录是挂在/centos-root上的,跟/目录属于同一分区。
扫描LV
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home centos -wi-a----- 20.00g
root centos -wi-ao---- 50.00g
swap centos -wi-ao---- <3.88g
记下VL名称与VG名称。
删除对应的LV
[root@zcwyou ~]# lvremove /dev/centos/home
删除LV后,应该可以得到空闲的VG空间
[root@zcwyou ~]# vgdisplay
Free PE / Size 42271 / 165.12 GiB
Step3:扩展LV卷
查看原有的LV名字,可以看到一个LV名为root,一个LV名为swap:
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <35.12g
swap centos -wi-ao---- <3.88g
以扩展LV卷为例:
变更LV逻辑卷的大小三种方式,只需要采用其中一种就行:
- 定义逻辑卷最终大小:
[root@zcwyou ~]# lvresize -L 40g /dev/centos/root
- 定义逻辑卷要添加减少的大小:
[root@zcwyou ~]# lvresize -L +20g /dev/centos/root
- 把vg组可用的空间加入LV卷
[root@zcwyou ~]# lvresize -l +100%FREE /dev/centos/root
Step4:检查磁盘错误,前提是必须先卸载文件系统,对于根分区,不能在线执行此命令:
如果原来的文件系统是EXT2/3/4,执行以下指令
[root@zcwyou ~]# e2fsck -f /dev/centos/root
如果原来的文件系统是xfs,执行以下指令
[root@zcwyou ~]# xfs_ncheck /dev/centos/root
Step5:扩展文件系统大小:
如果原来的文件系统是EXT2/3/4,执行以下指令更新文件系统信息
[root@zcwyou ~]# resize2fs -f /dev/centos/root
如果原来的文件系统是xfs,执行以下指令更新文件系统信息
[root@zcwyou ~]# xfs_growfs /dev/centos/root
检查逻辑卷状态
[root@zcwyou ~]# lvdisplay
Step6:检查文件系统大小:
[root@zcwyou ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 253G 940M 252G 1% /
场景2:假设/home的文件系统是EXT2/3/4,原理是把/home的分区缩小,/分区增大。/home和/分区必须是LVM分区。
Step1:前期准备
[root@zcwyou ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 43G 939M 42G 3% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 8.9M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/mapper/centos-home ext4 207G 63M 196G 1% /home
/dev/vda1 xfs 496M 141M 355M 29% /boot
tmpfs tmpfs 398M 0 398M 0% /run/user/0
可以看到根目录/的空间很小,/home的空间是207G,并且/home的文件系统是ext系列的,支持LVM缩小。如果是XFS,则不支持缩小。
修改fstab配置
[root@zcwyou ~]# vi /etc/fstab
注释掉/home的行,即前面加#号
/dev/mapper/centos-home /home ext4 defaults 1 2
重启系统
[root@zcwyou ~]# reboot
Step2:检查磁盘错误,前提是必须先卸载文件系统,对于根分区,不能在线执行此命令:
查看LVM的基本情况:
[root@zcwyou ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home centos -wi-ao---- <195.53g
root centos -wi-ao---- 40.00g
swap centos -wi-ao---- 4.00g
记下LV名称和VG名称
[root@zcwyou ~]# e2fsck -f /dev/centos/home
Step3:缩小文件系统大小和LV大小:
缩小文件系统,更新文件系统信息
[root@zcwyou ~]# resize2fs /dev/centos/home 10g
减少LV大小
[root@zcwyou ~]# lvresize -L 10g /dev/centos/home
编辑/etc/fstab
[root@zcwyou ~]# vi /etc/fstab
把刚刚加入的#号删除
/dev/mapper/centos-home /home ext4 defaults 1 2
重新挂载文件系统
[root@zcwyou ~]# mount -a
检查调整后的文件系统,看到9.9G
[root@zcwyou ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 43G 939M 42G 3% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 8.9M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/vda1 xfs 496M 141M 355M 29% /boot
tmpfs tmpfs 398M 0 398M 0% /run/user/0
/dev/mapper/centos-home ext4 11G 38M 9.9G 1% /home
Step4:扩展LV卷
查看原有的LV名字,可以看到一个LV名为root,一个LV名为swap:
[root@zcwyou ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <35.12g
swap centos -wi-ao---- <3.88g
[root@zcwyou ~]# vgdisplay
看到空闲空间
Free PE / Size 47495 / <185.53 GiB
以扩展LV卷为例:
变更LV逻辑卷的大小三种方式,只需要采用其中一种就行:
- 定义逻辑卷最终大小:
[root@zcwyou ~]# lvresize -L 40g /dev/centos/root
- 定义逻辑卷要添加减少的大小:
[root@zcwyou ~]# lvresize -L +20g /dev/centos/root
- 把vg组可用的空间加入LV卷
[root@zcwyou ~]# lvresize -l +100%FREE /dev/centos/root
Step5:检查磁盘错误,前提是必须先卸载文件系统,对于根分区,不能在线执行此命令:
如果原来的文件系统是EXT2/3/4,执行以下指令
[root@zcwyou ~]# e2fsck -f /dev/centos/root
如果原来的文件系统是xfs,执行以下指令
[root@zcwyou ~]# xfs_ncheck /dev/centos/root
Step6:扩展文件系统大小:
如果原来的文件系统是EXT2/3/4,执行以下指令更新文件系统信息
[root@zcwyou ~]# resize2fs -f /dev/centos/root
如果原来的文件系统是xfs,执行以下指令更新文件系统信息
[root@zcwyou ~]# xfs_growfs /dev/centos/root
检查逻辑卷状态
[root@zcwyou ~]# vgdisplay
看到空闲空间为0
Free PE / Size 0 / 0
Step7:检查文件系统大小:
[root@zcwyou ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 243G 940M 242G 1% /
场景3:针对KVM虚拟机,把虚拟机关机后对原硬盘扩充,重新开机后,进入系统使用fdisk创建一个新分区
Step1:创建新分区:
[root@zcwyou ~]# fdisk /dev/vda
Command (m for help): n 输入n表示建立新分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p 输入p表示建立主分区,MBR主分区最多4个
Partition number (3-4, default 3): 直接回车使用默认即可,表示从最可用低值开始
First sector (2048-125829119, default 20480): 扇区开始的位置,直接回车使用默认即可
Using default value 20480
Last sector, +sectors or +size{K,M,G} (2048-125829119, default 125829119): 扇区结束的位置,直接回车使用剩下的所有空间。
Using default value 125829119
Partition 3 of type Linux and of size 60 GiB is set
Command (m for help): t 输入t表示修改分区的系统ID
Selected partition 1
Hex code (type L to list all codes): 8e输入8e表示修改分区的系统ID为LVM
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): w 输入w表示保存分区信息
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Step2:查看新分区:
[root@zcwyou ~]# lsblk
应该可以看到类似于标识为vda3的新分区,并且没有挂载点。
Step3:加入原PV组:
扫描pv,看到PV组的成员以及VG组的名字
[root@zcwyou ~]# pvscan
PV /dev/vda2 VG centos lvm2 [<39.00 GiB / 4.00 MiB free]
扫描vg,看到vg组名字为centos
[root@zcwyou ~]# vgscan
Reading volume groups from cache.
Found volume group "centos" using metadata type lvm2
把vdb3加入PV组
[root@zcwyou ~]# pvcreate /dev/vdb1
检查
[root@zcwyou ~]# pvscan
PV /dev/vdb3 lvm2 [<60.00 GiB]
[root@zcwyou ~]# pvdisplay
如果要删除物理卷,执行命令:
[root@zcwyou ~]# pvremove /dev/vdb3
Step4:加入原VG组:
加入VG组
[root@zcwyou ~]# vgextend centos /dev/vdb1
检查:
[root@zcwyou ~]# vgdisplay
留意空闲的空间
Free PE / Size XXXX / XXX GiB
从VG组删除:
[root@zcwyou ~]# vgreduce centos /dev/vdb1
Step5:扩展LV卷
查看原有的LV名字,可以看到一个LV名为root,一个LV名为swap:
[root@zcwyou ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <35.12g
swap centos -wi-ao---- <3.88g
以扩展LV卷为例:
变更LV逻辑卷的大小三种方式,只需要采用其中一种就行:
- 定义逻辑卷最终大小:
[root@zcwyou ~]# lvresize -L 40g /dev/centos/root
- 定义逻辑卷要添加减少的大小:
[root@zcwyou ~]# lvresize -L +20g /dev/centos/root
- 把vg组剩下所有可用的空间加入LV卷
[root@zcwyou ~]# lvresize -l +100%FREE /dev/centos/root
Step6:检查磁盘错误,前提是必须先卸载文件系统,对于根分区,不能在线执行此命令:
如果原来的文件系统是EXT2/3/4,执行以下指令
[root@zcwyou ~]# e2fsck -f /dev/centos/root
如果原来的文件系统是xfs,执行以下指令
[root@zcwyou ~]# xfs_ncheck /dev/centos/root
Step7:扩展文件系统大小:
如果原来的文件系统是EXT2/3/4,执行以下指令更新文件系统信息
[root@zcwyou ~]# resize2fs -f /dev/centos/root
如果原来的文件系统是xfs,执行以下指令更新文件系统信息
[root@zcwyou ~]# xfs_growfs /dev/centos/root
检查逻辑卷状态
[root@zcwyou ~]# lvdisplay
Step8:检查文件系统大小:
[root@zcwyou ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 103G 941M 102G 1% /
总结
善于利用LVM,能灵活按需求调整分区大小,但请注意,调整分区有大风险,调整前请备好数据。
本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/rmxx/630.html
点击了解更多,快速查看更多的技术文章列表。
相关推荐
- C#.NET Autofac 详解(c# autoit)
-
简介Autofac是一个成熟的、功能丰富的.NET依赖注入(DI)容器。相比于内置容器,它额外提供:模块化注册、装饰器(Decorator)、拦截器(Interceptor)、强o的属性/方法注...
- webapi 全流程(webapi怎么部署)
-
C#中的WebAPIMinimalApi没有控制器,普通api有控制器,MinimalApi是直达型,精简了很多中间代码,广泛适用于微服务架构MinimalApi一切都在组控制台应用程序类【Progr...
- .NET外挂系列:3. 了解 harmony 中灵活的纯手工注入方式
-
一:背景1.讲故事上一篇我们讲到了注解特性,harmony在内部提供了20个HarmonyPatch重载方法尽可能的让大家满足业务开发,那时候我也说了,特性虽然简单粗暴,但只能解决95%...
- C# 使用SemanticKernel调用本地大模型deepseek
-
一、先使用ollama部署好deepseek大模型。具体部署请看前面的头条使用ollama进行本地化部署deepseek大模型二、创建一个空的控制台dotnetnewconsole//添加依赖...
- C#.NET 中间件详解(.net core中间件use和run)
-
简介中间件(Middleware)是ASP.NETCore的核心组件,用于处理HTTP请求和响应的管道机制。它是基于管道模型的轻量级、模块化设计,允许开发者在请求处理过程中插入自定义逻辑。...
- IoC 自动注入:让依赖注册不再重复劳动
-
在ASP.NETCore中,IoC(控制反转)功能通过依赖注入(DI)实现。ASP.NETCore有一个内置的依赖注入容器,可以自动完成依赖注入。我们可以结合反射、特性或程序集扫描来实现自动...
- C#.NET 依赖注入详解(c#依赖注入的三种方式)
-
简介在C#.NET中,依赖注入(DependencyInjection,简称DI)是一种设计模式,用于实现控制反转(InversionofControl,IoC),以降低代码耦合、提高可...
- C#从零开始实现一个特性的自动注入功能
-
在现代软件开发中,依赖注入(DependencyInjection,DI)是实现松耦合、模块化和可测试代码的一个重要实践。C#提供了优秀的DI容器,如ASP.NETCore中自带的Micr...
- C#.NET 仓储模式详解(c#仓库货物管理系统)
-
简介仓储模式(RepositoryPattern)是一种数据访问抽象模式,它在领域模型和数据访问层之间创建了一个隔离层,使得领域模型无需直接与数据访问逻辑交互。仓储模式的核心思想是将数据访问逻辑封装...
- C#.NET 泛型详解(c# 泛型 滥用)
-
简介泛型(Generics)是指在类型或方法定义时使用类型参数,以实现类型安全、可重用和高性能的数据结构与算法为什么需要泛型类型安全防止“装箱/拆箱”带来的性能损耗,并在编译时检测类型错误。可重用同一...
- 数据分析-相关性分析(相关性 分析)
-
相关性分析是一种统计方法,用于衡量两个或多个变量之间的关系强度和方向。它通过计算相关系数来量化变量间的线性关系,从而帮助理解变量之间的相互影响。相关性分析常用于数据探索和假设检验,是数据分析和统计建模...
- geom_smooth()函数-R语言ggplot2快速入门18
-
在每节,先运行以下这几行程序。library(ggplot2)library(ggpubr)library(ggtext)#用于个性化图表library(dplyr)#用于数据处理p...
- 规范申报易错要素解析(规范申报易错要素解析)
-
为什么要规范申报?规范申报是以满足海关监管、征税、统计等工作为目的,纳税义务人及其代理人依法向海关如实申报的行为,也是海关审接单环节依法监管的重要工作。企业申报的内容须符合《中华人民共和国海关进出口货...
- 「Eurora」海关编码归类 全球海关编码查询 关务服务
-
海关编码是什么? 海关编码即HS编码,为编码协调制度的简称。 其全称为《商品名称及编码协调制度的国际公约》(InternationalConventionforHarmonizedCo...
- 9月1日起,河南省税务部门对豆制品加工业试行新政7类豆制品均适用投入产出法
-
全媒体记者杨晓川报道9月2日,记者从税务部门获悉,为减轻纳税人税收负担,完善农产品增值税进项税额抵扣机制,根据相关规定,结合我省实际情况,经广泛调查研究和征求意见,从9月1日起,我省税务部门对豆制品...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- libcrypto.so (74)
- linux安装minio (74)
- ubuntuunzip (67)
- vscode使用技巧 (83)
- secure-file-priv (67)
- vue阻止冒泡 (67)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)