许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  LVM基础教程(博文十八)

LVM基础教程(博文十八)

阅读数 6
点赞 0
article_banner

一、简述

   LVM是 Logical Volume Manager(逻辑卷管理)的简写,可以理解为我们在不停机的状态下对各个分区大小进行动态调整,且调整过程中不会影响我们的数据。

   LVM: Logical Volume Manager,Version:2,也是我们使用时的LVM2工具。

二、使用

   1.基础

       1.1)图示模型
       1.2)基本术语

           物理存储介质(PhysicalStorageMedia):指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。

           物理卷(Physical Volume,PV):指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

           卷组(Volume Group,VG):类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。

           逻辑卷(Logical Volume,LV):类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。

           物理块(Physical Extent,PE):每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。

           逻辑块(Logical Extent,LE):逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

           简述即如下:

           PV:物理磁盘分区

           VG:所有PV组成一个大的VG才能被分区为LV

           LV:VG中划分的逻辑单元

       1.3)LVM工具
[root@wybaron_host1015 ~]# yum install -y lvm2* [root@wybaron_host1015 ~]# rpm -qa | grep lvm2lvm2-2.02.177-4.el7.x86_64lvm2-devel-2.02.177-4.el7.x86_64lvm2-sysvinit-2.02.177-4.el7.x86_64lvm2-libs-2.02.177-4.el7.x86_64lvm2-cluster-2.02.177-4.el7.x86_64lvm2-lockd-2.02.177-4.el7.x86_64lvm2-python-libs-2.02.177-4.el7.x86_64lvm2-python-boom-0.8.5-4.el7.noarch
# PV创建前需要设置分区类型为8e ,分区类型8e表示为LVM分区[root@wybaron_host1015 ~]# fdisk /dev/sdc 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。 Device does not contain a recognized partition table使用磁盘标识符 0x3c3d1878 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):nPartition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): Using default response p分区号 (1-4,默认 1):起始 扇区 (2048-41943039,默认为 2048): 将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+4G分区 1 已设置为 Linux 类型,大小设为 4 GiB 命令(输入 m 获取帮助):nPartition type:   p   primary (1 primary, 0 extended, 3 free)   e   extendedSelect (default p): Using default response p分区号 (2-4,默认 2):起始 扇区 (8390656-41943039,默认为 8390656):将使用默认值 8390656Last 扇区, +扇区 or +size{K,M,G} (8390656-41943039,默认为 41943039):+4G分区 2 已设置为 Linux 类型,大小设为 4 GiB 命令(输入 m 获取帮助):nPartition type:   p   primary (2 primary, 0 extended, 2 free)   e   extendedSelect (default p): Using default response p分区号 (3,4,默认 3):起始 扇区 (16779264-41943039,默认为 16779264):将使用默认值 16779264Last 扇区, +扇区 or +size{K,M,G} (16779264-41943039,默认为 41943039):+5G分区 3 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):nPartition type:   p   primary (3 primary, 0 extended, 1 free)   e   extendedSelect (default e): p已选择分区 4起始 扇区 (27265024-41943039,默认为 27265024):将使用默认值 27265024Last 扇区, +扇区 or +size{K,M,G} (27265024-41943039,默认为 41943039):+5G分区 4 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):t分区号 (1-4,默认 4):1Hex 代码(输入 L 列出所有代码):8e已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):t分区号 (1-4,默认 4):2Hex 代码(输入 L 列出所有代码):8e已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):t分区号 (1-4,默认 4):3Hex 代码(输入 L 列出所有代码):8e已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):t分区号 (1-4,默认 4):Hex 代码(输入 L 列出所有代码):8e已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):p 磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x3c3d1878    设备 Boot      Start         End      Blocks   Id  System/dev/sdc1            2048     8390655     4194304   8e  Linux LVM/dev/sdc2         8390656    16779263     4194304   8e  Linux LVM/dev/sdc3        16779264    27265023     5242880   8e  Linux LVM/dev/sdc4        27265024    37750783     5242880   8e  Linux LVM 命令(输入 m 获取帮助):wThe partition table has been altered! Calling ioctl() to re-read partition table.正在同步磁盘。
# 通知内核识别分区[root@wybaron_host1015 ~]# partx -a /dev/sdcpartx: /dev/sdc: error adding partitions 1-4[root@wybaron_host1015 ~]# partx -a /dev/sdcpartx: /dev/sdc: error adding partitions 1-4

   2.PV管理工具

       2.1)命令  
pvs 显示pv的简要信息pvdisplay 显示pv的详细信息pvcreate /dev/DEVICE 创建pvpvmove /dev/DEVICE1 /dev/DEVICE2 移动/dev/DEVICE1上的数据至/dev/DEVICE2上
       2.2)案例
# 查看系统已有pv信息[root@wybaron_host1015 ~]# pvs  PV         VG     Fmt  Attr PSize   PFree  /dev/sda2  centos lvm2 a--  <19.00g    0 [root@wybaron_host1015 ~]# pvdisplay  --- Physical volume ---  PV Name               /dev/sda2  VG Name               centos  PV Size               <19.00 GiB / not usable 3.00 MiB  Allocatable           yes (but full)  PE Size               4.00 MiB  Total PE              4863  Free PE               0  Allocated PE          4863  PV UUID               f4PO9R-OTuL-2Biq-4sSJ-Ua6S-eCoR-xeFygM
# 创建一些新的pv并查看其信息[root@wybaron_host1015 ~]# ls /dev/sdc[0-9]/dev/sdc1  /dev/sdc2  /dev/sdc3  /dev/sdc4[root@wybaron_host1015 ~]# pvcreate /dev/sdc[1-3]  Physical volume "/dev/sdc1" successfully created.  Physical volume "/dev/sdc2" successfully created.  Physical volume "/dev/sdc3" successfully created.[root@wybaron_host1015 ~]# pvs /dev/sdc[1-3]  PV         VG Fmt  Attr PSize PFree  /dev/sdc1     lvm2 ---  4.00g 4.00g  /dev/sdc2     lvm2 ---  4.00g 4.00g  /dev/sdc3     lvm2 ---  5.00g 5.00g[root@wybaron_host1015 ~]# pvdisplay /dev/sdc[1-3]  "/dev/sdc2" is a new physical volume of "4.00 GiB"  --- NEW Physical volume ---  PV Name               /dev/sdc2  VG Name                 PV Size               4.00 GiB  Allocatable           NO  PE Size               0     Total PE              0  Free PE               0  Allocated PE          0  PV UUID               yMBIbO-CpCo-XZ5t-nJlT-ATUD-VaVl-X4PFSV     "/dev/sdc3" is a new physical volume of "5.00 GiB"  --- NEW Physical volume ---  PV Name               /dev/sdc3  VG Name                 PV Size               5.00 GiB  Allocatable           NO  PE Size               0     Total PE              0  Free PE               0  Allocated PE          0  PV UUID               Z340dn-Jsbz-Fb6O-bKex-teRn-eO4X-wbyO19     "/dev/sdc1" is a new physical volume of "4.00 GiB"  --- NEW Physical volume ---  PV Name               /dev/sdc1  VG Name                 PV Size               4.00 GiB  Allocatable           NO  PE Size               0     Total PE              0  Free PE               0  Allocated PE          0  PV UUID               JfuURa-lECT-6vWJ-b2CY-41un-JDN9-YahCf4

   3.VG管理工具

       3.1)命令
vgs 显示vg简要信息vgdisplay 显示vg的详细信息vgcreate [-s #[kKmMgGtTpPeE]] VG_name PV_names 创建一个新的vgvgextend VG_name PV_name[s] 添加一个或多个新的pv至已有vg中vgremove VG_name 彻底删除一个VG,但是需要注意其中的数据vgreduce VG_name PV_name[s] 从已有vg中移除一个或多个pv注意:要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令察看一个该物理卷信息,如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其它地方。## 即从已有vg中移除一个或多个pv前首先要做 pvmove
       3.2)案例
# 查看系统已有vg信息[root@wybaron_host1015 ~]# vgs  VG     #PV #LV #SN Attr VSize VFree  centos   1   2   0 wz--n- <19.00g    0 [root@wybaron_host1015 ~]# 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               <19.00 GiB  PE Size               4.00 MiB  Total PE              4863  Alloc PE / Size       4863 / <19.00 GiB  Free  PE / Size       0 / 0     VG UUID               3HBCQo-w7ct-PQw9-tasA-dkCZ-MBSg-UMqiPR
# 创建一些新的vg并查看其信息[root@wybaron_host1015 ~]# vgcreate -s 16m VG_data /dev/sdc[1-3]  Volume group "VG_data" successfully created[root@wybaron_host1015 ~]# vgs VG_data   VG      #PV #LV #SN Attr VSize VFree   VG_data   3   0   0 wz--n- 12.95g 12.95g[root@wybaron_host1015 ~]# vgdisplay VG_data   --- Volume group ---  VG Name               VG_data  System ID               Format                lvm2  Metadata Areas        3  Metadata Sequence No  1  VG Access             read/write  VG Status             resizable  MAX LV                0  Cur LV                0  Open LV               0  Max PV                0  Cur PV                3  Act PV                3  VG Size               12.95 GiB  PE Size               16.00 MiB  Total PE              829  Alloc PE / Size       0 / 0     Free  PE / Size       829 / 12.95 GiB  VG UUID               N2x9N0-E8bo-aJND-hVic-yFRJ-DezU-1ec31j

   4.LV管理工具

       4.1)命令
lvs 显示lv的简要信息lvdisplay 显示lv的详细信息lvcreate -L #[mMgGtT] -n LV_name VG_name 在已有的VG上创建一个名为LV_name的lvlvremove /dev/VG_name/LV_name  删除VG_name上的LV_name 
       4.2)案例
# 查看系统已有lv信息[root@wybaron_host1015 ~]# lvs  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  root centos -wi-ao---- <17.00g                                                      swap centos -wi-ao----   2.00g                                                    [root@wybaron_host1015 ~]# lvdisplay   --- Logical volume ---  LV Path                /dev/centos/swap  LV Name                swap  VG Name                centos  LV UUID                DCXYpR-iqGL-9jfh-gd8W-AC6t-hbVy-O0A2vL  LV Write Access        read/write  LV Creation host, time node1.localdomain, 2018-07-27 17:30:21 +0800  LV Status              available  # open 2  LV Size                2.00 GiB  Current LE             512  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                zXwvOU-zhfB-jTc3-gbBM-mgZR-mckN-B3kA9r  LV Write Access        read/write  LV Creation host, time node1.localdomain, 2018-07-27 17:30:21 +0800  LV Status              available  # open 1  LV Size                <17.00 GiB  Current LE             4351  Segments               1  Allocation             inherit  Read ahead sectors     auto  - currently set to     8192  Block device           253:0
# 创建一些新的lv并查看其信息[root@wybaron_host1015 ~]# lvcreate -L 7g -n web1 VG_data   Logical volume "web1" created.[root@wybaron_host1015 ~]# lvcreate -L 3g -n web2 VG_data   Logical volume "web2" created.                                                 [root@wybaron_host1015 ~]# lvs VG_data  LV   VG      Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  web1 VG_data -wi-a----- 7.00g                                                      web2 VG_data -wi-a----- 3.00g                                                    [root@wybaron_host1015 ~]# lvdisplay VG_data  --- Logical volume ---  LV Path                /dev/VG_data/web1  LV Name                web1  VG Name                VG_data  LV UUID                z22ARK-VpMU-oU2S-naPa-MfQ9-PWhP-gMS99x  LV Write Access        read/write  LV Creation host, time wybaron_host1015, 2018-10-11 13:19:56 +0800  LV Status              available  # open 0  LV Size                7.00 GiB  Current LE             448  Segments               2  Allocation             inherit  Read ahead sectors     auto  - currently set to     8192  Block device           253:2     --- Logical volume ---  LV Path                /dev/VG_data/web2  LV Name                web2  VG Name                VG_data  LV UUID                CLcfCe-6gJb-WhPv-FGKN-ujL3-4YSy-9Psghs  LV Write Access        read/write  LV Creation host, time wybaron_host1015, 2018-10-11 13:20:06 +0800  LV Status              available  # open 0  LV Size                3.00 GiB  Current LE             192  Segments               1  Allocation             inherit  Read ahead sectors     auto  - currently set to     8192  Block device           253:3

   5.LVM挂载和使用

       案例  
# 建立文件系统[root@wybaron_host1015 data]# mkfs.ext4 /dev/VG_data/web1 webweb1root/ web2root/ [root@wybaron_host1015 data]# mkfs.ext4 /dev/VG_data/webweb1  web2  [root@wybaron_host1015 data]# mkfs.ext4 /dev/VG_data/web1mke2fs 1.42.9 (28-Dec-2013)文件系统标签=OS type: Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks458752 inodes, 1835008 blocks91750 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=187904819256 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: 完成                            正在写入inode表: 完成                            Creating journal (32768 blocks): 完成Writing superblocks and filesystem accounting information: 完成  [root@wybaron_host1015 data]# mkfs.ext3 /dev/VG_data/web2mke2fs 1.42.9 (28-Dec-2013)文件系统标签=OS type: Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks196608 inodes, 786432 blocks39321 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=80530636824 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 	32768, 98304, 163840, 229376, 294912 Allocating group tables: 完成                            正在写入inode表: 完成                            Creating journal (16384 blocks): 完成Writing superblocks and filesystem accounting information: 完成  # 建立挂载点[root@wybaron_host1015 data]# mkdir /data/web1root[root@wybaron_host1015 data]# mkdir /data/web2root # 挂载并使用[root@wybaron_host1015 data]# mount /dev/VG_data/web1 /data/web1root/[root@wybaron_host1015 data]# mount /dev/VG_data/web2 /data/web2root/ ## 需要开机自启动需要将挂载信息写入文件"/etc/fstab"中 # 查看空间大小[root@wybaron_host1015 data]# df -h /data/web1root/文件系统                  容量  已用  可用 已用% 挂载点/dev/mapper/VG_data-web1  6.8G   32M  6.4G    1% /data/web1root[root@wybaron_host1015 data]# df -h /data/web2root/文件系统                  容量  已用  可用 已用% 挂载点/dev/mapper/VG_data-web2  2.9G  4.6M  2.8G    1% /data/web2root 

   6.LVM扩展

       6.1)命令
lvextend -L [+]#[mMgGtT] /dev/VG_name/LV_name 扩展逻辑卷的物理边界resize2fs /dev/VG_name/LV_name 扩展逻辑边界(文件系统)# 使用时应先扩展个物理边界,再扩展逻辑边界
       6.2)案例
## 将上述中的"web1root"文件夹空间扩展至5G[root@wybaron_host1015 data]# lvextend -L +2g /dev/VG_data/web2  Size of logical volume VG_data/web2 changed from 3.00 GiB (192 extents) to 5.00 GiB (320 extents).  Logical volume VG_data/web2 successfully resized.[root@wybaron_host1015 data]# resize2fs /dev/VG_data/web2resize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/VG_data/web2 is mounted on /data/web2root; on-line resizing requiredold_desc_blocks = 1, new_desc_blocks = 1The filesystem on /dev/VG_data/web2 is now 1310720 blocks long. [root@wybaron_host1015 data]# lvs /dev/VG_data/web2  LV   VG      Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  web2 VG_data -wi-ao---- 5.00g                                                    [root@wybaron_host1015 data]# lvdisplay /dev/VG_data/web2  --- Logical volume ---  LV Path                /dev/VG_data/web2  LV Name                web2  VG Name                VG_data  LV UUID                CLcfCe-6gJb-WhPv-FGKN-ujL3-4YSy-9Psghs  LV Write Access        read/write  LV Creation host, time wybaron_host1015, 2018-10-11 13:20:06 +0800  LV Status              available  # open 1  LV Size                5.00 GiB  Current LE             320  Segments               2  Allocation             inherit  Read ahead sectors     auto  - currently set to     8192  Block device           253:3   [root@wybaron_host1015 data]# df -h /data/web2root/文件系统                  容量  已用  可用 已用% 挂载点/dev/mapper/VG_data-web2  4.9G  6.1M  4.7G    1% /data/web2root

   7.逻辑卷缩减

       7.1)命令
umount /dev/VG_name/LV_name 卸载需要缩减的逻辑卷e2fsck -f /dev/VG_name/LV_name 文件系统的强制检测和修复resize2fs /dev/VG_name/LV_name #[mMgGtT] 缩减逻辑边界(文件系统)lvreduce -L [-]#[mMgGtT] /dev/VG_name/LV_name 缩减物理边界mount 再次挂载
       7.2)案例
# 缩减上述文件夹"/data/web1root"总空间为4G大小[root@wybaron_host1015 ~]# umount /data/web1root/###或者################# [root@wybaron_host1015 ~]# umount /dev/VG_data/web1####################[root@wybaron_host1015 ~]# e2fsck -f /dev/VG_data/web1e2fsck 1.42.9 (28-Dec-2013)第一步: 检查inode,块,和大小第二步: 检查目录结构第3步: 检查目录连接性Pass 4: Checking reference counts第5步: 检查簇概要信息/dev/VG_data/web1: 11/458752 files (0.0% non-contiguous), 69631/1835008 blocks[root@wybaron_host1015 ~]# resize2fs /dev/VG_data/web1 4gresize2fs 1.42.9 (28-Dec-2013)Resizing the filesystem on /dev/VG_data/web1 to 1048576 (4k) blocks.The filesystem on /dev/VG_data/web1 is now 1048576 blocks long. [root@wybaron_host1015 ~]# lvreduce -L -3g /dev/VG_data/web1  WARNING: Reducing active logical volume to 4.00 GiB.  THIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce VG_data/web1? [y/n]: y  Size of logical volume VG_data/web1 changed from 7.00 GiB (448 extents) to 4.00 GiB (256 extents).  Logical volume VG_data/web1 successfully resized.[root@wybaron_host1015 ~]# mount /dev/VG_data/web1 /data/web1root/[root@wybaron_host1015 ~]# df -h /data/web1root/文件系统                  容量  已用  可用 已用% 挂载点/dev/mapper/VG_data-web1  3.9G   28M  3.6G    1% /data/web1root

   8.逻辑卷删除

       8.1)命令
umount /dev/VG_name/LV_name[s] 卸载挂载的lvlvremove /dev/VG_name/LV_name[s] 删除VG_name下的lvvgremove VG_name 删除vgpvremove /dev/DEVICE[S] 删除pv
       8.2)案例
# 彻底删除上述建立的VG_data[root@wybaron_host1015 ~]# umount /dev/VG_data/web{1,2}[root@wybaron_host1015 ~]# lvremove /dev/VG_data/web{1,2}Do you really want to remove active logical volume VG_data/web1? [y/n]: y  Logical volume "web1" successfully removedDo you really want to remove active logical volume VG_data/web2? [y/n]: y  Logical volume "web2" successfully removed[root@wybaron_host1015 ~]# vgremove VG_data   Volume group "VG_data" successfully removed[root@wybaron_host1015 ~]# pvremove /dev/sdb[1-3]  Device /dev/sdb1 excluded by a filter.  Device /dev/sdb2 excluded by a filter.  Device /dev/sdb3 excluded by a filter.[root@wybaron_host1015 ~]# pvremove /dev/sdc[1-3]  Labels on physical volume "/dev/sdc1" successfully wiped.  Labels on physical volume "/dev/sdc2" successfully wiped.  Labels on physical volume "/dev/sdc3" successfully wiped.[root@wybaron_host1015 ~]# pvs /dev/sdc[1-3]  Failed to find physical volume "/dev/sdc1".  Failed to find physical volume "/dev/sdc2".  Failed to find physical volume "/dev/sdc3".[root@wybaron_host1015 ~]# vgs  VG     #PV #LV #SN Attr VSize VFree  centos   1   2   0 wz--n- <19.00g    0 [root@wybaron_host1015 ~]# lvs  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  root centos -wi-ao---- <17.00g                                                      swap centos -wi-ao----   2.00g 

三、补充

   文件系统的挂载使用

       光盘设备一般挂载的方式为只读方式进行挂载。

光盘设备文件:IDE:/dev/hdcSATA:/dev/sr0  符号链接文件:    /dev/cdrom    /dev/cdrw    /dev/dvd    /dev/dvdrw挂载方式(只读挂载)mount -r /dev/cdrom /media/cdrom卸载方式umount /dev/cdrom

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空