vmware中给centos扩展磁盘大小

起因

一开始安装虚拟机centos的时候给虚拟机分配了100G的磁盘空间,但是呢,安装的时候我自己给每一个目录单独分配了空间。其中一个目录 “/” 我分配了20G,但是后面有一次打开虚拟机的时候发现这个 “/dev/mapper/centos-root” 路径提升磁盘利用率99%,建议扩展空间。

[hi@hi~]$ df -hl
文件系统                 容量  已用  可用 已用% 挂载点
...
/dev/mapper/centos-root   20G   20G   0G  99% /
...

 

当时觉得不可思议,明明一开始给虚拟机分配了100G,为啥提示还不够,后面才知道,这些好像是我自定义分配的大小。既然这样,只能加大空间了。

谜题破解了:是由于笔者用了docker,但是没有对docker的日志大小进行限制,导致容器的日志十几个G

# cd /var/lib/docker/containers
# echo "" > xxx.log

进入到这个目录上,查看各个文件夹的大小,确定是否是由于docker的日志导致的,是的话把日志清除即可。此外还要对docker-compose.yml或者docker启动命令加上日志大小限制的命令

方法一:docker-compose.yml
---------------------------
nginx: 
  image: nginx:1.12.1 
  restart: always 
  logging: 
    driver: "json-file"
    options: 
      max-size: "5g"
max-file: "1"
--------------------------- 方法二: docker run增加如下参数,限制生成的json.log单个文件大小和保留文件个数:--log-opt max-size=100m --log-opt max-file=3

 

解决

1、运行 “fdisk -l” 查看一下目前的分区情况,如下,可以看到目前的最大分区是 “/dev/sda2”,一般情况下,新创建的分区默认是 “/dev/sda3”,此外,可以用的磁盘空间是 “/dev/sda”,共107.4GB

[hi@hi ~]# fdisk -l

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    46565375    23076864   8e  Linux LVM

磁盘 /dev/mapper/centos-root:20.5 GB, 21474836480 字节,41943040 个扇区
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 字节

 

2、运行 “fdisk /dev/sda”,如下,接着输入 “m” 查看菜单,"n" 创建新的分区,“p” 主分区(然后设置分区的起始,笔者这里创建一个20G的分区),“w” 保存

[hi@hi ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

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


命令(输入 m 获取帮助):m
命令操作
   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)

  命令(输入 m 获取帮助):n
  Partition type:
  p primary (2 primary, 0 extended, 2 free)
  e extended
  Select (default p): p
  分区号 (3,4,默认 3):回车
  起始 扇区 (46565376-209715199,默认为 46565376):回车
  将使用默认值 46565376
  Last 扇区, +扇区 or +size{K,M,G} (46565376-209715199,默认为 209715199):+20G
  分区 3 已设置为 Linux 类型,大小设为 20 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)
  正在同步磁盘。

 

3、查看分区情况,可以看到我们刚刚创建的 sda3

[hi@hi ~]# fdisk -l

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    46565375    23076864   8e  Linux LVM
/dev/sda3        46565376    88508415    20971520   83  Linux

磁盘 /dev/mapper/centos-root:42.9 GB, 42949672960 字节,83886080 个扇区
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 字节

 

4、重启下

[hi@hi ~]# reboot

 

5、创建逻辑卷

[hi@hi ~]# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created

 

6、vgs查看vg组

[hi@hi ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  centos   1   3   0 wz--n- 40.00g 4.00m

 

7、扩展vg

[hi@hi ~]# vgextend centos /dev/sda3
  Volume group "centos" successfully extended

 

8、vg已经扩展了,查看lv情况

[hi@hi ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree 
  centos   2   3   0 wz--n- 60.00g 20.00g
[hi@hi ~]# lvs LV VG Attr LSize Pool Origin Data
% Meta% Move Log Cpy%Sync Convert home centos -wi-ao---- 10.00g root centos -wi-ao---- 20.00g swap centos -wi-ao---- 10.00g

 

9、扩展lv

[hi@hi ~]# lvextend -L +20G /dev/mapper/centos-root
  Size of logical volume centos/root changed from 20.00 GiB (5120 extents) to 40.00 GiB (10240 extents).
  Logical volume centos/root successfully resized.

 

10、lv已经扩展,查看磁盘情况

[hi@hi ~]# lvs
  LV   VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home centos -wi-ao---- 10.00g                                                    
  root centos -wi-ao---- 40.00g                                                    
  swap centos -wi-ao---- 10.00g       
[hi@hi ~]#
df -hl 文件系统 容量 已用 可用 已用% 挂载点 ... /dev/mapper/centos-root 20G 20G 0G 99% / ...

 

11、由于磁盘大小还每刷新,这里刷新下,再次查看,扩展成功

[hi@hi ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=5242880, 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 5242880 to 10485760

[hi@hi ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 ... /dev/mapper/centos-root 40G 20.0G 20G 50% / ... [hi@hi ~]#

 

posted @ 2020-06-21 17:24  凌雨尘  阅读(1848)  评论(0编辑  收藏  举报