tmpfs探索与虚拟机扩容

一、tmpfs

1. tmpfs简介

tmpfs是一种虚拟内存文件系统。是基于内存的文件系统,创建时不需要使用mkfs等初始化。
它最大的特点就是它的存储空间在VM(virtual memory),VM是由linux内核里面的vm子系统管理的。
linux下面VM的大小由RM(Real Memory)和swap组成,RM的大小就是物理内存的大小,而Swap的大小是由自己决定的。
Swap是通过硬盘虚拟出来的内存空间,因此它的读写速度相对RM(Real Memory)要慢许多,当一个进程申请一定数量的内存时,如内核的vm子系统发现没有足够的RM时,就会把RM里面的一些不常用的数据交换到Swap里面,如果需要重新使用这些数据再把它们从Swap交换到RM里面。如果有足够大的物理内存,可以不划分Swap分区。

VM由RM+Swap两部分组成,因此tmpfs最大的存储空间可达(The size of RM + The size of Swap)。 但是对于tmpfs本身而言,它并不知道自己使用的空间是RM还是Swap,这一切都是由内核的vm子系统管理的。
tmpfs默认的大小是RM的一半,假如你的物理内存是1024M,那么tmpfs默认的大小就是512M
一般情况下,是配置的小于物理内存大小的。

tmpfs配置的大小并不会真正的占用这块内存,如果挂载路径(如/dev/shm/)下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是不会被系统回收重新划分的。
当删除tmpfs中文件,tmpfs 文件系统驱动程序会动态地减小文件系统并释放 VM 资源。

2.参考资料进行更改

因为使用df -h命令发现tmpfs文件系统占用空间有点多,因而想缩小其占用空间为其他文件空出可用空间

[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  894M     0  894M    0% /dev
tmpfs                   tmpfs     910M     0  910M    0% /dev/shm
tmpfs                   tmpfs     910M   11M  900M    2% /run
tmpfs                   tmpfs     910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        10G  5.1G  5.0G   51% /
/dev/mapper/centos-home xfs       497M  247M  251M   50% /home
/dev/sda1               xfs       197M  163M   35M   83% /boot
tmpfs                   tmpfs     182M   36K  182M    1% /run/user/1000
tmpfs                   tmpfs     182M     0  182M    0% /run/user/0
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0  200M  0 part /boot
└─sda2            8:2    0 12.5G  0 part 
  ├─centos-root 253:0    0   10G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0  500M  0 lvm  /home
sr0              11:0    1  4.5G  0 rom
[root@localhost ~]# mount -o remount,size=777M tmpfs /dev/shm
[root@localhost ~]#  df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 894M     0  894M    0% /dev
tmpfs                    777M     0  777M    0% /dev/shm
tmpfs                    910M   11M  900M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root   10G  5.0G  5.1G   50% /
/dev/mapper/centos-home  497M  247M  251M   50% /home
/dev/sda1                197M  163M   35M   83% /boot
tmpfs                    182M   40K  182M    1% /run/user/1000
tmpfs                    182M     0  182M    0% /run/user/0

成功,准备进行永久修改:

[root@localhost ~]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Thu Sep 10 16:39:38 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=aa6cfe93-c23d-41ee-ac77-8486290a0b05 /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
[root@localhost ~]# vi /etc/fstab 
[root@localhost ~]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Thu Sep 10 16:39:38 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=aa6cfe93-c23d-41ee-ac77-8486290a0b05 /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
tmpfs /run                    tmpfs    defaults,size=400M        0 0
tmpfs /dev/shm                    tmpfs    defaults,size=400M        0 0
tmpfs /dev                    tmpfs    defaults,size=400M        0 0

tmpfs /sys/fs/cgroup                    tmpfs    defaults,size=400M        0 0
[root@localhost ~]# mount -a  ###情况一:不加入上面最后一行,运行正常,之后重新开机运行df -h命令也会发现修改成功

[root@localhost ~]# mount -a  ###情况二:加入后运行,报如下错误,重新删除后再运行也没用,且会造成虚拟机崩溃,无法开机或者无法关机
mount: 找不到 UUID=aa6cfe93-c23d-41ee-ac77-8486290a0b05
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
tmpfs                    400M     0  400M    0% /dev
tmpfs                    910M   11M  900M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root   10G  5.0G  5.1G   50% /
/dev/sda1                197M  163M   35M   83% /boot
/dev/mapper/centos-home  497M  247M  251M   50% /home
tmpfs                    182M   12K  182M    1% /run/user/42
tmpfs                    182M     0  182M    0% /run/user/0
[root@localhost ~]# lsblk
lsblk: dm-0:获取设备路径失败
lsblk: dm-1:获取设备路径失败
lsblk: dm-2:获取设备路径失败
lsblk: dm-0:获取设备路径失败
lsblk: dm-1:获取设备路径失败
lsblk: dm-2:获取设备路径失败
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
└─sda2   8:2    0 12.5G  0 part 
sr0     11:0    1 1024M  0 rom

失败了,那么为何对它进行修改就失败了呢?

Linux系统中经常有个需求就是希望能限制某个或者某些进程的分配资源。也就是能完成一组容器的概念,在这个容器中,有分配好的特定比例的cpu时间,IO时间,可用内存大小等。于是就出现了cgroup的概念,cgroup就是controller group,最初由google的工程师提出,后来被整合进Linux内核中。
cgroup是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制。
通过 mount 命令来查看 cgroups 默认的挂载点,使用ls /sys/fs/cgroup/ 来显示已经挂载的子系统:
在这里插入图片描述

[root@localhost ~]# mount | grep cgroup
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,freezer)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuacct,cpu)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_prio,net_cls)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuset)
cgroup on /sys/fs/cgroup/pids type cgroup(rw,nosuid,nodev,noexec,relatime,seclabel,pids)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event)

[root@localhost ~]# ls /sys/fs/cgroup/
blkio  cpu  cpuacct  cpu,cpuacct  cpuset  devices  freezer  hugetlb  memory  net_cls  net_cls,net_prio  net_prio  perf_event  pids  systemd
[root@localhost ~]#

可以看到 /sys/fs/cgroup 的挂载类型其实只读的。换句话说,系统是不建议我们在/sys/fs/cgroup 目录下创建新的目录并挂载其它子系统的。
Cgroups子系统介绍:

  • blkio 对块设备的 IO 进行限制。
  • cpu 限制 CPU 时间片的分配,与 cpuacct 挂载在同一目录。
  • cpuacct 生成 cgroup 中的任务占用 CPU 资源的报告,与 cpu 挂载在同一目录。
  • cpuset 给 cgroup 中的任务分配独立的 CPU(多处理器系统) 和内存节点。
  • devices 允许或禁止 cgroup 中的任务访问设备。
  • freezer 暂停/恢复 cgroup 中的任务。
  • hugetlb 限制使用的内存页数量。
  • memory 对 cgroup 中的任务的可用内存进行限制,并自动生成资源占用报告。
  • net_cls 使用等级识别符(classid)标记网络数据包,这让 Linux 流量控制器(tc指令)可以识别来自特定 cgroup 任务的数据包,并进行网络限制。
  • net_prio 允许基于 cgroup 设置网络流量(netowork traffic)的优先级。
  • perf_event 允许使用 perf 工具来监控 cgroup。
  • pids 限制任务的数量

因而可能是因此而不让对/sys/fs/cgroup进行size设置操作。

之后再去看了虚拟机发现,如下图:
在这里插入图片描述
发现总共20G空间,除去/boot的1G,/root加上swap(即centos-root + centos-swap)就已经占据了所有空间,再查阅网上资料看到有资料中写到这么一条:

#mount -t tmpfs -o size=20m tmpfs /mnt/tmp
面这条命令分配了上限为20m的VM到/mnt/tmp目录下,用df命令查看一下,确实/mnt/tmp挂载点显
示的大小是20m

也就是说上图中通过df命名看到的如tmpfs /dev/shm这样,他其实是tmpfs挂载到了/dev/shm下,而/dev/shm这个路径又在/底下,也就是说这么多个tmpfs其实都是在/底下(即centos-root底下),也就是tmpfs所用的空间都在/下,那么直接扩大/即可。

那么tmpfs它那些空间size大小什么意思?

根据上文简介可以看出:tmpfs一个优点就是它的大小是随着实际存储的容量而变化的,换句话说,假如挂载目录下什么也没有,那么tmpfs并不占用VM。
也就是说size只代表其能占用的最大空间,而不是实际分配给它的空间,而它未使用的空间,其他程序还是能用,即是动态分配的!
所以其实没必要改它的大小。

二、扩容

由于虚拟机空间不足,因而想对虚拟机进行扩容操作,考虑到情况的多样,此处将其分为三种情况:
一是扩大已有硬盘容量(或是硬盘还有剩余未分配的空间),
二是考虑到实际生产时无法扩大已有硬盘容量而进行的添加新硬盘的扩容方式,
三是缩小其他无用路径文件空间来方便剩出空间以扩大目标路径空间

(1)方案一

另加存储空间(此处扩容对象为/home)

1)单纯扩大某一硬盘容量

1.如果本身虚拟机已经没有剩余未分配可用空间,则需要关闭虚拟机,再对其扩大硬盘空间:
在虚拟机关机后对其进行设置–扩展,重新输入空间大小(此处只能输入比原先大的,而且一旦确定扩大后就无法再缩小),磁盘加上容量后,并不能够马上使用,需要对磁盘进行重新分配
在这里插入图片描述

2.若虚拟机本身就有足够的未分配空间,或者经过步骤1之后,即可进行以下步骤:
命令lsblk查看根分区:
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
└─sda2 8:2 0 12.5G 0 part
├─centos-root 253:0 0 10G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 500M 0 lvm /home
sr0 11:0 1 4.5G 0 rom

可以看到 / 的所做type是lvm,那么则通过lvm方式进行扩容

第一种非 LVM方式,使用lsblk命令查看根分区,就是根目录直接挂载在磁盘分区上;
第二种 LVM方式,磁盘分区后,还需要创建为LVM(逻辑卷管理) ,等于多创建了一层虚拟层,这样更加方便管理磁盘

①LVM方式:

进行扩容要求虚拟机剩余空间至少还有300-400M的空间,最好是大于400M,存储使用100%的话,无法挂载,须预留部分空间出来

1.开始分区:fdisk /dev/sda
[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n       #新建分区
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p       #选择主分区
分区号 (3,4,默认 3):4    #分区号,默认即可
起始 扇区 (26617856-41943039,默认为 26617856)#默认回车即可
将使用默认值 26617856
Last 扇区, +扇区 or +size{K,M,G} (26617856-41943039,默认为 41943039)#若将所有未分配空间全部用掉,则默认回车,若想设置大小,则使用+size{K,M,G},如+20M回车
将使用默认值 41943039
分区 4 已设置为 Linux 类型,大小设为 7.3 GiB

命令(输入 m 获取帮助):w    #保存退出
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@localhost dev]#
2.此时使用lsblk命令查看:
[root@localhost dev]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0  200M  0 part /boot
└─sda2            8:2    0 12.5G  0 part 
  ├─centos-root 253:0    0   10G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0  500M  0 lvm  /home
sr0              11:0    1  4.5G  0 rom  
[root@localhost dev]# 

发现并没有刚建立的分区sda4

3.使用命令partprobe刷新,再查看:
[root@localhost dev]# partprobe
[root@localhost dev]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0  200M  0 part /boot
├─sda2            8:2    0 12.5G  0 part 
│ ├─centos-root 253:0    0   10G  0 lvm  /
│ ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
│ └─centos-home 253:2    0  500M  0 lvm  /home
└─sda4            8:4    0  7.3G  0 part 
sr0              11:0    1  4.5G  0 rom  
[root@localhost dev]# 

发现新建立的分区sda4已经存在

4.创建物理卷pvcreate /dev/sda4(此步骤可省略)
[root@localhost dev]# pvcreate /dev/sda4
  Physical volume "/dev/sda4" successfully created.
5.查看已有卷组 vgdisplay 得到卷组名为 centos
[root@localhost dev]# vgdisplay 
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               12.49 GiB
  PE Size               4.00 MiB
  Total PE              3198
  Alloc PE / Size       3197 / <12.49 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               TxmA7W-IPcZ-4AJB-DQop-xeHJ-do9R-LdmVfv
   
[root@localhost dev]# 
6.添加 sda4 到 centos 卷组中 vgextend centos /dev/sda4

当剩余空间不足时,执行该命令会报错:Couldn’t create temporary archive name,此时删掉其中无用文件、log日志后继续操作即可

[root@localhost dev]# vgextend centos /dev/sda4
  Volume group "centos" successfully extended
[root@localhost dev]# vgdisplay 
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               <19.80 GiB
  PE Size               4.00 MiB
  Total PE              5068
  Alloc PE / Size       3197 / <12.49 GiB
  Free  PE / Size       1871 / <7.31 GiB
  VG UUID               TxmA7W-IPcZ-4AJB-DQop-xeHJ-do9R-LdmVfv

发现free的size已经扩大

7.查看需要被扩容的文件路径 lvdisplay 路径
[root@localhost dev]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 894M     0  894M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M   11M  900M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root   10G  5.0G  5.1G   50% /
/dev/mapper/centos-home  497M  247M  251M   50% /home
/dev/sda1                197M  163M   35M   83% /boot
tmpfs                    182M   40K  182M    1% /run/user/1000
tmpfs                    182M     0  182M    0% /run/user/0
查看想扩容的/home的文件系统为/dev/mapper/centos-home
再使用lvdisplay 命令查看:
[root@localhost dev]# lvdisplay /home
  "/home": Invalid path for Logical Volume.
[root@localhost dev]# lvdisplay /dev/mapper/centos-home
  --- Logical volume ---
  LV Path                /dev/centos/home
  LV Name                home
  VG Name                centos
  LV UUID                yQDL14-Or7S-P1pJ-qVGC-5yEm-h4tR-EN8Hee
  LV Write Access        read/write
  LV Creation host, time localhost, 2020-09-10 16:39:36 +0800
  LV Status              available
  # open                 1
  LV Size                500.00 MiB
  Current LE             125
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

获得逻辑卷路径为/dev/centos/home

8.把centos 卷组中的所有剩余容量添加到 /dev/centos/home 上
[root@localhost dev]# lvextend -l +100%FREE /dev/centos/home
  Size of logical volume centos/home changed from 500.00 MiB (125 extents) to <7.80 GiB (1996 extents).
  Logical volume centos/home successfully resized.

再用命令查看,发现空间没变:
[root@localhost dev]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 894M     0  894M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M   11M  900M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root   10G  5.0G  5.1G   50% /
/dev/mapper/centos-home  497M  247M  251M   50% /home
/dev/sda1                197M  163M   35M   83% /boot
tmpfs                    182M   40K  182M    1% /run/user/1000
tmpfs                    182M     0  182M    0% /run/user/0
9.刷新写入 xfs_growfs /dev/centos/home
[root@localhost dev]# xfs_growfs /dev/centos/home
meta-data=/dev/mapper/centos-home isize=512    agcount=4, agsize=32000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=128000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 128000 to 2043904

再查看,发现已经空间扩大:
[root@localhost dev]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 894M     0  894M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M   11M  900M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root   10G  5.0G  5.1G   50% /
/dev/mapper/centos-home  7.8G  249M  7.6G    4% /home
/dev/sda1                197M  163M   35M   83% /boot
tmpfs                    182M   40K  182M    1% /run/user/1000
tmpfs                    182M     0  182M    0% /run/user/0

到此扩容成功

②非lvm方式:

比如某一个挂载点type类型为part,则为非lvm

1.创建分区
[root@station Desktop]# fdisk /dev/sda
	Command (m for help): p      # 查看分区信息
	Disk /dev/sda: 64.4 GB, 64424509440 bytes, 125829120 sectors
	... 省略一部分
	   Device Boot      Start         End      Blocks   Id  System
	/dev/sda1            2048    62914559    31456256   83  Linux
	Command (m for help): d      # 删除分区,记住千万不要保存,不要使用 w 命令
命令(输入 m 获取帮助):d
分区号 (1,2,4,默认 4)#选择分区号
	Selected partition 1         
	Partition 1 is deleted
	Command (m for help): n   # new 一个分区
	Partition type:
	   p   primary (0 primary, 0 extended, 4 free)
	   e   extended
	Select (default p): p     # 选择主分区,e 代表扩展分区
	Partition number (1-4, default 1):                 # 默认敲击回车
	First sector (2048-125829119, default 2048):       # 默认敲击回车   
	Last sector, +sectors or +size{K,M,G} (2048-125829119, default 125829119):  +50G
	Partition 1 of type Linux and of size 50 GiB is set
	Command (m for help): w    # 保存
2.后续步骤

创建好分区之后则和上面的lvm方式一样

2)加硬盘的扩容

(目标扩容:/home)

1.添加硬盘

关闭虚拟机,对虚拟机点击 设置-(硬件)添加-硬盘-下一步:
在这里插入图片描述

默认点击下一步:
在这里插入图片描述

默认点击下一步:
在这里插入图片描述

默认点击下一步:
在这里插入图片描述

点击完成:
在这里插入图片描述

之后确定,再启动虚拟机查看可以发现,如下:

未加入硬盘重启前:

[root@localhost ~]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000db225

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    26617855    13103104   8e  Linux LVM
/dev/sda4        26617856    41943039     7662592   83  Linux

磁盘 /dev/mapper/centos-root:17.2 GB, 17179869184 字节,33554432 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-home:1396 MB, 1396703232 字节,2727936 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

加入硬盘后:

[root@localhost ~]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000db225

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    26617855    13103104   8e  Linux LVM
/dev/sda4        26617856    41943039     7662592   83  Linux

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-root:17.2 GB, 17179869184 字节,33554432 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-home:1396 MB, 1396703232 字节,2727936 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0  200M  0 part /boot
├─sda2            8:2    0 12.5G  0 part 
│ ├─centos-root 253:0    0   16G  0 lvm  /
│ └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
└─sda4            8:4    0  7.3G  0 part 
  ├─centos-root 253:0    0   16G  0 lvm  /
  └─centos-home 253:2    0  1.3G  0 lvm  /home
sdb               8:16   0   20G  0 disk 
sr0              11:0    1  4.5G  0 rom  
2.开始分区:
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xd1aebac7 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0  200M  0 part /boot
├─sda2            8:2    0 12.5G  0 part 
│ ├─centos-root 253:0    0   16G  0 lvm  /
│ └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
└─sda4            8:4    0  7.3G  0 part 
  ├─centos-root 253:0    0   16G  0 lvm  /
  └─centos-home 253:2    0  1.3G  0 lvm  /home
sdb               8:16   0   20G  0 disk 
└─sdb1            8:17   0   20G  0 part 
sr0              11:0    1  4.5G  0 rom
3.格式化文件系统:

mkfs -t xfs /dev/sdb1

[root@localhost ~]# mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1310656 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242624, 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
4.后续步骤

之后按lvm方式从第6步进行即可

添加到卷组:
[root@localhost ~]# vgextend centos /dev/sdb1
WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
  Volume group "centos" successfully extended
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 894M     0  894M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M   11M  900M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root   16G  5.0G   12G   32% /
/dev/mapper/centos-home  1.3G  253M  1.1G   20% /home
/dev/sda1                197M  163M   35M   83% /boot
tmpfs                    182M  8.0K  182M    1% /run/user/42
tmpfs                    182M     0  182M    0% /run/user/0

容量添加:
[root@localhost ~]# lvextend -l +100%FREE /dev/centos/home
  Size of logical volume centos/home changed from 1.30 GiB (333 extents) to 21.79 GiB (5579 extents).
  Logical volume centos/home successfully resized.
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 894M     0  894M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M   11M  900M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root   16G  5.0G   12G   32% /
/dev/mapper/centos-home  1.3G  253M  1.1G   20% /home
/dev/sda1                197M  163M   35M   83% /boot
tmpfs                    182M  8.0K  182M    1% /run/user/42
tmpfs                    182M     0  182M    0% /run/user/0

刷新写入:
[root@localhost ~]# xfs_growfs /dev/centos/home
meta-data=/dev/mapper/centos-home isize=512    agcount=4, agsize=85248 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=340992, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               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 340992 to 5712896
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 894M     0  894M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M   11M  900M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root   16G  5.0G   12G   32% /
/dev/mapper/centos-home   22G  256M   22G    2% /home
/dev/sda1                197M  163M   35M   83% /boot
tmpfs                    182M  8.0K  182M    1% /run/user/42
tmpfs                    182M     0  182M    0% /run/user/0

最后查看:
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0  200M  0 part /boot
├─sda2            8:2    0 12.5G  0 part 
│ ├─centos-root 253:0    0   16G  0 lvm  /
│ └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
└─sda4            8:4    0  7.3G  0 part 
  ├─centos-root 253:0    0   16G  0 lvm  /
  └─centos-home 253:2    0 21.8G  0 lvm  /home
sdb               8:16   0   20G  0 disk 
└─sdb1            8:17   0   20G  0 part 
  └─centos-home 253:2    0 21.8G  0 lvm  /home
sr0              11:0    1  4.5G  0 rom

扩容成功

(2)方案二

此处扩容对象为/根目录
由于xfs类型的文件系统不能缩小空间,所以只能将/home先卸载,调整大小,再挂载,将剩余空间分配给/,因而扩容思路如下:
将/home文件夹备份,删除/home文件系统所在的逻辑卷,增大/文件系统所在的逻辑卷,增大/文件系统大小,最后新建/home目录,并恢复/home文件夹下的内容

1.查看到/home文件类型为xfs

[root@localhost dev]# cat /etc/fstab 或者用命令df -hT查看

#
# /etc/fstab
# Created by anaconda on Thu Sep 10 16:39:38 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=aa6cfe93-c23d-41ee-ac77-8486290a0b05 /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  894M     0  894M    0% /dev
tmpfs                   tmpfs     910M     0  910M    0% /dev/shm
tmpfs                   tmpfs     910M   11M  900M    2% /run
tmpfs                   tmpfs     910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        16G  5.0G   12G   32% /
/dev/mapper/centos-home xfs        22G  256M   22G    2% /home
/dev/sda1               xfs       197M  163M   35M   83% /boot
tmpfs                   tmpfs     182M   12K  182M    1% /run/user/42
tmpfs                   tmpfs     182M     0  182M    0% /run/user/0

2.备份/home分区内容:

tar cvf /home.tar /home,将其备份到/底下

[root@localhost dev]# tar cvf /home.tar /home
tar: 从成员名中删除开头的“//home/
/home/tiki/
/home/tiki/.mozilla/
/home/tiki/.mozilla/extensions/
/home/tiki/.mozilla/plugins/
/home/tiki/.mozilla/firefox/
/home/tiki/.mozilla/firefox/y035iyvq.default-default/
/home/tiki/.mozilla/firefox/y035iyvq.default-default/.parentlock
/home/tiki/.mozilla/firefox/y035iyvq.default-default/compatibility.ini
/home/tiki/.mozilla/firefox/y035iyvq.default-default/permissions.sqlite
/home/tiki/.mozilla/firefox/y035iyvq.default-default/cookies.sqlite
/home/tiki/.mozilla/firefox/y035iyvq.default-default/extensions/
/home/tiki/.mozilla/firefox/y035iyvq.default-default/extensions/langpack-ga-IE@firefox.mozilla.org.xpi
.......省略一部分

查看是否备份:
[root@localhost dev]# cd /
[root@localhost /]# ll
总用量 225268
lrwxrwxrwx.   1 root root         7 9月  10 08:40 bin -> usr/bin
dr-xr-xr-x.   5 root root      4096 9月  10 16:59 boot
drwxr-xr-x.  20 root root      3300 10月 23 15:22 dev
drwxr-xr-x. 143 root root      8192 10月 23 14:42 etc
drwxr-xr-x.   3 root root        18 9月  10 08:49 home
-rw-r--r--.   1 root root 230645760 10月 23 15:56 home.tar
lrwxrwxrwx.   1 root root         7 9月  10 08:40 lib -> usr/lib
lrwxrwxrwx.   1 root root         9 9月  10 08:40 lib64 -> usr/lib64
drwxr-xr-x.   2 root root         6 4月  11 2018 media
drwxr-xr-x.   2 root root         6 4月  11 2018 mnt
drwxr-xr-x.   3 root root        16 9月  10 08:44 opt
dr-xr-xr-x. 223 root root         0 10月 23 14:16 proc
dr-xr-x---.  15 root root      4096 10月 23 14:43 root
drwxr-xr-x.  43 root root      1240 10月 23 14:45 run
lrwxrwxrwx.   1 root root         8 9月  10 08:40 sbin -> usr/sbin
drwxr-xr-x.   2 root root         6 4月  11 2018 srv
dr-xr-xr-x.  13 root root         0 10月 23 14:16 sys
drwxrwxrwt.  17 root root      4096 10月 23 15:53 tmp
drwxr-xr-x.  14 root root       167 9月  11 09:19 usr
drwxr-xr-x.  21 root root      4096 9月  10 08:51 var
[root@localhost /]# 

3.卸载/home

要先终止所有使用/home文件系统的进程,这里要注意不要在/home目录下执行下面的操作:$ sudo fuser -km /home
然后卸载:$ sudo umount /home

[root@localhost /]# sudo fuser -km /home
[root@localhost /]# sudo umount /home
[root@localhost /]# ll
总用量 225268
lrwxrwxrwx.   1 root root         7 9月  10 08:40 bin -> usr/bin
dr-xr-xr-x.   5 root root      4096 9月  10 16:59 boot
drwxr-xr-x.  20 root root      3300 10月 23 15:22 dev
drwxr-xr-x. 143 root root      8192 10月 23 14:42 etc
drwxr-xr-x.   2 root root         6 9月  10 16:39 home
-rw-r--r--.   1 root root 230645760 10月 23 15:56 home.tar
lrwxrwxrwx.   1 root root         7 9月  10 08:40 lib -> usr/lib
lrwxrwxrwx.   1 root root         9 9月  10 08:40 lib64 -> usr/lib64
drwxr-xr-x.   2 root root         6 4月  11 2018 media
drwxr-xr-x.   2 root root         6 4月  11 2018 mnt
drwxr-xr-x.   3 root root        16 9月  10 08:44 opt
dr-xr-xr-x. 176 root root         0 10月 23 14:16 proc
dr-xr-x---.  15 root root      4096 10月 23 14:43 root
drwxr-xr-x.  43 root root      1240 10月 23 14:45 run
lrwxrwxrwx.   1 root root         8 9月  10 08:40 sbin -> usr/sbin
drwxr-xr-x.   2 root root         6 4月  11 2018 srv
dr-xr-xr-x.  13 root root         0 10月 23 14:16 sys
drwxrwxrwt.  16 root root      4096 10月 23 16:01 tmp
drwxr-xr-x.  14 root root       167 9月  11 09:19 usr
drwxr-xr-x.  21 root root      4096 9月  10 08:51 var
[root@localhost /]# cd /home/
[root@localhost home]# ll
总用量 0
[root@localhost home]# 

可以看到home已经空了

4.删除/home所在的逻辑卷lv:

$ sudo lvremove /dev/mapper/centos-home

[root@localhost home]# sudo lvremove /dev/mapper/centos-home
Do you really want to remove active logical volume centos/home? [y/n]: y
  Logical volume "home" successfully removed
[root@localhost home]# 

5.扩大根目录所在的逻辑卷

扩大6G:$ sudo lvextend -L +6G /dev/mapper/centos-root

[root@localhost /]# sudo lvextend -L +6G /dev/mapper/centos-root
  Size of logical volume centos/root changed from 10.00 GiB (2560 extents) to 16.00 GiB (4096 extents).
  Logical volume centos/root successfully resized.
[root@localhost /]# 

6.扩大/文件系统,刷新写入
$ sudo xfs_growfs /dev/mapper/centos-root

[root@localhost /]# sudo xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               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 2621440 to 4194304
[root@localhost /]# 

7.重建/home文件系统所需要的逻辑卷:

由于总大小7.3G,刚才我们分出去6G,因此这里创建的逻辑卷大小为1.3G.

[root@localhost /]# sudo lvcreate -L 1.3G -n /dev/mapper/centos-home
  Rounding up size to full physical extent 1.30 GiB
  Logical volume "home" created.
[root@localhost /]# 

8.创建文件系统:

sudo mkfs.xfs /dev/mapper/centos-home

[root@localhost /]# sudo mkfs.xfs  /dev/mapper/centos-home
meta-data=/dev/mapper/centos-home isize=512    agcount=4, agsize=85248 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=340992, 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
[root@localhost /]# 

9.将新建的文件系统挂载到/home目录下

$ sudo mount /dev/mapper/centos-home

10.恢复/home目录的内容:

sudo tar xvf /home.tar -C /

[root@localhost /]# sudo tar xvf /home.tar -C /
home/
home/tiki/
home/tiki/.mozilla/
home/tiki/.mozilla/extensions/
home/tiki/.mozilla/plugins/
home/tiki/.mozilla/firefox/
home/tiki/.mozilla/firefox/y035iyvq.default-default/
home/tiki/.mozilla/firefox/y035iyvq.default-default/.parentlock

.......省略一部分

home/tiki/桌面/
home/tiki/桌面/Install/
home/tiki/下载/
home/tiki/模板/
home/tiki/公共/
home/tiki/文档/
home/tiki/音乐/
home/tiki/图片/
home/tiki/视频/
home/tiki/.java/
home/tiki/.java/fonts/
home/tiki/.java/fonts/1.8.0_242/
home/tiki/.java/fonts/1.8.0_242/fcinfo-1-localhost.localdomain-RedHat-7.8.2003-zh.properties
home/tiki/.bash_history
home/tiki/.Xauthority
[root@localhost /]# cd /home/
[root@localhost home]# ll
总用量 4
drwx------. 16 tiki tiki 4096 10月 23 14:41 tiki
[root@localhost home]# 

可以看到/home已经有内容恢复了

11.删除/路径下面的备份:

sudo rm -rf /home.tar

[root@localhost /]# sudo rm -rf /home.tar
[root@localhost /]# ll
总用量 28
lrwxrwxrwx.   1 root root    7 9月  10 08:40 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 9月  10 16:59 boot
drwxr-xr-x.  20 root root 3300 10月 23 16:13 dev
drwxr-xr-x. 143 root root 8192 10月 23 14:42 etc
drwxr-xr-x.   3 root root   18 9月  10 08:49 home
lrwxrwxrwx.   1 root root    7 9月  10 08:40 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 9月  10 08:40 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 4月  11 2018 media
drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
drwxr-xr-x.   3 root root   16 9月  10 08:44 opt
dr-xr-xr-x. 185 root root    0 10月 23 14:16 proc
dr-xr-x---.  15 root root 4096 10月 23 14:43 root
drwxr-xr-x.  43 root root 1240 10月 23 14:45 run
lrwxrwxrwx.   1 root root    8 9月  10 08:40 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 4月  11 2018 srv
dr-xr-xr-x.  13 root root    0 10月 23 14:16 sys
drwxrwxrwt.  16 root root 4096 10月 23 16:17 tmp
drwxr-xr-x.  14 root root  167 9月  11 09:19 usr
drwxr-xr-x.  21 root root 4096 9月  10 08:51 var
[root@localhost /]# 

发现已经没有了备份文件

12.检验

[root@localhost /]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 894M     0  894M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M   11M  900M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root   16G  5.0G   12G   32% /
/dev/sda1                197M  163M   35M   83% /boot
tmpfs                    182M     0  182M    0% /run/user/0
tmpfs                    182M   12K  182M    1% /run/user/42
/dev/mapper/centos-home  1.3G  253M  1.1G   20% /home

发现/空间增大,/home恢复,成功

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
umount tmpfs是指卸载tmpfs文件系统的操作。tmpfs是一种基于内存的文件系统,可以在内存中创建一个临时文件系统,用于存储临时数据或缓存。在卸载tmpfs之前,需要确保没有任何进程正在使用该文件系统。如果有进程在使用tmpfs,会出现"device is busy"的错误提示。可以使用lsof或fuser命令来查找正在使用tmpfs的进程,并将其停止或解除与tmpfs的关联。在卸载tmpfs之前,还应备份重要的共享内存数据,以免丢失。可以通过修改/etc/fstab文件来修改tmpfs的容量大小。在文件中找到tmpfs行,并在size选项后面指定分配的空间大小。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [tmpfs详解](https://blog.csdn.net/sinat_24354307/article/details/122957782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Linux修改Tmpfs](https://blog.csdn.net/u010022051/article/details/52153057)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值