Skip to main content

磁盘管理

1、创建逻辑卷

类别主引导方式主分区数量最大容量支持多少位系统分区方法
MBRBIOS+MBR42T32和64fdisk
GPTUEFI+GPT12818EB(1EB=1024PB=1048576TB)64parted

Parted分区和创建逻辑卷LVM

1. parted -l  #查看所有磁盘状态
2. parted /dev/vdb #通过parted工具来创建大于2T的分区
3. mklabel gpt #创建创建磁盘标签
4. mkpart primary 0% 100% #创建整个分区
5. q #退出

#其他命令
-------------------
(parted) mklabel #创建创建磁盘标签
New disk labeltype? gpt
(parted) p #查看分区状态
(parted) mkpart
Partition name? []? gpt2t #指定分区名称
File system type? [ext2]ext3 #指定分区类型
Start? 1 #指定开始位置
End? 2190GB #指定结束位置
(parted) P #显示分区信息
(parted) Q #退出

创建逻辑卷的过程:

1. fdiks -l #查看分区
2. pvcreate /dev/vdb1 #创建pv物理卷
3. vgcreate vgdata /dev/vdb1 #创建vg卷组
4. lvcreate -l +100%FREE -n lvdata vgdata #创建lv逻辑卷
5. mkfs.xfs /dev/mapper/vgdata-lvdata #格式化逻辑卷
6. mkdir /data #创建数据文件夹
7. mount /dev/mapper/vgdata-lvdata /data #将逻辑卷挂载到/data
8. vim /etc/fastab #添加开机挂载
/dev/mapper/vgdata-lvdata /data xfs defaults 0 0
9. mount -a #检查挂载

创建号之后拓展 https://blog.csdn.net/qq_25775675/article/details/122126865

https://blog.csdn.net/qq_25775675/article/details/122126865 https://zhuanlan.zhihu.com/p/602888861

2、逻辑卷扩展

如果是创建系统给了3.7的空间,在创建完系统之后只有200G,需要如下进行处理

扩展逻辑卷:

  • 使用lvdisplay命令查看逻辑卷的详细信息,确认卷组中是否有未分配的空间。
  • 如果有未分配的空间,可以使用lvextend命令来扩展逻辑卷。例如,如果你的逻辑卷名为lv_root,并且有未分配的空间,你可以运行以下命令
lvextend -l +100%FREE /dev/mapper/vg_name-lv_root

lvextend -l +100%FREE /dev/mapper/vg_name-lv_root

扩展文件系统:

  • 如果你成功扩展了逻辑卷,接下来需要扩展文件系统以使用新的空间。如果你使用的是ext4文件系统,可以使用resize2fs命令:
resize2fs /dev/mapper/vg_name-lv_root

如果你使用的是XFS文件系统,可以使用xfs_growfs命令:

xfs_growfs /dev/mapper/vg_name-lv_root

img

请注意,以上命令中的vg_namelv_root可能需要根据你的实际情况进行替换。确保在执行任何涉及磁盘和分区操作的命令之前备份重要数据,以防万一发生意外。

3、根据卷组创建逻辑卷

比如磁盘信息如下,需要单独创建一个/data出来

root@bj-master01-66:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 300G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 298G 0 part
└─ubuntu--vg-ubuntu--lv 252:0 0 100G 0 lvm /

3.1、检查卷组的可用空间

首先,确认 ubuntu-vg 卷组中是否有足够的空间。

检查 Free PE / Size 是否有足够的可用空间。你有 198 GiB 的可用空间,可以创建一个大小为 200 GiB 的 /data 目录。由于空间稍微不足 200 GiB,建议创建 190 GiB 的逻辑卷

root@bj-master01-66:~# sudo vgdisplay ubuntu-vg
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
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 <298.00 GiB
PE Size 4.00 MiB
Total PE 76287
Alloc PE / Size 25600 / 100.00 GiB
Free PE / Size 50687 / <198.00 GiB #这里是显示可用空间
VG UUID tJDQ8o-IB8V-NdSI-W46L-TcBs-jdmc-YcG5a4

2. 创建新的逻辑卷

创建一个大小为 190G 的逻辑卷,用于 /data 目录。

sudo lvcreate -L 200G -n lv_data ubuntu-vg

3. 创建文件系统

在新创建的逻辑卷上创建一个文件系统(例如 ext4)。

sudo mkfs.ext4 /dev/ubuntu-vg/lv_data

4. 创建挂载点

创建一个新的挂载点 /data

sudo mkdir /data

5. 挂载新逻辑卷

将新逻辑卷挂载到 /data 目录。

sudo mount /dev/ubuntu-vg/lv_data /data

6. 更新 /etc/fstab

为了在系统重启后保持挂载状态,需要将新挂载点添加到 /etc/fstab 中。编辑文件并添加以下内容:

/dev/ubuntu-vg/lv_data /data ext4 defaults 0 2

7. 验证挂载

确认 /data 挂载成功并且有 200G 的可用空间:

root@bj-master01-66:~# df -HT
Filesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 404M 1.1M 402M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4 106G 8.6G 92G 9% /
tmpfs tmpfs 2.1G 0 2.1G 0% /dev/shm
tmpfs tmpfs 5.3M 0 5.3M 0% /run/lock
/dev/sda2 ext4 2.1G 191M 1.8G 10% /boot
tmpfs tmpfs 404M 13k 404M 1% /run/user/0
/dev/mapper/ubuntu--vg-lv_data ext4 200G 29k 190G 1% /data

4、调整LVM分区来扩大/文件系统的大小

4.1 vg有空间情况下

4.1.1. 检查可用空间

首先确认 ubuntu-vg 卷组中是否有足够的空闲空间。看 Free PE / Size 的值,确保有足够的空闲空间。

bash
复制代码
sudo vgdisplay ubuntu-vg

root@bj-master01-66:~# vgdisplay ubuntu-vg
--- 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 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <298.00 GiB
PE Size 4.00 MiB
Total PE 76287
Alloc PE / Size 74240 / 290.00 GiB
Free PE / Size 2047 / <8.00 GiB #小于8G
VG UUID tJDQ8o-IB8V-NdSI-W46L-TcBs-jdmc-YcG5a4

4.1.2. 扩展逻辑卷

假设有足够的空间,可以通过以下命令扩展 / 分区的大小。例如,将其扩展到 60G:

sudo lvextend -L 60G /dev/ubuntu-vg/ubuntu-lv

或者,如果你想使用卷组中所有可用空间,可以运行:

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

4.1.3. 扩展文件系统

扩展文件系统以利用新增加的空间。对于 Ext4 文件系统,可以运行:

sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

4.1.4. 验证调整后的大小

最后,检查 / 文件系统的大小

df -h /

4.2 vg没有空间情况下

要将 /data 下的 100 GiB 分配给 /,你需要先缩减 /data 的逻辑卷大小,然后扩展 / 的逻辑卷和文件系统。以下是步骤:

4.2.1. 备份重要数据

缩小逻辑卷涉及风险,建议先备份 /data 中的重要数据。

4.2.2. 卸载 /data

为了安全调整逻辑卷大小,首先卸载 /data

sudo umount /data

4.2.3. 检查和修复文件系统

在缩小文件系统之前,检查并修复文件系统:

sudo e2fsck -f /dev/ubuntu-vg/lv_data

4.2.4. 缩小文件系统

/data 文件系统缩小到 90 GiB(假设你想保留 90 GiB):

sudo resize2fs /dev/ubuntu-vg/lv_data 90G

4.2.5. 缩小逻辑卷

缩小逻辑卷到 90 GiB:

sudo lvreduce -L 90G /dev/ubuntu-vg/lv_data

4.2.6. 扩展 / 的逻辑卷

将释放的 100 GiB 分配给 /

sudo lvextend -L +100G /dev/ubuntu-vg/ubuntu-lv

4.2.7. 扩展 / 文件系统

扩展 / 文件系统以使用新增的空间:

sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

4.2.8. 挂载 /data

重新挂载 /data

sudo mount /data

4.2.9. 验证调整

检查 //data 的大小:

df -h /
df -h /data

通过这些步骤,你可以将 /data 的 100 GiB 重新分配给 /