Linux系统扩容磁盘空间

Linux系统扩容磁盘空间

𝓓𝓸𝓷 Lv6
一、查看磁盘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
[root@dbrecover ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 12G 0 12G 0% /dev
tmpfs 12G 0 12G 0% /dev/shm
tmpfs 12G 34M 12G 1% /run
tmpfs 12G 0 12G 0% /sys/fs/cgroup
/dev/mapper/centos-root 2.9T 2.2T 693G 77% /
/dev/mapper/centos-home 2.2G 34M 2.1G 2% /home
/dev/sda1 1014M 207M 808M 21% /boot
tmpfs 2.4G 0 2.4G 0% /run/user/1000
tmpfs 2.4G 0 2.4G 0% /run/user/0

[root@dbrecover ~]# fdisk -l

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

设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 629145599 313523200 8e Linux LVM
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

磁盘 /dev/sdb:2147.5 GB, 2147483648000 字节,4194304000 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
Disk identifier: 965890DA-6F68-49DD-B6B6-49E20A2BCF27

# Start End Size Type Name
1 2048 4194301951 2T Microsoft basic 1

磁盘 /dev/sdc:644.2 GB, 644245094400 字节,1258291200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdd:2147.5 GB, 2147483648000 字节,4194304000 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

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

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

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

磁盘 /dev/sde:2199.0 GB, 2199023255552 字节,4294967296 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x399ccde8

设备 Boot Start End Blocks Id System
/dev/sde1 2048 4294967294 2147482623+ 83 Linux

磁盘 /dev/sdf:2199.0 GB, 2199023255552 字节,4294967296 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
二、刷新磁盘

如果新添加的磁盘没有发现,则可以使用以下命令扫描磁盘,否则需要重启服务器,影响业务

1
2
3
4
5
[root@dbrecover /]# ls /sys/class/scsi_host/

[root@dbrecover /]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@dbrecover /]# echo "- - -" > /sys/class/scsi_host/host1/scan
[root@dbrecover /]# echo "- - -" > /sys/class/scsi_host/host2/scan
三、确认新增磁盘名称
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@dbrecover ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 300G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 299G 0 part
├─centos-root 253:0 0 2.8T 0 lvm /
├─centos-swap 253:1 0 7.9G 0 lvm [SWAP]
└─centos-home 253:2 0 2.1G 0 lvm /home
sdb 8:16 0 2T 0 disk
└─sdb1 8:17 0 2T 0 part
└─centos-root 253:0 0 2.8T 0 lvm /
sdc 8:32 0 600G 0 disk
└─centos-root 253:0 0 2.8T 0 lvm /
sdd 8:48 0 2T 0 disk
sde 8:64 0 2T 0 disk
└─sde1 8:65 0 2T 0 part
sdf 8:80 0 2T 0 disk
sr0 11:0 1 1024M 0 rom

lsblk命令可以确认哪些磁盘已被使用,由上图可知sdd,sdf为新增加的两块2T空闲磁盘
四、磁盘分区
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
[root@dbrecover ~]# fdisk /dev/sdd
欢迎使用 fdisk (util-linux 2.23.2)。

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

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

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

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

Calling ioctl() to re-read partition table.
正在同步磁盘。xxxxxxxxxx

[root@dbrecover ~]# fdisk /dev/sdf
欢迎使用 fdisk (util-linux 2.23.2)。

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

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

WARNING: The size of this disk is 2.2 TB (2199023255552 bytes).
DOS partition table format can not be used on drives for volumes
larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID
partition table format (GPT).

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

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

Calling ioctl() to re-read partition table.
正在同步磁盘。

[root@dbrecover /]# partprobe /dev/sdd
[root@dbrecover /]# partprobe /dev/sdf
五、查看物理卷/卷组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
[root@dbrecover ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size <299.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 76543
Free PE 0
Allocated PE 76543
PV UUID shOicv-OgSt-YjBa-PclN-5Kdt-aw3W-swwFmm

--- Physical volume ---
PV Name /dev/sdb1
VG Name centos
PV Size 1.95 TiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 511999
Free PE 0
Allocated PE 511999
PV UUID JJguRM-Ktl0-MJQ8-3ICs-uzPd-ysZO-5dUKiG

--- Physical volume ---
PV Name /dev/sdc
VG Name centos
PV Size 600.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 153599
Free PE 0
Allocated PE 153599
PV UUID Qj0dxi-Z3bs-pZ0g-KPL6-ZyXQ-dEFV-5W95z8

[root@dbrecover ~]# 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 3
Open LV 3
Max PV 0
Cur PV 3
Act PV 3
VG Size 2.83 TiB
PE Size 4.00 MiB
Total PE 742141
Alloc PE / Size 742141 / 2.83 TiB
Free PE / Size 0 / 0
VG UUID T9WvpJ-XlyM-yckQ-YDPf-sTIy-AYih-YWQWSR
六、创建物理卷
1
2
3
4
5
[root@dbrecover ~]# pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created.

[root@dbrecover ~]# pvcreate /dev/sdf1
Physical volume "/dev/sdf1" successfully created.
七、扩容卷组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[root@dbrecover ~]# vgextend centos /dev/sdd1
Volume group "centos" successfully extended

[root@dbrecover ~]# vgextend centos /dev/sde1
Physical volume "/dev/sde1" successfully created.

[root@dbrecover ~]# vgextend centos /dev/sdf1
Volume group "centos" successfully extended

---如果是创建卷组,则使用以下命令
vgcreate vg01 /dev/sdd1

[root@dbrecover ~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 6
Metadata Sequence No 11
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 6
Act PV 6
VG Size 8.78 TiB
PE Size 4.00 MiB
Total PE 2302714
Alloc PE / Size 742141 / 2.83 TiB
Free PE / Size 1560573 / 5.95 TiB
VG UUID T9WvpJ-XlyM-yckQ-YDPf-sTIy-AYih-YWQWSR
八、扩容逻辑卷
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
---扩容root分区

[root@dbrecover /]# lvextend -l +100%FREE /dev/mapper/centos-root
Size of logical volume centos/root changed from 2.82 TiB (739583 extents) to 8.77 TiB (2300156 extents).
Logical volume centos/root successfully resized.

-l + :指定逻辑卷的LE个数,如 -l +200
-L + :表示增加多少空间,如 -L +15G ,单位有bBsSkKmMgGtTpPeE
-l +100%FREE:表示增加vg的全部可用空间

[root@dbrecover /]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home centos -wi-ao---- <2.12g
root centos -wi-ao---- 8.77t
swap centos -wi-ao---- <7.88g

[root@dbrecover /]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 6 3 0 wz--n- 8.78t 0

[root@dbrecover /]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 12G 0 12G 0% /dev
tmpfs tmpfs 12G 0 12G 0% /dev/shm
tmpfs tmpfs 12G 34M 12G 1% /run
tmpfs tmpfs 12G 0 12G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 2.9T 88G 2.8T 4% /
/dev/mapper/centos-home xfs 2.2G 34M 2.1G 2% /home
/dev/sda1 xfs 1014M 207M 808M 21% /boot
tmpfs tmpfs 2.4G 0 2.4G 0% /run/user/1000
tmpfs tmpfs 2.4G 0 2.4G 0% /run/user/0

逻辑卷还是2.9T,说明即使lv增大了但文件系统并未感知到lv增大了
#原来这是lvm的mapper机制决定的,当我们lvcreate一个逻辑卷的时候,Linux会新建两个软链接文件,
#如/dev/PVName/PVName和/dev/mapper/PVName-LVName,而这2个文件都是指向/dev/dm-X 块文件的,所有,当我们使用df -h看
#到的/dev/mapper/mysql-lv_data其实是和/dev/mysql/lv_data一样的,不管我们使用哪个都是可以的。

#查看你的逻辑卷是什么文件系统类型,如果是xfs文件系统,使用xfs_growfs命令扩展容量:
xfs_growfs /dev/mysql/lv_data
#查看你的逻辑卷是什么文件系统类型,如果是ext4文件系统,使用resize2fs命令扩展容量:
resize2fs /dev/root_vg/root
九、文件系统扩容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@dbrecover /]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=40, agsize=18939904 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=757332992, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=36992, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 757332992 to 2355359744

[root@dbrecover /]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 12G 0 12G 0% /dev
tmpfs tmpfs 12G 0 12G 0% /dev/shm
tmpfs tmpfs 12G 34M 12G 1% /run
tmpfs tmpfs 12G 0 12G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 8.8T 88G 8.7T 1% /
/dev/mapper/centos-home xfs 2.2G 34M 2.1G 2% /home
/dev/sda1 xfs 1014M 207M 808M 21% /boot
tmpfs tmpfs 2.4G 0 2.4G 0% /run/user/1000
tmpfs tmpfs 2.4G 0 2.4G 0% /run/user/0
  • Title: Linux系统扩容磁盘空间
  • Author: 𝓓𝓸𝓷
  • Created at : 2024-07-13 10:13:25
  • Updated at : 2024-07-20 05:15:41
  • Link: https://www.zhangdong.me/expand-disk-capacity.html
  • License: This work is licensed under CC BY-NC-SA 4.0.
评论