龙空技术网

分区扩容(基于LVM)

Wins5188 268

前言:

现时我们对“ubuntulv”大致比较关切,姐妹们都需要剖析一些“ubuntulv”的相关资讯。那么小编在网络上收集了一些对于“ubuntulv””的相关文章,希望兄弟们能喜欢,姐妹们一起来了解一下吧!

【适用于Ubuntu 20.04.3 LTS】

按照传统的linux安装选择默认分区方式,会完全占满整个磁盘,但随着LVM技术的推广,现在安装ubuntu采用默认的格式化磁盘但不会占满整个磁盘,这主要是因为LVM应用了“实时快照”的扩展功能,如果不需要这个功能,可以不使用LVM。相反,要想轻松地扩展或者将多块磁盘组成一个存储池,那么LVM是最好的选择。

如下案例,实际硬盘有100G。当安装完成Ubuntu Server 20.04.3 LTS后,可以看到/dev/mapper/ubuntu--vg-ubuntu--lv只有49G空间(/dev/mapper/ubuntu--vg-ubuntu--lv其实是/dm-0的映射,可以使用# ll /dev/ubuntu-vg/ubuntu-lv查看到),现在进行分区扩容:

第1步,查看磁盘使用情况、物理卷和块设备之间的依赖关系

1、查看磁盘使用情况

/# df -h

Filesystem Size Used Avail Use% Mounted on

udev 936M 0 936M 0% /dev

tmpfs 196M 1.3M 195M 1% /run

/dev/mapper/ubuntu--vg-ubuntu--lv 49G 7.3G 39G 16% /

tmpfs 980M 0 980M 0% /dev/shm

tmpfs 5.0M 0 5.0M 0% /run/lock

tmpfs 980M 0 980M 0% /sys/fs/cgroup

/dev/loop0 56M 56M 0 100% /snap/core18/2128

/dev/loop1 71M 71M 0 100% /snap/lxd/21029

/dev/loop2 33M 33M 0 100% /snap/snapd/12704

/dev/sda2 976M 107M 803M 12% /boot

tmpfs 196M 0 196M 0% /run/user/1000

2、查看物理卷

# pvdisplay

--- Physical volume ---

PV Name /dev/sda3

VG Name ubuntu-vg

PV Size <99.00 GiB / not usable 0

Allocatable yes

PE Size 4.00 MiB

Total PE 25343

Free PE 12671

Allocated PE 12672

PV UUID wcE0WC-QUoy-A8Ac-kCNv-2PDP-Fogb-iWyHg3

3、查看当前使用块设备的依赖关系

# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

loop0 7:0 0 55.4M 1 loop /snap/core18/2128

loop1 7:1 0 70.3M 1 loop /snap/lxd/21029

loop2 7:2 0 32.3M 1 loop /snap/snapd/12704

sda 8:0 0 100G 0 disk #物理磁盘容量

├─sda1 8:1 0 1M 0 part

├─sda2 8:2 0 1G 0 part /boot

└─sda3 8:3 0 99G 0 part

└─ubuntu--vg-ubuntu--lv 253:0 0 49.5G 0 lvm / #实际使用的分区容量

sdb 8:16 0 100G 0 disk #添加的一块新磁盘

sr0 11:0 1 1.2G 0 rom #光驱

说明:可以看到实际硬盘有100G,只使用了49G;

4、查看磁盘个数和分区情况

# fdisk -l

...略...

Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors

Disk model: VMware Virtual S

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

Disk identifier: E0AAAE47-980E-426F-872D-10C00817C200

Device Start End Sectors Size Type

/dev/sda1 2048 4095 2048 1M BIOS boot

/dev/sda2 4096 2101247 2097152 1G Linux filesystem

/dev/sda3 2101248 209713151 207611904 99G Linux filesystem

...略...

可以看出,在/dev/sda磁盘上有/dev/sda1、/dev/sda2、/dev/sda3,这3个分区(相当于windows下c, d, e盘),而计算这3个分区容量等于/dev/sda磁盘的总容量,即已被Ubuntu识别出来了。

那么,为什么Ubuntu挂载少了(注意!挂载是基于分区的),原来这里没有直接挂载在物理分区上,而是把“/”挂载到了逻辑分区LVM上,这里显示的/dev/mapper/ubuntu--vg-ubuntu--lv是一块逻辑分区文件(逻辑分区以文件形式存在)。 它本身只有49G,所以挂载到它上面上。

第2步,扩展分区

要扩展“/”分区,就要扩展LVM文件,可以执行如下命令,让它占满磁盘剩余空间;

# lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

Size of logical volume ubuntu-vg/ubuntu-lv changed from 49.50 GiB (12672 extents) to <99.00 GiB (25343 extents).

Logical volume ubuntu-vg/ubuntu-lv successfully resized.

root@fds09:/# pvdisplay

--- Physical volume ---

PV Name /dev/sda3

VG Name ubuntu-vg

PV Size <99.00 GiB / not usable 0

Allocatable yes (but full)

PE Size 4.00 MiB

Total PE 25343

Free PE 0

Allocated PE 25343

PV UUID wcE0WC-QUoy-A8Ac-kCNv-2PDP-Fogb-iWyHg3

注意:如果不想占满整个磁盘空间,也可以根据自己的情况选择调整方式(必须小于整个磁盘容量)

增大至120G:# lvextend -L 120G /dev/mapper/ubuntu--vg-ubuntu--lv

增加20G:# lvextend -L +20G /dev/mapper/ubuntu--vg-ubuntu--lv

减小至50G:# lvreduce -L 50G /dev/mapper/ubuntu--vg-ubuntu--lv

减小8G:# lvreduce -L -8G /dev/mapper/ubuntu--vg-ubuntu--lv

调整为30G:# lvresize -L 30G /dev/mapper/ubuntu--vg-ubuntu--lv

执行调整,即扩展生效:# resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

1、查看逻辑卷属性

# lvdisplay

--- Logical volume ---

LV Path /dev/ubuntu-vg/ubuntu-lv

LV Name ubuntu-lv

VG Name ubuntu-vg

LV UUID h8zM9d-pSA3-J1Dt-5xlv-xDfX-BOWm-JtCtIt

LV Write Access read/write

LV Creation host, time ubuntu-server, 2021-11-25 10:59:20 +0000

LV Status available

# open 1

LV Size <99.00 GiB

Current LE 25343

Segments 1

Allocation inherit

Read ahead sectors auto

- currently set to 256

Block device 253:0

2、查看卷组的信息,显示可扩容的大小(Free PE / Size)

root@fds09:/# vgdisplay

--- Volume group ---

VG Name ubuntu-vg

System ID

Format lvm2

Metadata Areas 1

Metadata Sequence No 3

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 1

Open LV 1

Max PV 0

Cur PV 1

Act PV 1

VG Size <99.00 GiB

PE Size 4.00 MiB

Total PE 25343

Alloc PE / Size 25343 / <99.00 GiB

Free PE / Size 0 / 0

VG UUID KuaVrO-aHku-CxY3-bHtu-RTfD-kLNp-dTOD05

第3步,扩展生效

扩展之后分区容量不会有任何变化,是因为没有重新计算。此时输入resize2fs命令让其重新计算生效

# resize2fs /dev/ubuntu-vg/ubuntu-lv

resize2fs 1.45.5 (07-Jan-2020)

Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required

old_desc_blocks = 7, new_desc_blocks = 13

The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 25951232 (4k) blocks long.

再次查看磁盘使用情况,此时已经生效

# df -h

Filesystem Size Used Avail Use% Mounted on

udev 936M 0 936M 0% /dev

tmpfs 196M 1.3M 195M 1% /run

/dev/mapper/ubuntu--vg-ubuntu--lv 98G 7.3G 86G 8% /

tmpfs 980M 0 980M 0% /dev/shm

tmpfs 5.0M 0 5.0M 0% /run/lock

tmpfs 980M 0 980M 0% /sys/fs/cgroup

/dev/loop0 56M 56M 0 100% /snap/core18/2128

/dev/loop1 71M 71M 0 100% /snap/lxd/21029

/dev/loop2 33M 33M 0 100% /snap/snapd/12704

/dev/sda2 976M 107M 803M 12% /boot

tmpfs 196M 0 196M 0% /run/user/1000

标签: #ubuntulv #lvm ubuntu #ubuntu分区扩展工具