ubuntu扩展虚拟你

ops/2024/12/12 3:04:32/

在我们安装ubuntu时,如果选择的是自动分区,就会按照逻辑卷的形式来分区,并且只分配100G其余的并不会被分配

这对我们大多数情况来说都是不合理的,所以,如何扩充呢

下面以一个小的案例来说明如何扩充

问题
磁盘空间已满

Usage of /: 99.8% of 9.75GB
df、fdisk查看磁盘占用情况

df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 197M 1.4M 196M 1% /run
/dev/mapper/ubuntu–vg-ubuntu–lv 9.8G 9.3G 0 100% /
tmpfs 983M 0 983M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda2 1.7G 253M 1.4G 16% /boot
tmpfs 197M 4.0K 197M 1% /run/user/1000
fdisk -l

Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt

Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 3674111 3670016 1.8G Linux filesystem
/dev/sda3 3674112 33552383 29878272 14.2G Linux filesystem
查看磁盘挂载情况

lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1.8G 0 part /boot
└─sda3 8:3 0 14.2G 0 part
└─ubuntu–vg-ubuntu–lv 253:0 0 9.8G 0 lvm /
可以看到sda3有15G,但是只分配了10G。

命令vgdisplay可以查看lvm卷组的信息;

vgdisplay
如果看到 Free PE / Size > 0,表示还有扩容空间。

解决
这里分两种情况进行处理:

LV(Logical Volume) 没有用尽 VG(Volume Group)。

VG(Volume Group) 没有用尽 PV(Physical Volume),或者 PV(Physical Volume) 没有关联物理分区。

LV 使用全部 VG
使用lvresize扩容剩下所有空间。

#lvextend -L 10G /dev/mapper/ubuntu–vg-ubuntu–lv //增大或减小至19G
#lvextend -L +10G /dev/mapper/ubuntu–vg-ubuntu–lv //增加10G
#lvreduce -L -10G /dev/mapper/ubuntu–vg-ubuntu–lv //减小10G
#lvresize -l +100%FREE /dev/mapper/ubuntu–vg-ubuntu–lv //按百分比扩

lvresize -l +100%FREE /dev/mapper/ubuntu–vg-ubuntu–lv
执行resize2fs使扩容生效 【注意:不执行这个命令以上修改是不会生效的!】

resize2fs /dev/mapper/ubuntu–vg-ubuntu–lv
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/mapper/ubuntu–vg-ubuntu–lv is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 2
The filesystem on /dev/mapper/ubuntu–vg-ubuntu–lv is now 3734528 (4k) blocks long.
查看结果

vgdisplay
— Volume group —
VG Name ubuntu-vg
System ID
Format lvm2
VG Size <14.25 GiB
PE Size 4.00 MiB
Total PE 3647
Alloc PE / Size 3647 / <14.25 GiB
Free PE / Size 0 / 0
VG 关联物理分区进行扩容
补充:本系统使用的是虚拟机,所以需要在虚拟机设置中先扩容“物理”硬盘空间。

接下来采用的方法是:不修改原有分区,在新的空间上新建分区,并添加到LVM的LV中。

创建分区 sda4,并设置为 lvm 类型:

修改前分区状态

$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1.8G 0 part /boot
└─sda3 8:3 0 14.2G 0 part
└─ubuntu–vg-ubuntu–lv 253:0 0 14.2G 0 lvm /

开始分区

$ sudo fdisk /dev/sda

Command (m for help): m #查看帮助

Help:

GPT
M enter protective/hybrid MBR

Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition

Misc
m print this menu
x extra functionality (experts only)

Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file

Save & Exit
w write table to disk and exit
q quit without saving changes

Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table

Command (m for help): p #打印分区

Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt

Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 3674111 3670016 1.8G Linux filesystem
/dev/sda3 3674112 33552383 29878272 14.2G Linux filesystem

Command (m for help): n # 新建分区
Partition number (4-128, default 4): # 使用默认的序号4
First sector (33552384-52428766, default 33552384): #使用默认的开始
Last sector, +/-sectors or +/-size{K,M,G,T,P} (33552384-52428766, default 52428766): #使用默认的结束 也就也就意味着使用剩下的全部

Created a new partition 4 of type ‘Linux filesystem’ and of size 9 GiB.

Command (m for help): p # 打印分区
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt

Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 3674111 3670016 1.8G Linux filesystem
/dev/sda3 3674112 33552383 29878272 14.2G Linux filesystem
/dev/sda4 33552384 52428766 18876383 9G Linux filesystem

Command (m for help): t #改变分区类型
Partition number (1-4, default 4): #默认选择刚刚的4
Partition type or alias (type L to list all): lvm # 改编成lvm

Changed type of partition ‘Linux filesystem’ to ‘Linux LVM’.

Command (m for help): p
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt

Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 3674111 3670016 1.8G Linux filesystem
/dev/sda3 3674112 33552383 29878272 14.2G Linux filesystem
/dev/sda4 33552384 52428766 18876383 9G Linux LVM

Command (m for help): w # 写入保存并退出
The partition table has been altered.
Syncing disks.
建物理分区并关联到LVM

$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS

sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1.8G 0 part /boot
├─sda3 8:3 0 14.2G 0 part
│ └─ubuntu–vg-ubuntu–lv 253:0 0 14.2G 0 lvm /
└─sda4 8:4 0 9G 0 part

创建物理卷PV

$ sudo pvcreate /dev/sda4
Physical volume “/dev/sda4” successfully created.

查看物理卷PV

$ sudo pvdisplay
— Physical volume —
PV Name /dev/sda3
VG Name ubuntu-vg
PV Size <14.25 GiB / not usable 0
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 3647
Free PE 0
Allocated PE 3647

“/dev/sda4” is a new physical volume of “9.00 GiB”
— NEW Physical volume —
PV Name /dev/sda4
VG Name
PV Size 9.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0

查看卷组VG

$ sudo vgdisplay
— Volume group —
VG Name ubuntu-vg
System ID
Format lvm2
VG Size <14.25 GiB
PE Size 4.00 MiB
Total PE 3647
Alloc PE / Size 3647 / <14.25 GiB
Free PE / Size 0 / 0

扩容卷组VG

$ sudo vgextend ubuntu-vg /dev/sda4
Volume group “ubuntu-vg” successfully extended

查看卷组VG

$ sudo vgdisplay
— Volume group —
VG Name ubuntu-vg
System ID
Format lvm2
VG Size 23.24 GiB
PE Size 4.00 MiB
Total PE 5950
Alloc PE / Size 3647 / <14.25 GiB
Free PE / Size 2303 / <9.00 GiB

扩容逻辑卷LV

$ sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
Size of logical volume ubuntu-vg/ubuntu-lv changed from <14.25 GiB (3647 extents) to 23.24 GiB (5950 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.

查看卷组VG

$ sudo vgdisplay
— Volume group —
VG Name ubuntu-vg
System ID
Format lvm2
VG Size 23.24 GiB
PE Size 4.00 MiB
Total PE 5950
Alloc PE / Size 5950 / 23.24 GiB
Free PE / Size 0 / 0

执行修改

$ sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 6092800 (4k) blocks long.

查看结果

$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 197M 1.6M 195M 1% /run

可以看到/已经变成了扩容后的容量

/dev/mapper/ubuntu–vg-ubuntu–lv 23G 9.2G 13G 43% /
tmpfs 983M 0 983M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda2 1.7G 253M 1.4G 16% /boot
tmpfs 197M 4.0K 197M 1% /run/user/1000

$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1.8G 0 part /boot
├─sda3 8:3 0 14.2G 0 part
│ └─ubuntu–vg-ubuntu–lv 253:0 0 23.2G 0 lvm /
└─sda4 8:4 0 9G 0 part
└─ubuntu–vg-ubuntu–lv 253:0 0 23.2G 0 lvm /
完成


http://www.ppmy.cn/ops/141144.html

相关文章

ESP32-S3模组上跑通ES8388(20)

接前一篇文章:ESP32-S3模组上跑通ES8388(19) 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回解析完了es8388_init函数中的第7段代码,本回继续往下解析。为了便于理解和回顾,再次贴出es8388_init函数源码,在components\audio_hal\driver\es8388\es8388.c中,如下: ​ …

k8s-Informer之Indexer的解析(4)

1、Indexer 介绍 k8s-Informer之Indexer的解析(4) Indexer 是 Client-go 中实现的一个本地存储&#xff0c;它可以建立索引并存储 Resource 的对象。Indexer 中的数据始终要是与 ETCD 中数据一致的&#xff0c;当 client-go 需要数据时&#xff0c;可直接通过该本地缓存获取资…

在 Vue 3 中获取图片元素的宽高:原始尺寸与缩放后尺寸的处理方法

1.获取原始尺寸&#xff08;不受代码修改大小影响&#xff09; originalWidth.value imageRef.value.naturalWidth;//获取原始宽度 originalHeight.value imageRef.value.naturalHeight;//获取原始高度 2.当对图片应用了 transform: scale() 进行缩放后&#xff0c;width 和 …

锐捷网络设备常用命令(交换机、路由器)

因公司办公网络设备转为锐捷产品&#xff0c;特此学习一些锐捷交换机和路由器的相关配置&#xff1a; enable 进入特权模式 configure terminal 进入全局模式 logging on 日志显示&#xff08;默认&#xff09; no logging on 关闭日志显示 exit 返回上一层 end 返回到特权模式…

【Linux】文件查找 find grep

文章目录 1. 引言简介Linux文件系统的基本概念为什么文件查找命令在日常使用中非常重要 2. find 命令基本用法常见选项和参数高级用法和技巧实际示例 3. locate 命令如何工作与find命令的区别安装和使用locate实际示例 4. grep 结合文件查找使用grep进行内容查找结合find命令使…

Python实现中国象棋

探索中国象棋 Python 代码实现&#xff1a;从规则逻辑到游戏呈现 中国象棋&#xff0c;这款源远流长的棋类游戏&#xff0c;承载着深厚的文化底蕴与策略智慧。如今&#xff0c;借助 Python 与 Pygame 库&#xff0c;我们能够在数字世界中复刻其魅力&#xff0c;深入探究代码背后…

HIS(医院信息系统)中的大数据

一、定义 HIS是医院信息系统&#xff08;Hospital Information System) 的缩写。它是利用计算机软硬件技术、网络通信技术等现代化手段&#xff0c;对医院及其个部门的人流、物流、材流进行综合管理&#xff0c;对医疗活动各阶段产生的数据进行采集、存储、处理、提取、传输、…

算法——差分

差分可以看作是前缀和的逆运算&#xff0c;前缀和可以帮我们快速得到某个区间的和&#xff0c;而差分就是我们将原数组看作是一个前缀和数组&#xff08;q[]&#xff09;我们去构造一个差分数组&#xff08;c[]&#xff09; 一维差分 使存在如下关系&#xff1a; q[i] c[1]…