Linux下如何扩展根分区

Linux下如何扩展根分区

服务器可能会有根分区存储被占满的情况,那就需要我们将根分区的容量进行扩容,下面详细介绍根分区的扩容步骤。

  • 给服务器添加一块硬盘,用于给根分区进行扩充

在这里插入图片描述

  • 先查看系统的分区情况
[root@localhost ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G  1.5G   16G   9% /              # 可见这里的根分区的可使用空间为17G
devtmpfs                devtmpfs  979M     0  979M   0% /dev
tmpfs                   tmpfs     991M     0  991M   0% /dev/shm
tmpfs                   tmpfs     991M  9.6M  981M   1% /run
tmpfs                   tmpfs     991M     0  991M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  133M  882M  14% /boot
tmpfs                   tmpfs     199M     0  199M   0% /run/user/0

  • 查看新硬盘是否已经成功被添加到主机上
[root@localhost ~]# fdisk -l   # 使用fdisk命令查看所有系统分区

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 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: 0x000e72fb

   Device Boot      Start         End      Blocks   Id  System     # 下面显示的就是硬盘/dev/sda的分区情况,包括起始到截止扇区是多少
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 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 /dev/mapper/centos-root: 18.2 GB, 18249416704 bytes, 35643392 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 /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 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


  • 输入fdisk命令开始对新硬盘进行分区
[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.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x838024c5.

Command (m for help): n             # 输入“n”添加新分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):p                # 输入“p”创建主分区,不输入默认是“p”
Using default response p
Partition number (1-4, default 1):  # 输入分区号,不输入默认分区号为“1”
First sector (2048-41943039, default 2048):    # 选择分区的起始扇区,不输入默认为“2048”
Using default value 2048                                   # 提示使用了默认起始扇区208
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):        # 选择截止扇区,不输入默认为“41943039”
Using default value 41943039                               # 提示使用了默认的截止扇区41943039
Partition 1 of type Linux and of size 20 GiB is set        # 提示已设置Linux类型、大小为20 GiB的分区1

Command (m for help): w             # 输入“w”保存分区的设置
The partition table has been altered!                      # 提示分区表已经被修改

Calling ioctl() to re-read partition table.                # 提示调用ioctl()重新读取分区表。
Syncing disks.                                             # 提示正在同步磁盘。

  • 必须格式化新硬盘的分区,不格式化的话没有办法使用
[root@localhost ~]# mkfs.ext3 /dev/sdb1          # 格式化命令为mkfs.ext3
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242624 blocks
262131 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

开始扩展根分区,即扩展/dev/mapper/centos-root这个分区

  • 给刚才新建的分区创建pv(物理卷)
[root@localhost ~]# pvcreate /dev/sdb1
WARNING: ext3 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y    # 输入“y”确认创建
  Wiping ext3 signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.

  • 把pv(物理卷)加入vg(卷组)中,相当于扩充vg(卷组)的大小
# 扩充vg大小之前先查看卷组信息

[root@localhost ~]# vgs     # 显示系统中的卷组有关信息,注意这里显示的是VSize是19.00G
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <19.00g    0

# 扩充vg(卷组)
[root@localhost ~]# vgextend centos /dev/sdb1    # vgextend命令为扩展vg命令,后面跟上想要扩充的组名和用哪一个分区扩充,这里意为使用/dev/sdb1这个分区扩容centos卷组
  Volume group "centos" successfully extended

# 查看卷组是否扩充成功
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  centos   2   2   0 wz--n- 38.99g <20.00g       # 这里的VSize已经由原来的19.00G被控充到38.99G


  • 扩展lv(逻辑卷)
# 查看lv(逻辑卷)大小
[root@localhost ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <17.00g
  swap centos -wi-ao----   2.00g    
# 可见,虽然我们把vg扩展了,但是lv(逻辑卷)还没有扩展,这里的逻辑卷还是小于17.00g的

# 查看想要扩展根分区名称
[root@localhost ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G  1.5G   16G   9% /                 # 根分区名称为/dev/mapper/centos-root
devtmpfs                devtmpfs  979M     0  979M   0% /dev
tmpfs                   tmpfs     991M     0  991M   0% /dev/shm
tmpfs                   tmpfs     991M  9.6M  981M   1% /run
tmpfs                   tmpfs     991M     0  991M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  133M  882M  14% /boot
tmpfs                   tmpfs     199M     0  199M   0% /run/user/0

# 开始扩展根分区
[root@localhost ~]# lvextend -L +19G /dev/mapper/centos-root    # 意为给根分区/dev/mapper/centos-root扩展19G的空间
  Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to <36.00 GiB (9215 extents).
  Logical volume centos/root successfully resized.

注意:如果执行命令lvextend命令的时候报如下错误,是因为分区中没有那么多可以扩充的空间:

[root@localhost ~]# lvextend -L +20G /dev/mapper/centos-root
  Insufficient free space: 5120 extents needed, but only 5119 available 
# 上面的提示信息为:可用空间不足:需要5120个扩展数据块,但只有5119个可用

  • 再次查看lv的大小,检查是否已经扩容
[root@localhost ~]# lvs       
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <36.00g            # 这里可以看到lv(逻辑卷)大小已经由原来的17.00g扩充到36.00g
  swap centos -wi-ao----   2.00g

  • 使用 xfs_growfs命令使系统重新读取大小
# 查看一下根分区的大小是否已经改变
[root@localhost ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G  1.5G   16G   9% /                      # 可见根分区的大小还是17G,说明还没有被扩充
devtmpfs                devtmpfs  979M     0  979M   0% /dev
tmpfs                   tmpfs     991M     0  991M   0% /dev/shm
tmpfs                   tmpfs     991M  9.6M  981M   1% /run
tmpfs                   tmpfs     991M     0  991M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  133M  882M  14% /boot
tmpfs                   tmpfs     199M     0  199M   0% /run/user/0


# 使用 xfs_growfs命令使系统重新读取大小
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root     # 在xfs_growfs命令后面跟上重新读取的分区路径
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=1113856 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=4455424, 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 4455424 to 9436160


# 再次检测根分区是否被扩充
[root@localhost ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        36G  1.5G   35G   4% /                   
# 可见这里的根分区已经被扩充到36G了

[root@localhost ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        36G  1.5G   35G   4% /                   # 可见这里的根分区已经被扩充到36G了
devtmpfs                devtmpfs  979M     0  979M   0% /dev
tmpfs                   tmpfs     991M     0  991M   0% /dev/shm
tmpfs                   tmpfs     991M  9.6M  981M   1% /run
tmpfs                   tmpfs     991M     0  991M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  133M  882M  14% /boot
tmpfs                   tmpfs     199M     0  199M   0% /run/user/0


至此:根分区已经成功扩展

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在 Linux 中扩大根分区的方法有很多种,具体步骤可能因为不同的发行版本而有所不同。但大体流程如下: 1. 首先,需要将系统关机并使用 Live CD 或 Live USB 进入系统。 2. 然后,使用 fdisk 或 parted 等工具查看磁盘分区情况,确认需要扩大的分区。 3. 接着,使用 resize2fs 或 xfs_growfs 等工具将文件系统进行扩容。 4. 最后,重新启动系统,验证扩容是否成功。 注意: 扩容之前请务必备份重要文件,否则将会导致数据丢失。 ### 回答2: 在 Linux 系统中,如果根分区容量不足,就需要对其进行扩容。下面介绍两种常见的扩容方法:使用 GParted 和使用 LVM。 使用 GParted 扩容根分区 GParted 是一款常用的图形化分区管理工具,可以在 Linux 系统中使用。使用 GParted 扩容根分区的步骤如下: 1.使用命令 `sudo apt-get install gparted` 安装 GParted。 2.启动 GParted,在顶部的下拉菜单中选择需要扩容的分区,然后点击“Resize/Move”按钮。 3.在右侧的面板中,将分区大小调整为新的容量,点击“Resize/Move”按钮。 4.点击菜单上方的“Apply All Operations”按钮,等待操作完成即可。 使用 LVM 扩容根分区 LVM 是逻辑卷管理器,可以在 Linux 系统中将多个物理分区组合成一个逻辑卷,方便管理。使用 LVM 扩容根分区的步骤如下: 1.检查当前系统中是否存在 LVM:使用命令 `sudo pvs` 检查物理卷。如果显示类似于 `/dev/sda2 vg1 lvm2, <大小> ...` 的信息,则说明存在 LVM。 2.使用命令 `sudo lvdisplay` 查看逻辑卷的信息,确保需要扩容的卷组中有足够的空闲空间。 3.将需要扩容的逻辑卷卸载:使用命令 `sudo umount /dev/mapper/<卷组名>-<逻辑卷名>`,卸载逻辑卷。 4.使用命令 `sudo lvextend -L +<增加的容量> /dev/mapper/<卷组名>-<逻辑卷名>` 扩容逻辑卷。 5.使用命令 `sudo resize2fs /dev/mapper/<卷组名>-<逻辑卷名>` 调整文件系统大小。 6.重新挂载逻辑卷:使用命令 `sudo mount /dev/mapper/<卷组名>-<逻辑卷名> <挂载点>`。 总体来说,使用 GParted 扩容根分区比较简单,但如果系统中已经使用 LVM 进行了逻辑卷管理,则建议使用 LVM 进行扩容,以便更好地管理分区。 ### 回答3: 在 Linux 系统中,根分区是最重要的一个分区,它包含了系统安装目录、用户家目录、各种配置文件等系统必须的文件。 如果你的根分区不足以容纳系统或者用户文件时,你需要扩容根分区,以下是一些扩容根分区的方法: 1. 使用 GParted 分区工具:GParted 可以从 Live CD 中启动,这样就可以分离您的硬盘驱动器,无需任何影响系统的操作。此外,使用 GParted 来重新分配与分区的硬盘区域,可以更好的管理容量空间。 2. 使用 lvextend 命令:在使用 LVM 管理容量空间时,我们可以使用 lvextend 命令,它将扩展逻辑卷来增加磁盘容量。使用这种方法时,您需要使用 df 命令或其他方法来检测您的根分区,或您希望扩展的任何其他 LVM 分区。 3. 手动扩容根分区:手动扩容根分区时,您需要了解您的分区类型和分区表类型。在此之后,您可以使用预设的 ccfdisk 或 fdisk 来创建或调整分区大小。一旦准备好分区扩容,您将需要按下 "Ctrl+Alt+F2" 以进入文本模式。从这里,您将停止 X 界面,并扩展您的分区,重新启动后即可完成。 4. 使用 G-Parted 的命令行界面 :要使用 GParted 的命令行界面扩展分区,您需要使用 "gdisk"(或一个类似的工具)找到您根分区中的空隙。安装命令行界面操作。从此处您可以使用 GParted 添加您的空闲空间,或者通过键入 "resizepart x (y)" 来将 x 大小调整为 y。 以上就是扩容根分区的几种方法,建议您在进行任何磁盘操作之前备份您的数据,以防万一。如果您不熟悉磁盘操作,请小心操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值