Linux磁盘扩容记录


Linux磁盘扩容记录


最近Docker把磁盘搞满了,需要扩容,但是因为之前已存在4个主分区,无法按照之前添加分区的方式扩容,那么该如何扩容??。

确定是否是磁盘满了

df -h

参数说明:

-a:列出所有的文件系统,包括系统特有的/proc等文件系统

-k:以KB的容量显示各文件系统

-m:以MB的容量显示各文件系统

-h:以人们较易阅读的GB,MB,KB等格式自行显示

-H:以M=1000K替代M=1024K的进位方式

-T:连同该分区的文件系统名称(例如ext3)也列出

-i:不用硬盘容量,而以inode的数量来显示

df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.5G     0  1.5G    0% /dev
tmpfs                    1.5G     0  1.5G    0% /dev/shm
tmpfs                    1.5G  1.1M  1.5G    1% /run
tmpfs                    1.5G     0  1.5G    0% /sys/fs/cgroup
/dev/mapper/centos-root   31G   13G   18G   42% /
/dev/sda1                497M  203M  295M   41% /boot
/dev/dm-3                 10G  470M  9.6G    5% /var/lib/docker/devicemapper/mnt/020c202f5b9d5ab0e0cb0856ddb55fa9ebcd36a6f70ad322bdf9e016b477200d
/dev/dm-4                 10G  286M  9.8G    3% /var/lib/docker/devicemapper/mnt/c4cab5565bf2f5b565e0909b2fe9226873278cc6438f685b9d3601b133401f45
/dev/dm-5                 10G  127M  9.9G    2% /var/lib/docker/devicemapper/mnt/aed8fb5fc3844e2f523c574df15357639906590a8f7e5416de5b4cf0149d24ef
/dev/dm-6                 10G  563M  9.5G    6% /var/lib/docker/devicemapper/mnt/5a3873407b088e4b66821eb5855d6f4af07b7b2496da52065362e315fd35bb95
shm                       64M     0   64M    0% /var/lib/docker/containers/acd6c0aa945b526d334adf1f2a6cee933a5e764cc00a9767316e55b1397d67f4/mounts/shm
/dev/dm-7                 10G  133M  9.9G    2% /var/lib/docker/devicemapper/mnt/7982e525892b8bb5bb5d7aef3cb7a3058ef30e7489f41996a10eec2449480e44
shm                       64M     0   64M    0% /var/lib/docker/containers/f2217919275ab29f99c52db543472ec70338c4e935d8c3a022034296340de6fa/mounts/shm
tmpfs                    302M     0  302M    0% /run/user/0

结果参数说明:

Filesystem:代表该文件系统是在哪个分区,所以列出设备名称

1k-blocks:说明下面的数字单位是1KB,可利用-h或-m来改变容量

Used:使用掉的硬盘空间

Available:剩下的磁盘空间大小

Use%:磁盘使用率

Mounted on:磁盘挂载的目录所在(挂载点)

显示每个目录的大小

du -sh /*

du参数:

-a : 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已;

-h : 以人们较易读的容量格式(G/M)显示;

-s : 列出总量,而不列出每个个别的目录占用了容量;

-S : 不包括子目录下的总计,与-s有点差别;

-k : 以KB列出容量显示;

-m : 以MB列出容量显示。

du -sh /*
0       /bin
177M    /boot
8.0K    /conf
0       /dev
37M     /etc
0       /home
0       /lib
0       /lib64
0       /media
0       /mnt
92M     /mynacos
48K     /myRedis
176K    /ndata
212M    /opt
du: 无法访问"/proc/16759": 没有那个文件或目录
du: 无法访问"/proc/16775": 没有那个文件或目录
du: 无法访问"/proc/16776/task/16776/fd/4": 没有那个文件或目录
du: 无法访问"/proc/16776/task/16776/fdinfo/4": 没有那个文件或目录
du: 无法访问"/proc/16776/fd/4": 没有那个文件或目录
du: 无法访问"/proc/16776/fdinfo/4": 没有那个文件或目录
0       /proc
850M    /root
1.1M    /run
0       /sbin
0       /srv
0       /sys
0       /tmp
3.3G    /usr
9.6G    /var

与df不一样的是,du会直接到文件系统内查找所有的文件数据。

du -S 显示当前目录下文件总容量(不包含子目录),而du则在最后显示该目录所有文件的总容量(包含子目录)

du -h –max-depth=1 寻找当前目录,哪个文件夹占用空间最大

磁盘分区补充

已存在4个主分区如何扩容?

sda 第一块硬盘

sdb 第二块硬盘

Linux下使用fdisk扩展分区容量

linux扩容思路

简单加硬盘的方式是无法满足需要的,或者说会很麻烦

Linux磁盘扩容记录
image-20210913102927703

正确的方式我认为有两种情况:

第一种 分区扩容

在一块硬盘的情况下,虚拟机的存储空间本身是支持动态扩容的,比如给虚拟机一块存储磁盘加10G,那么需要对这个磁盘重新添加一个分区去使用这10G,然后才可以实现扩容。

这有一个问题,由于一块磁盘最多只能加4个分区,因此如果已经存在4个主分区的情况下,目前我研究了好几天没有找到继续扩容的方法。

第二种 增加磁盘扩容

由于linux存在逻辑卷,因此可以通过将物理磁盘分配给逻辑卷,进而分配给对应的文件系统实现扩容。

Linux磁盘扩容记录
image-20210913113931646

添加一块硬盘

Linux磁盘扩容记录
image-20210913114015394
Linux磁盘扩容记录
image-20210913114040836

进行分区扩容

Linux磁盘扩容记录
image-20210913103718251

查看磁盘情况

[root@k8s-node01 ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.5G     0  1.5G    0% /dev
tmpfs                    1.5G     0  1.5G    0% /dev/shm
tmpfs                    1.5G  572K  1.5G    1% /run
tmpfs                    1.5G     0  1.5G    0% /sys/fs/cgroup
/dev/mapper/centos-root   31G   13G   18G   42% /
/dev/sda1                497M  203M  295M   41% /boot
tmpfs                    302M     0  302M    0% /run/user/0

[root@k8s-node01 ~]# lvdisplay ## 逻辑卷
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                G63387-gWCD-Nw3T-vQb6-W6zd-L4tY-x8VJuw
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2018-01-22 17:24:47 +0800
  LV Status              available
  # open                 0
  LV Size                820.00 MiB
  Current LE             205
  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                aUgoLI-DXHj-rC2N-3XFN-gd5r-6sWb-cdBEW4
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2018-01-22 17:24:48 +0800
  LV Status              available
  # open                 1
  LV Size                30.66 GiB
  Current LE             7849
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
[root@k8s-node01 ~]# vgdisplay  ## 卷组情况
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               1
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               31.50 GiB
  PE Size               4.00 MiB
  Total PE              8064
  Alloc PE / Size       8054 / 31.46 GiB
  Free  PE / Size       10 / 40.00 MiB
  VG UUID               G1IckR-BqGy-po4L-uYVw-zLMc-S037-jS7SDP
[root@k8s-node01 ~]# pvdisplay  ## 物理卷情况
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               7.51 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              1922
  Free PE               10
  Allocated PE          1912
  PV UUID               YZNg77-ijrg-XxkR-VGGx-h455-aSbg-eZTV2C
   
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               centos
  PV Size               8.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              2047
  Free PE               0
  Allocated PE          2047
  PV UUID               vLuh32-4fPQ-1pjU-vYA5-62Rj-3WcM-wW828V
   
  --- Physical volume ---
  PV Name               /dev/sda4
  VG Name               centos
  PV Size               16.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4095
  Free PE               0
  Allocated PE          4095
  PV UUID               xFwMIy-oHve-MOZJ-ulq7-iUzI-OaC6-fyrWK3
[root@k8s-node01 ~]# fdisk -l
## 这个是刚才新加的磁盘 也就是第二块硬盘
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    16777215     7875584   8e  Linux LVM
/dev/sda3        16777216    33554431     8388608   83  Linux
/dev/sda4        33554432    67108863    16777216   8e  Linux LVM

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


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

[root@k8s-node01 ~]# fdisk -l | grep '/dev' ##检索硬盘
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
磁盘 /dev/sda:34.4 GB, 34359738368 字节,67108864 个扇区
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    16777215     7875584   8e  Linux LVM
/dev/sda3        16777216    33554431     8388608   83  Linux
/dev/sda4        33554432    67108863    16777216   8e  Linux LVM
磁盘 /dev/mapper/centos-root:32.9 GB, 32921092096 字节,64299008 个扇区
磁盘 /dev/mapper/centos-swap:859 MB, 859832320 字节,1679360 个扇区



物理卷创建

[root@k8s-node01 ~]# fdisk /dev/sdb  ##磁盘分区
欢迎使用 fdisk (util-linux 2.23.2)。

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

Device does not contain a recognized partition table
使用磁盘标识符 0xa18a713b 创建新的 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 获取帮助):p

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   83  Linux

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

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@k8s-node01 ~]# mkfs.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
[root@k8s-node01 ~]# pvcreate /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.
[root@k8s-node01 ~]# pvdisplay ## 查看物理卷
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               7.51 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              1922
  Free PE               10
  Allocated PE          1912
  PV UUID               YZNg77-ijrg-XxkR-VGGx-h455-aSbg-eZTV2C
   
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               centos
  PV Size               8.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              2047
  Free PE               0
  Allocated PE          2047
  PV UUID               vLuh32-4fPQ-1pjU-vYA5-62Rj-3WcM-wW828V
   
  --- Physical volume ---
  PV Name               /dev/sda4
  VG Name               centos
  PV Size               16.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4095
  Free PE               0
  Allocated PE          4095
  PV UUID               xFwMIy-oHve-MOZJ-ulq7-iUzI-OaC6-fyrWK3
   
  "/dev/sdb1" is a new physical volume of "<20.00 GiB" ##新增的物理卷
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               <20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               Dg3kHw-7rzt-rMlO-40w1-j9lB-PGiL-yhT7Oc
  
 [root@k8s-node01 ~]# pvscan
  PV /dev/sda2   VG centos          lvm2 [<7.51 GiB / 40.00 MiB free]
  PV /dev/sda3   VG centos          lvm2 [<8.00 GiB / 0    free]
  PV /dev/sda4   VG centos          lvm2 [<16.00 GiB / 0    free]
  PV /dev/sdb1   VG centos          lvm2 [<20.00 GiB / 0    free]
  Total: 4 [<51.50 GiB] / in use: 4 [<51.50 GiB] / in no VG: 0 [0   ]

向对应卷组扩展

[root@k8s-node01 ~]# vgextend centos /dev/sdb1
  Volume group "centos" successfully extended
[root@k8s-node01 ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  10
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               1
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               <51.50 GiB ##以扩容
  PE Size               4.00 MiB
  Total PE              13183
  Alloc PE / Size       13173 / <51.46 GiB
  Free  PE / Size       10 / 40.00 MiB
  VG UUID               G1IckR-BqGy-po4L-uYVw-zLMc-S037-jS7SDP

向对应逻辑卷扩展

[root@k8s-node01 ~]# lvextend /dev/centos/root /dev/sdb1
  Size of logical volume centos/root changed from 30.66 GiB (7849 extents) to <50.66 GiB (12968 extents).
  Logical volume centos/root successfully resized.
[root@k8s-node01 ~]# lvdisplay  ## 查看逻辑卷情况
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                G63387-gWCD-Nw3T-vQb6-W6zd-L4tY-x8VJuw
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2018-01-22 17:24:47 +0800
  LV Status              available
  # open                 0
  LV Size                820.00 MiB
  Current LE             205
  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                aUgoLI-DXHj-rC2N-3XFN-gd5r-6sWb-cdBEW4
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2018-01-22 17:24:48 +0800
  LV Status              available
  # open                 1
  LV Size                <50.66 GiB
  Current LE             12968
  Segments               4
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

磁盘扩容

[root@k8s-node01 ~]# df -h ## 这个时候磁盘大小还更新
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.5G     0  1.5G    0% /dev
tmpfs                    1.5G     0  1.5G    0% /dev/shm
tmpfs                    1.5G  576K  1.5G    1% /run
tmpfs                    1.5G     0  1.5G    0% /sys/fs/cgroup
/dev/mapper/centos-root   31G   13G   18G   42% /
/dev/sda1                497M  203M  295M   41% /boot
tmpfs                    302M     0  302M    0% /run/user/0
[root@k8s-node01 ~]# xfs_growfs /dev/centos/root ## 刷新磁盘
meta-data=/dev/mapper/centos-root isize=256    agcount=19, agsize=436992 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=8037376, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
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 8037376 to 13279232
[root@k8s-node01 ~]# df -h ##再次查看发现已更新
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.5G     0  1.5G    0% /dev
tmpfs                    1.5G     0  1.5G    0% /dev/shm
tmpfs                    1.5G  576K  1.5G    1% /run
tmpfs                    1.5G     0  1.5G    0% /sys/fs/cgroup
/dev/mapper/centos-root   51G   13G   38G   26% /
/dev/sda1                497M  203M  295M   41% /boot
tmpfs                    302M     0  302M    0% /run/user/0

注意:一旦磁盘被挂载就不可以卸载掉。


原文始发于微信公众号(云户):Linux磁盘扩容记录

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/35219.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!