linux服务器如何扩盘

发布于:2024-12-21 ⋅ 阅读:(17) ⋅ 点赞:(0)

在Linux系统中,磁盘管理和分区是系统维护的重要组成部分。通过合理的磁盘管理和分区,可以提高系统的性能,确保数据的安全性,并有效利用存储资源。本文将详细介绍如何使用fdiskpvcreatevgextendlvextend等一系列命令来进行磁盘分区和扩展的操作。

一、磁盘分区管理工具 fdisk

fdisk是一个用于对硬盘进行分区管理的命令行工具。它允许用户对硬盘进行分区、删除分区、查看分区信息等操作。以下是一些常用的fdisk命令:

列出当前硬盘分区信息

fdisk -l

进入fdisk交互模式

sudo fdisk /dev/sda
  • 进入fdisk交互模式后,可以使用以下命令:

    • p:显示当前硬盘分区表信息。
    • n:创建一个新的分区。
    • d:删除一个分区。
    • w:保存更改并退出。
    • q:不保存更改直接退出。
二、创建和管理逻辑卷

在进行逻辑卷管理之前,需要先初始化硬盘分区作为物理卷(Physical Volume),然后创建卷组(Volume Group),最后创建逻辑卷(Logical Volume)。

初始化物理卷

sudo pvcreate /dev/sda4

创建卷组(假设名为rl):

sudo vgcreate rl /dev/sda4

创建逻辑卷(假设名为root,大小为50GB):

sudo lvcreate -L 50G -n root rl

扩展逻辑卷(假设要增加49.99GB空间):

sudo lvextend -L +49.99G /dev/mapper/rl-root

调整文件系统大小

sudo xfs_growfs /dev/mapper/rl-root
三、磁盘分区的增减操作

在需要增加或减少磁盘分区容量时,通常涉及卸载挂载点、删除旧分区、重新创建分区、重新创建文件系统等步骤。

卸载挂载点

sudo umount /home

删除旧分区

sudo lvremove /dev/mapper/rl-home
  • 重新创建分区

    • 使用fdisk重新创建分区表。
    • 使用pvcreate初始化分区。
    • 使用vgextend扩展卷组。
    • 使用lvcreate创建新的逻辑卷。
    • 使用xfs_growfs调整文件系统大小。
四、磁盘初始化操作以及脚本的创建
  1. 使用fdisk进行分区 首先,使用fdisk/dev/vdb 进行分区:

    sudo fdisk /dev/vdb
    
  • fdisk交互模式下,您可以执行以下操作:

    • 输入 n 创建新分区。
    • 输入 p 创建主分区。
    • 按提示设置分区大小(默认全部可用空间)。
    • 输入 w 保存分区表并退出。
  • 创建物理卷(Physical Volume) 使用 pvcreate 命令将分区 /dev/vdb1 初始化为物理卷:

    sudo pvcreate /dev/vdb1
    

创建卷组(Volume Group) 使用 vgcreate 命令创建卷组 klas 并添加物理卷 /dev/vdb1

sudo vgcreate klas /dev/vdb1

创建逻辑卷(Logical Volume) 使用 lvcreate 命令创建逻辑卷 data,并分配整个卷组的空间:

sudo lvcreate -l +100%VG -n data klas

格式化逻辑卷 使用 mkfs.ext4 命令将逻辑卷 /dev/mapper/klas-data 格式化为 ext4 文件系统:

sudo mkfs.ext4 /dev/mapper/klas-data

创建挂载点 创建挂载点 /u01

sudo mkdir /u01

挂载逻辑卷 将逻辑卷挂载到 /u01 目录:

sudo mount /dev/mapper/klas-data /u01

设置权限 设置 /u01 目录的权限:

sudo chmod 777 /u01

更新 /etc/fstab 最后,将逻辑卷挂载信息添加到 /etc/fstab 文件中,以便系统启动时自动挂载:

echo "/dev/mapper/klas-data                     /u01                    ext4    defaults        0 0" | sudo tee -a /etc/fstab

 完整脚本

#!/bin/bash

# 使用fdisk进行分区
sudo fdisk /dev/vdb <<EOF
n
p
1


w
EOF

# 创建物理卷
sudo pvcreate /dev/vdb1

# 创建卷组
sudo vgcreate klas /dev/vdb1

# 创建逻辑卷
sudo lvcreate -l +100%VG -n data klas

# 格式化逻辑卷
sudo mkfs.ext4 /dev/mapper/klas-data

# 创建挂载点
sudo mkdir /u01

# 挂载逻辑卷
sudo mount /dev/mapper/klas-data /u01

# 设置权限
sudo chmod 777 /u01

# 更新/etc/fstab
echo "/dev/mapper/klas-data                     /u01                    ext4    defaults        0 0" | sudo tee -a /etc/fstab