centos7下磁盘管理

一.基本分区管理

1.fdisk命令:
语法:fdisk ‘磁盘’
fdisk进入磁盘后,可用m或help查看帮助:


Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition (删除一块分区)
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types (列出分区类型)
   m   print this menu
   n   add a new partition (添加一块新的分区)
   o   create a new empty DOS partition table
   p   print the partition table (打印当前此块磁盘分区表)
   q   quit without saving changes (退出磁盘不保存)
   s   create a new empty Sun disklabel 
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit (保存分区表)
   x   extra functionality (experts only)

例句:

[root@test ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x05f8aa7a.

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x05f8aa7a

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free) (主分区)
   e   extended (扩展分区,可用来划分逻辑分区)
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +5G
Partition 1 of type Linux and of size 5 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
解析:为磁盘sdb划分一块大小为5G的主分区
磁盘分完区后并不会马上生效,需使用partx或partprobe命令生效磁盘分区
[root@test ~]# partprobe 
Warning: Unable to open /dev/sr0 read-write (Read-only file system).  /dev/sr0 has been opened read-only.
[root@test ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   99G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0  3.9G  0 lvm  [SWAP]
  └─centos-home 253:2    0 45.1G  0 lvm  /home
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    5G  0 part 
└─sdb2            8:18   0    5G  0 part 
sdc               8:32   0   20G  0 disk 
sr0              11:0    1  4.2G  0 rom 
格式化分区:(ext4格式)
[root@test ~]# mkfs.ext4 /dev/sdb1 
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
最后挂载使用:
[root@test ~]# mkdir /test1
[root@test ~]# mount /dev/sd
sda   sda1  sda2  sdb   sdb1  sdb2  sdc   
[root@test ~]# mount /dev/sd
sda   sda1  sda2  sdb   sdb1  sdb2  sdc   
[root@test ~]# mount /dev/sdb1 /t
test1/ tmp/   
[root@test ~]# mount /dev/sdb1 /test1/
[root@test ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G  5.5G   45G  11% /
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   12M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1               1014M  142M  873M  14% /boot
/dev/mapper/centos-home   46G   33M   46G   1% /home
tmpfs                    373M     0  373M   0% /run/user/0
/dev/sdb1                4.8G   20M  4.6G   1% /test1
拓展:
lsblk命令为树状查看磁盘信息
常用参数:
-a 显示所有设备
-h 查看命令帮助
-f 查看文件系统信息

2.parted命令:
语法:parted ‘磁盘’
例句:

[root@test ~]# parted /dev/sdc (进入磁盘sdc)
GNU Parted 3.1
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print (打印分区表)
Error: /dev/sdc: unrecognised disk label
Model: VMware, VMware Virtual S (scsi)                                    
Disk /dev/sdc: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 
(parted) mklabel msdos (将磁盘转换为MBR)
(parted) mkpart (分区)                                            
Partition type?  primary/extended? primary                                
File system type?  [ext2]? ext4                                                                
Start? 0%
End? 5G                                                                   
(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  5000MB  4999MB  primary
解析:为磁盘sdc划分一块大小为5G的主分区

3.fdisk命令与parted命令区别:(摘抄)
MBR <2TB fdisk 4个主分区或者3个主分区+1个扩展分区(N个逻辑分区)

MBR(Master Boot Record)的缩写,由三部分组成,即:

  1. Bootloader(主引导程序)=446字节 硬盘第一个扇区=512字节
    • 引导操作系统的主程序
  2. DPT分区表(Disk Partition Table)=64字节
    • 分区表保存了硬盘的分区信息,操作系统通过读取分区表内的信息,就能够获得该硬盘的分区信息
    • 每个分区需要占用16个字节大小,保存有文件系统标识、起止柱面号、磁头号、扇区号、起始扇区位置(4个字节)、分区总扇区数目(4个字节)等内容
    • 分区表中保存的分区信息都是主分区与扩展分区的分区信息,扩展分区不能直接使用,需要在扩展分区内划分一个或多个逻辑分区后才能使用
    • 逻辑分区的分区信息保存在扩展分区内而不是保存在MBR分区表内,这样,就可以突破MBR分区表只能保存4个分区的限制
  3. 硬盘有效标志(校验位)=2个字节

GPT >2TB gdisk(parted) 128个主分区

注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失!
4.开机自动挂载:

[root@test ~]# vim /etc/fstab 
/dev/mapper/centos-swap swap                    swap    defaults        0 0
# 以下为添加
/dev/cdrom              /opt/centos             iso9660 defaults        0 0
解析:光盘开机自动挂载到/opt/centos文件夹下

二.逻辑卷(LVM)管理

1.逻辑卷介绍:(摘抄)

逻辑卷:

逻辑卷(LVM):它是Linux环境下对磁盘分区进行管理的一种机制,它是建立在物理存储设备之上的一个抽象层,优点在于灵活管理。

优点:可通过lvm实现动态在线扩容

  • 物理卷(Physical Volume,PV)

物理卷是底层真正提供容量,存放数据的设备,它可以是整个硬盘、硬盘上的分区等。

  • 卷组(Volume Group, VG)

卷组建立在物理卷之上,它由一个或多个物理卷组成。即把物理卷整合起来提供容量分配。

一个LVM系统中可以只有一个卷组,也可以包含多个卷组。

  • 逻辑卷(Logical Volume, LV)

逻辑卷建立在卷组之上,它是从卷组中“切出”的一块空间。它是最终用户使用的逻辑设备。逻辑卷创建之后,其大小可以伸缩

  • 物理区域 PE(physical extent)

每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是能被LVM寻址的最小单元。PE的大小可指定,默认为4 MB。 PE的大小一旦确定将不能改变,同一个卷组中的所有物理卷的PE的大小是一致的。

4MB=4096kb=4096kb/4kb=1024个block
说明:

  1. 硬盘读取数据最小单位1个扇区512字节
  2. 操作读取数据最小单位1个数据块=8*512字节=4096字节=4KB
  3. lvm寻址最小单位1个PE=4MB
  • 逻辑区域 LE(logical extent)

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

真实的物理设备——>逻辑上(命令创建)——>物理卷(pv)——>卷组(vg)——>逻辑卷(lv)——>逻辑卷格式化——>挂载使用
2.创建逻辑卷:
例句:

[root@test ~]# pvcreate /dev/sdb[1,2] (创建物理卷sdb1和sdb2)
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdb2" successfully created.
[root@test ~]# pvs /dev/sdb[1,2] (简要查看)
  PV         VG      Fmt  Attr PSize  PFree 
  /dev/sdb1  vgtest1 lvm2 a--  <5.00g <5.00g
  /dev/sdb2  vgtest1 lvm2 a--  <5.00g <5.00g
[root@test ~]# pvdisplay /dev/sdb[1,2] (详细查看)
...
[root@test ~]# vgcreate vgtest1 /dev/sdb[1,2] (创建卷组vgtest1,并将物理卷sdb1和sdb2添加进去)
  Volume group "vgtest1" successfully created
[root@test ~]# vgs vgtest1 (简要查看)
  VG      #PV #LV #SN Attr   VSize   VFree
  vgtest1   2   0   0 wz--n-   9.99g 9.99g
[root@test ~]# vgdisplay vgtest1 (详细查看)
...
[root@test ~]# lvcreate -n lvtest1 -L 2.5G vgtest1 (基于卷组vgtest1创建逻辑卷lvtest1)
  Logical volume "lvtest1" created.
[root@test ~]# lvs /dev/vgtest1/lvtest1 (简要查看)
  LV      VG      Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvtest1 vgtest1 -wi-a----- 2.50g
[root@test ~]# lvs /dev/mapper/vgtest1-lvtest1 (简要查看)
  LV      VG      Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvtest1 vgtest1 -wi-a----- 2.50g 
# 逻辑卷查看的方式略有不同,通过操作系统映射的文件进行查看
lvdisplay ... (详细查看)
...
lv命令创建逻辑卷常用参数:
-n:指定逻辑卷的名字
-L:指定逻辑卷的大小
-l:指定逻辑卷的大小

3.动态在线扩容:

  • 1.背景:扩容原本8G的逻辑卷lvtest2为15G,发现卷组vgtest1剩余空间不足
[root@localhost ~]# lvextend -L 15G /dev/vgtest1/vgtest2 
  Insufficient free space: 1792 extents needed, but only 511 available
或
[root@localhost ~]# lvextend -L +7G /dev/vgtest1/vgtest2 
  Insufficient free space: 1792 extents needed, but only 511 available
[root@localhost ~]# vgs vgtest1 
  VG      #PV #LV #SN Attr   VSize   VFree 
  vgtest1   1   1   0 wz--n- <10.00g <2.00g
  • 2.将卷组vgtest1扩容到20G:
[root@localhost ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# vgextend vgtest1 /dev/sdb2
  Volume group "vgtest1" successfully extended
[root@localhost ~]# vgs vgtest1 
  VG      #PV #LV #SN Attr   VSize  VFree 
  vgtest1   2   1   0 wz--n- 19.99g 11.99g
  • 3.逻辑卷lvtest扩容:
[root@localhost ~]# lvextend -L 15G /dev/vgtest1/vgtest2 
  Size of logical volume vgtest1/vgtest2 changed from 8.00 GiB (2048 extents) to 15.00 GiB (3840 extents).
  Logical volume vgtest1/vgtest2 successfully resized.
[root@localhost ~]# lvextend -L +7G /dev/vgtest1/vgtest2 
  Size of logical volume vgtest1/vgtest2 changed from 8.00 GiB (2048 extents) to 15.00 GiB (3840 extents).
  Logical volume vgtest1/vgtest2 successfully resized.
[root@localhost ~]# lvs /dev/vgtest1/vgtest2 
  LV      VG      Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  vgtest2 vgtest1 -wi-a----- 15.00g
  • 4.同步文件系统
[root@localhost ~]# resize2fs /dev/vgtest1/vgtest2

ps:动态在线扩容在实际中是很实用的,root空间也可以用逻辑卷进行动态在线扩容

三.磁盘配额(摘抄)

一、启用磁盘限额
1. 让文件系统支持配额 [ext3/4]
# vim /etc/fstab 
/dev/vg02/lv02          /u01            ext4    defaults,usrquota,grpquota 0 0
# umount /u01
# mount -a (将/etc/fstab文件重新加载)
# mount |grep u01
/dev/mapper/vg02-lv02 on /u01 type ext4 (rw,usrquota,grpquota)

2. 创建磁盘配额的数据库文件
注意: 建议停用SELinux
[root@server ~]# yum -y install quota
[root@server ~]# quotacheck -acug
[root@server ~]# ll /u01
total 16
-rw------- 1 root root 6144 Sep 17 09:28 aquota.group
-rw------- 1 root root 6144 Sep 17 09:28 aquota.user

参数详解:
-a 所有分区(已支持配额)
-c 创建
-u 用户
-g 组

3.启动磁盘配额
# quotaon -a			//启动所有分区的磁盘配额


二、日常管理
设置配额:
方法一:edquota
# edquota -u stu1
Disk quotas for user stu1 (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/mapper/vg01-lv01          0           0          0          0        0        0  



soft:又称软限制,当用户到达这个限制以后,系统会给予警告,但仍可写入。
hard:又称硬限制,到达这个限制,就完全禁止任何写入

以下三个为磁盘空间的限制设置:
blocks:已使用空间,无需要设置
soft:用户空间使用限制,为软限制,需要设置
hard:用户空间使用限制,为硬限制,需要设置
以下三个为总文件个数的限制:
inodes:已有文件总数,无需要设置
soft:文件总数限制,为软限制,需要设置
hard:文件总数限制,为硬限制,需要设置

我们要限制stu1用户使用空间10M,最多不能超过12M,文件总数为200个,
最多不能超过250个,设置如下:
Filesystem        			blocks soft hard inodes soft hard
/dev/mapper/vg01-lv01       0     10240 12288 0    200  250 
注:空间限制是以k为单位的。

grace time: 宽限期,默认7天 
# edquota -t  修改配额的宽限期

生效配置
[root@server ~]# quotaon -a

测试:
# su - stu1
[stu1@vm1 data]$ dd if=/dev/zero of=test99 bs=1M count=11
dm-1: warning, user block quota exceeded.
11+0 records in
11+0 records out
11534336 bytes (12 MB) copied, 0.108284 s, 107 MB/s


[stu1@vm1 data]$ dd if=/dev/zero of=test99 bs=1M count=13
dm-1: warning, user block quota exceeded.
dm-1: write failed, user block limit reached.
dd: writing `test99': Disk quota exceeded
13+0 records in
12+0 records out
12582912 bytes (13 MB) copied, 0.257964 s, 48.8 MB/s

[stu1@vm1 data]$ touch file{1..6}
dm-1: warning, user file quota exceeded.

[stu1@vm1 data]$ touch file{1..11}
dm-1: write failed, user file limit reached.
touch: cannot touch `file10': Disk quota exceeded
touch: cannot touch `file11': Disk quota exceeded

[stu1@vm1 data]$ quota		//查看自己的配额情况
Disk quotas for user stu1 (uid 500): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
/dev/mapper/vg01-lv01
                  12288*  10240   12288   24:00       1       5      10 


方法二: setquota
# setquota -u username block软限制 block硬限制 inode软限制 inode硬限制 分区
# setquota -u jack 80000 100000 15 20 /dev/sda2
# quota jack

方法三:复制
# edquota -p alice tom robin user1 user2 user3
将alice的配额方案复制给后面所有用户

# for i in {1..10}
> do
> useradd zhang$i
> edquota -p stu1 zhang$i
> done


+++查看配额+++
查看单个用户的配额:	    # quota jack
查看所有用户的配额:	    # repquota -a
                              	        # repquota -ag
普通用户查看自己配额:  $ quota


扩展知识:针对组设置配额
例1:限制hr组的成员能在/home/hr目录中:100M   50文件
# groupadd hr
# useradd hr01 -G hr 
# useradd hr02 -G hr
# mkdir /home/hr
# chgrp hr /home/hr
# chmod 2770 /home/hr
# ll -d /home/hr
drwxrws--- 2 root hr 4096 09-12 17:07 /home/hr

# edquota -g hr
Disk quotas for group hr (gid 507):
 	Filesystem                           blocks       soft       hard     inodes     soft     hard
	/dev/mapper/vg01-lv_home          4          0     102400          1        0        50
# repquota -ag
===========================================================================

rhel7:
注意:
1、不需要手动执行quotacheck命令对xfs文件系统进行检查,它会在mount的时候自动执行
2、不需要在xfs文件系统的根下生成quota数据文件


 # mount -o uquota /dev/xvm/home /home
 # xfs_quota -x -c 'limit bsoft=500m bhard=550m tanya' /home
 # xfs_quota -x -c report /home

-x:专家模式
-c:交互模式,可加多个
四.磁盘阵列

1.磁盘阵列(raid)介绍:
磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。
磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。 [1]
磁盘阵列还能利用同位检查(Parity Check)的观念,当数组中任意一个硬盘发生故障时,仍可读出数据。在数据重构时,可将数据经计算后重新置入新硬盘中。

  • 当拥有多的廉价硬盘时,为了发挥出高级硬盘的效果,把多块廉价磁盘组合一块raid提升性能.

  • 一.raid0介绍:
    需要两块磁盘
    将数据条带化分布到磁盘,拥有100%的磁盘空间利用率
    数据安全性低
    缺点:
    如果有一块磁盘故障,数据将无法恢复,风险高

  • 二.raid1介绍:
    需要两块磁盘
    将数据写到一块磁盘上,另一块磁盘同步备份,拥有50%的磁盘空间利用率
    读性能好,写性能差
    数据安全性较高
    缺点:
    成本高

  • 三.raid5介绍:
    至少需要三块磁盘
    数据条带化存储在磁盘,拥有(n-1)/n的磁盘空间利用率
    数据安全性中等
    缺点:
    一块磁盘故障,可根据其他数据块和对应的校验数据重构损坏数据(消耗性能)

  • 四.raid6介绍:
    至少需要四块磁盘
    数据条带化存储在磁盘,拥有磁盘利用率(n-2)/n
    数据安全性高
    缺点:
    成本高

ps:raid分为软raid和硬raid
软raid通过软件实现
硬raid通过硬件实现
实际工作中推荐硬raid
2.软raid创建:

安装mdadm工具:
[root@test ~]# yum -y install mdadm
创建raid0:
[root@test ~]# mdadm -C /dev/md0 -l 0 -n 2 /dev/sdb[34]
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
查看raid信息:
[root@test ~]# cat /proc/mdstat 
Personalities : [raid0] 
md0 : active raid0 sdb4[1] sdb3[0]
      10474496 blocks super 1.2 512k chunks
      
unused devices: <none>
查看刚创建的raid0:
[root@test ~]# mdadm -D /dev/md0 
...
格式化ext4格式:
[root@test ~]# mkfs.ext4 /dev/md0
...
挂载使用:
[root@test ~]# mount /dev/md0 /md0test/
[root@test ~]# df -h
...
创建raid1:
[root@test ~]# mdadm -C /dev/md1 -l 1 -n 2 /dev/sdc[34]
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: largest drive (/dev/sdc4) exceeds size (5237760K) by more than 1%
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
加入新的磁盘:
[root@test ~]# mdadm /dev/md1 -a /dev/sdc5
mdadm: added /dev/sdc5
创建raid5:
mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sdb[1,2,3,4]
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
参数详解:
-x, --spare-devices=  表示指定热备盘

3.保存raid信息:

[root@localhost ~]# mdadm -D --scan >> /etc/mdadm.conf 
[root@localhost ~]# cat /etc/mdadm.conf 
ARRAY /dev/md5 metadata=1.2 spares=1 name=localhost.localdomain:5 UUID=3a89dd37:3d1c479a:8c87494b:17f60dbf

4.raid停止与启动:

raid停止:
[root@localhost ~]# mdadm --stop /dev/md5 
mdadm: stopped /dev/md5
raid启动:
# 以配置文件启动
[root@localhost ~]# mdadm -A /dev/md5
mdadm: /dev/md5 has been started with 3 drives and 1 spare.
# 无配置文件启动
[root@localhost ~]# mdadm -A /dev/md5 /dev/sdb[1234]
mdadm: /dev/md5 has been started with 3 drives and 1 spare.
raid删除:
[root@localhost ~]# mdadm /dev/md5 -f /dev/sdb[1234] (移除md5下的所有磁盘)
mdadm: set /dev/sdb1 faulty in /dev/md5
mdadm: set /dev/sdb2 faulty in /dev/md5
mdadm: set /dev/sdb3 faulty in /dev/md5
mdadm: set /dev/sdb4 faulty in /dev/md5
[root@server ~]# mdadm /dev/md5 -r /dev/sdb[1234]
mdadm: hot removed /dev/sdc7 from /dev/md5
mdadm: hot removed /dev/sdc8 from /dev/md5
mdadm: hot removed /dev/sdc9 from /dev/md5

mdadm --stop /dev/md5 (停止md5)
擦除超级块:
mdadm --misc --zero-superblock /dev/sdb[1234]
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值