虚拟机(Vmware)磁盘扩容
此处是自己作为学习的笔记,更深层还未理解。虚拟机扩容有两种:在设备内部操作会不一样 1.在磁盘设置位置,将原内存扩大(见图1); 2.在磁盘设置位置,挂载一块新的磁盘上去(见图2);图1图2以上是磁盘的扩容两种方式,新的磁盘扩容进去,需要进行分区或扩容。我理解的大概常见类型: 1.新增
此处是自己作为学习的笔记的实验操作,也是小白学习过程的理解,请不要直接在正式环境搞。
- [一] 虚拟机扩容分两种:( 方法不同,在虚拟主机操作命令会不一样)
1.在VM管理的硬盘处直接变更,将原磁盘扩大容量(见图1);该方法是直接变更磁盘大小,需要1个前提:没有快照。
2.在VM管理的硬盘处新增硬盘,挂载一块新的磁盘上去(见图2);
原磁盘扩容 图1
新增磁盘扩容 图2
一、在同一存储盘直接新增扩容,扩大到已用空间中(图1的方法)。
假设我需将同一磁盘下的新增空间扩容至原有空间中:
(一)【无卷组】xfs格式配置,在同一存储盘直接扩容。
参考如下。
df -PTh #(disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
文件-P, --portability 使用 POSIX 输出格式
文件-T, --print-type 显示文件系统的形式
xfs_growfs # XFS格式已被最新的CentOS/RHEL 7采用,成为其默认的文件系统。
xfs_growfs,在大多数Linux默认可用。XFS支持在线调整大小,目标文件系统可以挂载,也可
以不挂载。在已经挂载的情况下可以进行扩展,缩减却还没有支持。
例子:
[root@localhost boot]# xfs_growfs /dev/sda3
meta-data=/dev/sda3 isize=512 agcount=4, agsize=1160384 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=4641536, 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 4641536 to 7262976
当前需要扩容/dev/sda3的xfs格式的存储
1)查看当前空间分配情况 lsblk
当前sda总空间27G,sda磁盘分配了3个主分区,其中sda3使用的是 / 目录,使用17G,需要进sda3空间扩容。
2)进入sda磁盘进行设置 fdisk /dev/sda(具体干什么?注意什么?) ps:存储扩大后不能缩小
(1)fdisk /dev/sda
进入磁盘配置;
p
(print) 输出当前磁盘分区情况;
d
(delete) 删除sda3磁盘(空间大小为:4810752-41943039) 。
(2)n
(new) 新建磁盘;
p
(primary) 进行新建主分区磁盘;(一块硬盘顶多只能分四块主分区)
3
新建磁盘空间名3新建磁盘(空间大小为:4810752-56623103);
(3) w
(write)保存,保存写入新的配置,磁盘分配配置
[root@localhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在存储中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/sda:29.0 GB, 28991029248 字节,56623104 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00019be8
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 616447 307200 83 Linux
/dev/sda2 616448 4810751 2097152 82 Linux swap / Solaris
/dev/sda3 4810752 41943039 18566144 83 Linux
命令(输入 m 获取帮助):d
分区号 (1-3,默认 3):3
分区 3 已删除
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):3
起始 扇区 (4810752-56623103,默认为 4810752):
将使用默认值 4810752
Last 扇区, +扇区 or +size{K,M,G} (4810752-56623103,默认为 56623103):
将使用默认值 56623103
分区 3 已设置为 Linux 类型,大小设为 24.7 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)reboot
重启虚拟机,将刚刚的设置进行保存应用
4)xfs_growfs /dev/sda3
刷新存储空间,实现对存储扩容
5)lsblk
输出磁盘结构 df -PTh
输出磁盘使用情况 (成功将同磁盘的新增空间,扩容到已有空间)
2.如果是ext2iext3ext4格式的文件直接输入以下命令resize2fs /dev/sdb
进行扩容(此处以ext4的类型进行操作,xfs类型参考上面链接)
resize2fs # (当前这种在我测试中没出现数据丢失的情况)
调整ext2iext3ext4文件系统的大小,它可以放大或者缩小没有挂载的文件系统的大小。
如果文件系统已经挂载,它可以扩大文件系统的大小,前提是内核支持在线调整大小。
[root@192 ~]# resize2fs /dev/sdb
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/sdb is mounted on /ggyy; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 2
The filesystem on /dev/sdb is now 3932160 blocks long.
—————————————————————————————————————————————————————————————————————————————————————————————
(二)【有卷组】xfs格式,在同一存储盘直接扩容(图1的方法)。
可参考如下;也可参考这个链接:LVM原理详解及实战(点击跳转)
1.lvm组成:(从下(磁盘)到上(文件)的结构)
PV,物理卷,是操作系统获取到的磁盘。
VG,卷组,由物理卷组成形成的整体卷组。
LV,逻辑卷,从卷组上分割下来,供人使用的存储单元,并且要mount挂载到目录可存储。
在部署LVM时,要依次配置物理卷(pv)、卷组(vg)、逻辑卷(lv),扩容需要先扩容物理卷(pv)、再扩容 卷组(vg)、最后扩容 逻辑卷(lv)。常用的LVM部署命令如下表所示:
功能/命令 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
扫描(命令执行后)↓ | pvs | vgs | lvs |
命令执行后磁盘状态 | /dev/vd* | /dev/sd* └─centoslinux | /dev/sd* └─centoslinux-lv00 |
建立 | pvcreate | vgcreate | lvcreate |
显示 | pvdisplay | vgdisplay | lvdispaly |
删除 | pvremote | vgremote | lvremote |
扩展 | 物理卷不能扩展 | vgextend | lvextend |
缩小 | 物理卷不能缩小 | vgreduce | lvreduce |
2. 实验目标:操作前sdb磁盘下已用三个分区,其中2个分区组成lvm、1个磁盘直接挂载;操作后需在同一磁盘下,将新的分配的空间扩容到sdb下的lvm空间中。
(1)操作前:控制台管理台查看当前磁盘空间。
[root@localhost ~]#
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17.7G 0 part /
sdb 8:16 0 6G 0 disk
├─sdb1 8:17 0 2G 0 part
│ └─centos-linxu 253:0 0 3.9G 0 lvm /data
├─sdb2 8:18 0 2G 0 part /ggyy
└─sdb3 8:19 0 2G 0 part
└─centos-linxu 253:0 0 3.9G 0 lvm /data
sr0 11:0 1 1024M 0 rom
[root@localhost ~]#
(2)在控制台扩容存储空间,并在lsblk
和fdisk -l
下检查磁盘空间。通过lsblk确定,已经sdb/vdb的6G空间扩大到10G,现在需要将新增的空间单独创建分区,并将分区制作为物理卷(pv)再制作为卷组(vg)在扩容至逻辑卷(lv)。
[root@localhost ~]#
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17.7G 0 part /
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 2G 0 part
│ └─centos-linxu 253:0 0 3.9G 0 lvm
├─sdb2 8:18 0 2G 0 part
└─sdb3 8:19 0 2G 0 part
└─centos-linxu 253:0 0 3.9G 0 lvm
sr0 11:0 1 1024M 0 rom
[root@localhost ~]#
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x73600d2a
Device Boot Start End Blocks Id System
/dev/sdb1 2048 4150000 2073976+ 83 Linux
/dev/sdb2 4151296 8388607 2118656 83 Linux
/dev/sdb3 8388608 12582911 2097152 83 Linux
(3)需要将新增的空间单独创建分区,通过fdisk /dev/vdb
创建/dev/vdb4;通过fdisk -l
确定新区已建好;此时先reboot
重启服务器,再用mkfs.ext4 /dev/sdb4
将/dev/vdb4格式化。
[root@localhost ~]#
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x73600d2a
Device Boot Start End Blocks Id System
/dev/sdb1 2048 4150000 2073976+ 83 Linux
/dev/sdb2 4151296 8388607 2118656 83 Linux
/dev/sdb3 8388608 12582911 2097152 83 Linux
Command (m for help): n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p
Selected partition 4
First sector (4150001-20971519, default 12582912):
Using default value 12582912
Last sector, +sectors or +size{K,M,G} (12582912-20971519, default 20971519):
Using default value 20971519
Partition 4 of type Linux and of size 4 GiB is set
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
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)
Syncing disks.
[root@localhost ~]#
[root@localhost ~]
[root@localhost ~]fdisk -l
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x73600d2a
Device Boot Start End Blocks Id System
/dev/sdb1 2048 4150000 2073976+ 83 Linux
/dev/sdb2 4151296 8388607 2118656 83 Linux
/dev/sdb3 8388608 12582911 2097152 83 Linux
/dev/sdb4 12582912 20971519 4194304 83 Linux
Disk /dev/mapper/centos-linxu: 4190 MB, 4190109696 bytes, 8183808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
[root@localhost ~]#
[root@localhost ~]# reboot
Connection to 192.168.100.129 closed by remote host.
Connection to 192.168.100.129 closed.
PS C:\Users\chenc>
[root@localhost ~]#
[root@localhost ~]# mkfs.ext4 /dev/sdb4
mke2fs 1.42.9 (28-Dec-2013)
Could not stat /dev/sdb4 --- No such file or directory
The device apparently does not exist; did you specify it correctly?
[root@localhost ~]#
(4)制作物理卷(pv)。通过pvs、pvdisplay展示当前的物理卷,并根据pvcreate /dev/sdb /dev/sdb4
命令制作物理卷(在/dev/sdb磁盘中的/dev/sdb4创建为物理卷),再通过pvs、pvdispaly确认已成功创建/dev/sdb4物理卷。
[root@localhost ~]#
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 centos lvm2 a-- <1.98g 0
/dev/sdb3 centos lvm2 a-- <2.00g 72.00m
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name centos
PV Size <1.98 GiB / not usable 647.50 KiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 506
Free PE 0
Allocated PE 506
PV UUID xd9BhF-05pZ-OoMN-SacB-yZSx-NPSY-HWNDFD
--- Physical volume ---
PV Name /dev/sdb3
VG Name centos
PV Size 2.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 511
Free PE 18
Allocated PE 493
PV UUID 0Z2dEp-SxeV-G1qE-UvEO-k18Q-QXHb-WrGhqy
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# pvcreate /dev/sdb /dev/sdb4
Device /dev/sdb not found (or ignored by filtering).
Physical volume "/dev/sdb4" successfully created.
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 centos lvm2 a-- <1.98g 0
/dev/sdb3 centos lvm2 a-- <2.00g 72.00m
/dev/sdb4 lvm2 --- 4.00g 4.00g
[root@localhost ~]#
[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name centos
PV Size <1.98 GiB / not usable 647.50 KiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 506
Free PE 0
Allocated PE 506
PV UUID xd9BhF-05pZ-OoMN-SacB-yZSx-NPSY-HWNDFD
--- Physical volume ---
PV Name /dev/sdb3
VG Name centos
PV Size 2.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 511
Free PE 18
Allocated PE 493
PV UUID 0Z2dEp-SxeV-G1qE-UvEO-k18Q-QXHb-WrGhqy
"/dev/sdb4" is a new physical volume of "4.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb4
VG Name
PV Size 4.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 8741WI-KLy1-6zVW-TChn-pQaT-A46B-bpLIw1
[root@localhost ~]#
(5)制作卷组(vg)。通过vgs
、vgdispaly
查看当前的卷组情况,再通过vgextend centos /dev/sdb4
将新的物理卷(pv)扩容组成名为centos
的卷组中(vg),并通过vgs
、vgdispaly
查看当前的卷组情况。
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 1 0 wz--n- 3.97g 72.00m
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 3.97 GiB
PE Size 4.00 MiB
Total PE 1017
Alloc PE / Size 999 / 3.90 GiB
Free PE / Size 18 / 72.00 MiB
VG UUID lwWViu-G030-LrKU-zucs-MQz6-Uo7Y-8Dc7Dk
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 3 1 0 wz--n- <7.97g <4.07g
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# 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 1
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size <7.97 GiB
PE Size 4.00 MiB
Total PE 2040
Alloc PE / Size 999 / 3.90 GiB
Free PE / Size 1041 / <4.07 GiB
VG UUID lwWViu-G030-LrKU-zucs-MQz6-Uo7Y-8Dc7Dk
(6)扩容逻辑卷(lv)。通过lvs
、lvdispaly
查看当前的逻辑卷情况,将新增的卷组/dev/sdb4扩容到逻辑卷组,使用lvextend -L 7.9G /dev/centos/linxu /dev/sdb1 /dev/sdb3 /dev/sdb4
命令,将/dev/sdb1、/dev/sdb2、/dev/sdb3组成名称为centos的逻辑卷中,并通过lvs
、lvdispaly
查看当前的逻辑卷情况。
[root@localhost ~]#
[root@localhost ~]# lvextend -L 7.9G /dev/centos/linxu /dev/sdb1 /dev/sdb3 /dev/sdb4
WARNING: No free extents on physical volume "/dev/sdb1".
Rounding size to boundary between physical extents: 7.90 GiB.
Size of logical volume centos/linxu changed from 3.90 GiB (999 extents) to 7.90 GiB (2023 extents).
Logical volume centos/linxu successfully resized.
[root@localhost ~]#
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
linxu centos -wi-a----- 7.90g
[root@localhost ~]#
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centos/linxu
LV Name linxu
VG Name centos
LV UUID 07gJOh-o58q-6b5L-uqeS-DeP2-S0BO-ty1Xzv
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2023-09-21 20:36:38 -0700
LV Status available
# open 0
LV Size 7.90 GiB
Current LE 2023
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@localhost ~]#
(7)将逻辑卷挂载,并通过xfs_growfs /dev/centos/linxu
刷新逻辑卷磁盘空间,并用lsblk
、df -PTh
确认挂载和扩容成功。
[root@localhost ~]#
[root@localhost ~]# mount /dev/centos/linxu /data
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# xfs_growfs /dev/centos/linxu
meta-data=/dev/mapper/centos-linxu isize=512 agcount=4, agsize=124672 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=498688, 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 498688 to 2071552
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17.7G 0 part /
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 2G 0 part
│ └─centos-linxu 253:0 0 7.9G 0 lvm /data
├─sdb2 8:18 0 2G 0 part
├─sdb3 8:19 0 2G 0 part
│ └─centos-linxu 253:0 0 7.9G 0 lvm /data
└─sdb4 8:20 0 4G 0 part
└─centos-linxu 253:0 0 7.9G 0 lvm /data
sr0 11:0 1 1024M 0 rom
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# df -PTh
[root@localhost ~]#
[root@localhost ~]# df -PTh
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 18G 5.0G 13G 28% /
devtmpfs devtmpfs 898M 0 898M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.1M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 297M 157M 141M 53% /boot
tmpfs tmpfs 183M 12K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/centos-linxu xfs 7.9G 33M 7.9G 1% /data
[root@localhost ~]#
二、在不同存储盘直接新增扩容,扩大到已用空间中(图2的方法)。
(一)【有卷组】XFS格式,可参考如下。
(1)在关机状态下执行,在原存储盘进行扩容4GB后开机进行。
(2)扩容后检查下各磁盘状态。通过lsblk
查看各磁盘真实大小,结合上图与下命令,可知/dev/sdb 3Gb、/dev/sdc 4Gb、/dev/sdd 9Gb。
[root@localhost ~]#
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17.7G 0 part /
sdb 8:16 0 3G 0 disk
└─centoslinux-lv00 253:0 0 12G 0 lvm
sdc 8:32 0 4G 0 disk
└─centoslinux-lv00 253:0 0 12G 0 lvm
sdd 8:48 0 9G 0 disk
└─centoslinux-lv00 253:0 0 12G 0 lvm
sr0 11:0 1 1024M 0 rom
(3)通过pvdisplay
查看对应物理卷真实大小,可知存储如下:/dev/sdb 3Gb、/dev/sdc 4Gb、/dev/sdd 5Gb,可确定需要将/dev/sdd的物理卷从5Gb扩容至9Gb。
[root@localhost ~]#
[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb
VG Name centoslinux
PV Size 3.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 767
Free PE 0
Allocated PE 767
PV UUID CZbN4c-L1S1-0dmm-t1jq-erQo-yqHs-1aCHBc
--- Physical volume ---
PV Name /dev/sdc
VG Name centoslinux
PV Size 4.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1023
Free PE 0
Allocated PE 1023
PV UUID tSh9KI-efoV-BR2c-YlTc-A9Uv-sVC9-DQ39Pj
--- Physical volume ---
PV Name /dev/sdd
VG Name centoslinux
PV Size <5.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1279
Free PE 0
Allocated PE 1279
PV UUID TI4pTB-MTxO-itAt-UchK-9fiy-9iOY-wVwb8D
[root@localhost ~]#
(4)扩容物理卷(pv)。通过pvresize /dev/sd*
刷新具体的存储盘,再通过pvdisplay
查看对应物理卷真实大小,此时/dev/vdd已为9Gb,则成功将物理磁盘新增的空间划入到逻辑卷(pv)中。
[root@localhost ~]#
[root@localhost ~]# pvresize /dev/sdd
Physical volume "/dev/sdd" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb
VG Name centoslinux
PV Size 3.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 767
Free PE 0
Allocated PE 767
PV UUID CZbN4c-L1S1-0dmm-t1jq-erQo-yqHs-1aCHBc
--- Physical volume ---
PV Name /dev/sdc
VG Name centoslinux
PV Size 4.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1023
Free PE 0
Allocated PE 1023
PV UUID tSh9KI-efoV-BR2c-YlTc-A9Uv-sVC9-DQ39Pj
--- Physical volume ---
PV Name /dev/sdd
VG Name centoslinux
PV Size <9.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 2303
Free PE 1024
Allocated PE 1279
PV UUID TI4pTB-MTxO-itAt-UchK-9fiy-9iOY-wVwb8D
[root@localhost ~]#
(5)扩容卷组(vg)。我在实验过程中,直接输入vgs
查看已经达到扩容,不需要进行该(4)扩容卷组,而进行(5)扩容逻辑卷(lv)的操作。
如果是其他空间未分配,则通过vgextend centos**** /dev/sd*
命令,将物理卷(pv)名称为/dev/sd*
的空间融入至卷组(vg)名称为centos****
中,再通过vgdisplay
查看卷组(vg)的空间。
[root@localhost ~]#
[root@localhost ~]# vgextend centoslinux /dev/sdd
Can't open /dev/sdd exclusively. Mounted filesystem?
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name centoslinux
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size <15.99 GiB
PE Size 4.00 MiB
Total PE 4093
Alloc PE / Size 3069 / <11.99 GiB
Free PE / Size 1024 / 4.00 GiB
VG UUID QO1nE5-QjCq-2gNd-NWuV-UfR9-VzSy-ts6kAv
[root@localhost ~]#
(6)扩容逻辑卷(lv)。通过lvs
和lvdisplay
查看当前逻辑卷空间。
[root@localhost ~]#
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv00 centoslinux -wi-a----- <11.99g
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centoslinux/lv00
LV Name lv00
VG Name centoslinux
LV UUID ekpLhA-e3A6-dVKb-Rd0N-1kXx-9dND-ziQkWI
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2023-09-20 21:56:41 -0700
LV Status available
# open 0
LV Size <11.99 GiB
Current LE 3069
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@localhost ~]#
再利用lvextend /dev/centoslinux/lv00 /dev/sdd
命令,将物理卷(pv)名为/dev/sdd组成卷组(vg)名称为centoslinux
的空间融入至名称为lv00
的逻辑卷(lv)中,再通过vgdisplay
查看卷组(vg)的空间,当前已将12Gb的存储卷组扩容至15.99Gb。
# lvextend-l +25 /dev/centos/lv00
表示对LVM的逻辑卷进行扩容,-L表示扩容后的大小而不是增加的大小,也可以使用-l参数指定大小。
[root@localhost ~]#
[root@localhost ~]# lvextend /dev/centoslinux/lv00 /dev/sdd
Size of logical volume centoslinux/lv00 changed from <11.99 GiB (3069 extents) to <15.99 GiB (4093 extents).
Logical volume centoslinux/lv00 successfully resized.
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv00 centoslinux -wi-a----- <15.99g
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centoslinux/lv00
LV Name lv00
VG Name centoslinux
LV UUID ekpLhA-e3A6-dVKb-Rd0N-1kXx-9dND-ziQkWI
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2023-09-20 21:56:41 -0700
LV Status available
# open 0
LV Size <15.99 GiB
Current LE 4093
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@localhost ~]#
(7)刷新存储情况。最后使用xfs_growfs /dev/centos/linux
,刷新使用的逻辑卷/dev/centos/linux
。再通过mount
进行挂载使用的逻辑卷,最后利用df -PTh
确认磁盘已更新,至此逻辑卷扩容完成。(注意:/etc/fstab存储默认挂载信息,如果没有配置,重启后需要手动挂载。)
可使用如:echo “/dev/centos/linux /data ext4 defaults 0 0” >> /etc/fstab
[root@localhost ~]#
[root@localhost ~]# xfs_growfs /dev/centos/linux
meta-data=/dev/mapper/centos-linux isize=512 agcount=4, agsize=262144 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=1048576, 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 1048576 to 2619392
[root@localhost ~]#
(二)【无卷组】xfs格式配置,在不同存储盘直接扩容。
df -PTh #(disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
文件-P, --portability 使用 POSIX 输出格式
文件-T, --print-type 显示文件系统的形式
fdisk -l # 命令查看数据盘的已分区和未分区的信息。
使用“df –h”命令,无法看到未分区和格式化的数据盘。
lsblk # 列出所有可用块设备的信息,而且还能显示他们之间的依赖关系
例子:
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk # sda磁盘(30G)分了3块区域,3块区域挂载位置和大小
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17.7G 0 part / # 可看出sda还有空间未分配(分配方法见后面“二”)
sdb 8:16 0 15G 0 disk /ggyy # sdb这是第二块磁盘
sr0 11:0 1 1024M 0 rom
上图中的 /dev下有两块磁盘:sda、sdb。
那sda3哪儿来的?一块硬盘顶多只能分四块主分区,sda3是sda磁盘的第三块分区(如果进行分区,可以进行逻辑卷,物理卷,卷组操作,当前我还理解清晰。);也可不进行分区,如果不进行分区,可以直接将整块硬盘进行挂载操作。
1.新增加的磁盘(/dev/sdb),将新增加的磁盘进行挂载新的空间中(创建目录,进行挂载)
2.此处的情况就是报错,需要将磁盘进行格式化再进行挂载。
mkfs.ext4 /dev/sdb # 将磁盘格式化未ext4格式
[root@192 ~]# mkfs.ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
无论如何也要继续? (y,n) y
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
...................................................
3.格式化后成功将新的磁盘(即磁盘2)挂载使用。如果新的磁盘(/dev/sdb)中有数据(先做备份),谨慎操作。/ggyy目录下的使用的物理磁盘,再遇到重启时,会掉,需要重新挂载。
如长期使用,如云平台等服务器,需要设置,在系统启动的时候自动挂载。
echo "/dev/sdb /ggyy ext4 defaults 0 0" >> /etc/fstab
[root@192 ~]# cat /etc/fstab
# /etc/fstab
# Created by anaconda on Sun Jan 24 04:28:10 2021
# 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
UUID=9f59f137-198f-41ad-b8d5-d161c2b503ee / xfs defaults 0 0
UUID=94870b22-13d9-4f6a-9c70-993056dbb3ca /boot xfs defaults 0 0
UUID=029976c9-1f7b-4ea3-adc5-f724f3b6e60d swap swap defaults 0 0
/dev/sdb /ggyy ext4 defaults 0 0 #具体意思需要百度,大概是开机默认以ext4格式进行默认挂载
更多推荐
所有评论(0)