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扩容思路
简单加硬盘的方式是无法满足需要的,或者说会很麻烦
正确的方式我认为有两种情况:
第一种 分区扩容
在一块硬盘的情况下,虚拟机的存储空间本身是支持动态扩容的,比如给虚拟机一块存储磁盘加10G,那么需要对这个磁盘重新添加一个分区去使用这10G,然后才可以实现扩容。
这有一个问题,由于一块磁盘最多只能加4个分区,因此如果已经存在4个主分区的情况下,目前我研究了好几天没有找到继续扩容的方法。
第二种 增加磁盘扩容
由于linux存在逻辑卷,因此可以通过将物理磁盘分配给逻辑卷,进而分配给对应的文件系统实现扩容。
添加一块硬盘
进行分区扩容
查看磁盘情况
[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