linux 给根目录扩容(lvm CentOS 7.6 )

问题:Linux系统挂载到根目录的磁盘空间满了,如何扩容? 

用命令:lsblk 可以查看磁盘和分区情况,可以发现磁盘vda下面的还有大部分空间没有使用。

操作步骤

1、使用 fdisk -l 查看硬盘序号,并用 fdisk 对硬盘操作,格式化成lvm的格式

(用命令lsblk可以看到,挂载到根目录的分区是lvm。)

(并且系统有一块虚拟磁盘vda,有2个分区vda1 和 vda2)

(fdisk -l   查看硬盘进行分区。)

[root@host-172-20-1-113 ~]# lsblk
NAME            MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda             252:0    0   1T  0 disk 
├─vda1          252:1    0   1G  0 part /boot
└─vda2          252:2    0  49G  0 part 
  ├─centos-root 253:0    0  44G  0 lvm  /
  └─centos-swap 253:1    0   5G  0 lvm  [SWAP]
[root@host-172-20-1-113 ~]# fdisk -l      #查看硬盘分区

磁盘 /dev/vda:1099.5 GB, 1099511627776 字节,2147483648 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00095e6c

   设备 Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048     2099199     1048576   83  Linux
/dev/vda2         2099200   104857599    51379200   8e  Linux LVM

磁盘 /dev/mapper/centos-root:47.2 GB, 47240445952 字节,92266496 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

 用 fdisk 对硬盘vda进行分区操作:fdisk /dev/vda   

[root@host-172-20-1-113 ~]# fdisk /dev/vda   #对硬盘vda进行分区操作
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n   #n 代表新建new
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p     #前面已有2个分区,所以分区从3开始
分区号 (3,4,默认 3):3
起始 扇区 (104857600-2147483647,默认为 104857600):   #直接回车,选择默认值
将使用默认值 104857600
Last 扇区, +扇区 or +size{K,M,G} (104857600-2147483647,默认为 2147483647):
将使用默认值 2147483647  #直接回车,选择默认值
分区 3 已设置为 Linux 类型,大小设为 974 GiB

命令(输入 m 获取帮助):t  #t 代表 change a partition's system id
分区号 (1-3,默认 3):3
Hex 代码(输入 L 列出所有代码):8e  #8e 代表Linux LVM
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):w   #写入并保存,退出
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。

2、重新识别磁盘。命令:partprobe

以及用lsblk查看已经给增加了一个分区vda3,并且有974G的空间

[root@host-172-20-1-113 ~]# partprobe
[root@host-172-20-1-113 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda             252:0    0    1T  0 disk 
├─vda1          252:1    0    1G  0 part /boot
├─vda2          252:2    0   49G  0 part 
│ ├─centos-root 253:0    0   44G  0 lvm  /
│ └─centos-swap 253:1    0    5G  0 lvm  [SWAP]
└─vda3          252:3    0  974G  0 part 

3.将刚刚的硬盘重新格式化,格式化为xfs格式;命令 mkfs.xfs /dev/vda3

备注:系统是CentOS 7.6的系统,所以格式化的格式是xfs

可以用:df -T  查看一下文件格式系统

[root@host-172-20-1-113 ~]# mkfs.xfs /dev/vda3
meta-data=/dev/vda3              isize=512    agcount=4, agsize=63832064 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=255328256, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=124672, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

4.使用lvm命令,对根目录进行扩容

4.1 进入lvm模式。用pvdisplay查看物理卷详情,发现只有1个物理卷 /dev/vda2

[root@host-172-20-1-113 ~]# lvm
lvm> pvdisplay
  --- Physical volume ---
  PV Name               /dev/vda2
  VG Name               centos
  PV Size               <49.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              12543
  Free PE               0
  Allocated PE          12543
  PV UUID               N3THeY-Gw8G-ejIj-S6S0-UoXL-j5BS-3c0Gwd
   

4.2 新建pv卷。命令:pvcreate /dev/vda3  (创建名称叫vda3的pv卷)

lvm> pvcreate /dev/vda3
WARNING: xfs signature detected on /dev/vda3 at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/vda3.
  Physical volume "/dev/vda3" successfully created.

4.3 再次查看pv卷,已经有两个pv卷了。可以创建看到第2个pv卷就是刚刚新建的vda3 

lvm> pvdisplay
  --- Physical volume ---
  PV Name               /dev/vda2
  VG Name               centos
  PV Size               <49.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              12543
  Free PE               0
  Allocated PE          12543
  PV UUID               N3THeY-Gw8G-ejIj-S6S0-UoXL-j5BS-3c0Gwd
   
  "/dev/vda3" is a new physical volume of "974.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/vda3
  VG Name               
  PV Size               974.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               ZIf1J5-ZjuB-kGiC-Gpqn-APLT-PWQO-XKCCjL

4.4 查看vg组。命令:vgdisplay   。可以发现VG Name  叫 centos

lvm> vgdisplay
  --- Volume group ---
  VG Name               centos
  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               <49.00 GiB
  PE Size               4.00 MiB
  Total PE              12543
  Alloc PE / Size       12543 / <49.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               nYUiIj-mzYH-AT5v-7ZeX-HTU9-TR8v-xKcSRB

4.5 将刚刚生成的pv卷 /dev/vda3 加入到根目录所在的vg组:centos

命令:vgextend centos /dev/vda3

备注:这里在扩容另外一台服务器的时候碰到了一个问题(本台服务器没碰到):挂载根目录的磁盘使用100%,需要把根目录的文件移走到/boot 目录下,再进行加入组。

lvm> vgextend centos /dev/vda3
  Volume group "centos" successfully extended

4.6 再次查看,根目录所在的vg组:centos 已经扩容成功

lvm> vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1022.99 GiB
  PE Size               4.00 MiB
  Total PE              261886
  Alloc PE / Size       12543 / <49.00 GiB
  Free  PE / Size       249343 / <974.00 GiB
  VG UUID               nYUiIj-mzYH-AT5v-7ZeX-HTU9-TR8v-xKcSRB
   
# 可以看到 Free PE / Size   249343 / <974.00 GiB   已经有974G了,
# 注意249343这个是PE值,下面会用到。

4.7 查看lv卷。命令:lvdisplay

lvm> lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                3wMMor-zryN-fe8u-1uhC-G5df-1IiX-rC3v2y
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-09-03 16:59:23 +0800
  LV Status              available
  # open                 2
  LV Size                5.00 GiB
  Current LE             1280
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                qFWSSU-jttE-dRZD-3S6g-2bnv-hVkZ-ENLM3P
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-09-03 16:59:23 +0800
  LV Status              available
  # open                 1
  LV Size                <44.00 GiB
  Current LE             11263
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

4.8 使用 lvextend 为根目录进行扩容。命令: lvextend -l +249343 /dev/centos/root

备注:这个239343 就是上面vgdisplay下展示的 Free PE值。

也可以直接用:lvextend -L +974G /dev/centos/root  也可以

lvm> lvextend -l +249343 /dev/centos/root
  Size of logical volume centos/root 
changed from <44.00 GiB (11263 extents) to 1017.99 GiB (260606 extents).
  Logical volume centos/root successfully resized.

#备注:这个249349 就是前面PE值
#这里还可以用另外一个方法,直接指定扩展大小:
# lvextend -L +974G /dev/centos/root

4.9 再次查看lv卷,LV Size 已经增加了974 GiB。命令:lvdisplay

lvm> lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                3wMMor-zryN-fe8u-1uhC-G5df-1IiX-rC3v2y
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-09-03 16:59:23 +0800
  LV Status              available
  # open                 2
  LV Size                5.00 GiB
  Current LE             1280
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                qFWSSU-jttE-dRZD-3S6g-2bnv-hVkZ-ENLM3P
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-09-03 16:59:23 +0800
  LV Status              available
  # open                 1
  LV Size                1017.99 GiB
  Current LE             260606
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
lvm> exit
  Exiting.

4.10 扩容文件系统。命令: xfs_growfs /dev/mapper/centos-root

[root@host-172-20-1-113 ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=2883328 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=11533312, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=5631, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 11533312 to 266860544

4.11 扩容成功。

用df -h 查看,挂载到根目录的系统已经有1017G了,扩容成功。

[root@host-172-20-1-113 ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root 1018G  2.0G 1017G    1% /
devtmpfs                  16G     0   16G    0% /dev
tmpfs                     16G     0   16G    0% /dev/shm
tmpfs                     16G   25M   16G    1% /run
tmpfs                     16G     0   16G    0% /sys/fs/cgroup
/dev/vda1               1014M  166M  849M   17% /boot
tmpfs                    3.2G     0  3.2G    0% /run/user/0

  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要给Linux系统的根目录扩容,可以按照以下步骤操作: 1. 首先,使用fdisk或parted等工具查看磁盘分区情况,确认需要扩容的分区。 2. 如果需要扩容的分区是LVM逻辑卷,可以使用lvextend命令扩容。例如,要将/dev/mapper/vg-root逻辑卷扩容到20GB,可以执行以下命令: ``` lvextend -L +10G /dev/mapper/vg-root ``` 其中,-L选项指定扩容后的大小,+10G表示增加10GB的容量。 3. 如果需要扩容的分区不是LVM逻辑卷,可以使用resize2fs命令扩容。例如,要将/dev/sda1分区扩容到20GB,可以执行以下命令: ``` resize2fs /dev/sda1 20G ``` 其中,20G表示扩容后的大小。 4. 扩容完成后,可以使用df命令查看根目录的容量是否已经扩大。如果容量没有变化,可能需要重启系统才能生效。 注意:在扩容分区之前,一定要备份重要数据,以免数据丢失。 ### 回答2: 在 Linux 操作系统中,如果根目录不够大,需要给它扩容根目录一般是挂载在文件系统的根目录“/”上,其实就是硬盘上的一个分区。扩展根目录的方法有很多种,下面是其中两种比较常用的方法。 方法一:使用 GParted GParted 是 Linux 中非常流行的磁盘分区工具,它可以帮助用户对磁盘进行分区、扩容等操作。要使用 GParted 扩展根目录,需要先把系统启动盘插入计算机中,然后在终端中输入以下命令: sudo apt-get update sudo apt-get install gparted 安装完毕后,打开 GParted,找到根目录对应的分区(一般是 /dev/sda1),右键选择“unmount”卸载该分区。然后,选中该分区并右键选择“Resize/Move”,将大小调整为需要的大小,然后点击“Resize/Move”按钮。调整完毕后,再右键选择“mount”挂载分区,这样就完成了根目录的扩展。 方法二:使用 LVM LVMLinux 中的一种逻辑卷管理工具,它可以将多个物理硬盘的空间组合成一个逻辑卷进行使用,方便用户对磁盘空间进行统一管理。使用 LVM 扩展根目录需要先创建一个物理卷、一个卷组和一个逻辑卷,然后将逻辑卷挂载到根目录上,具体步骤如下: 1. 在终端中输入以下命令,创建一个物理卷: pvcreate /dev/sdb 这里将 sdb 作为新的物理卷。 2. 创建一个卷组,将新的物理卷添加到卷组中: vgcreate vg_root /dev/sdb 这里将新的卷组命名为 vg_root,将 sdb 添加到该卷组中。 3. 创建一个逻辑卷,分配需要的空间并将其挂载到根目录上: lvcreate -L 30G -n lv_root vg_root mkfs.xfs /dev/vg_root/lv_root mount /dev/vg_root/lv_root /mnt xfsdump -J - /dev/sda1 | xfsrestore -J - /mnt 这里将分配 30G 的空间给 lv_root 这个逻辑卷,然后将其挂载到 /mnt 上。最后使用 xfsdump 和 xfsrestore 命令将根目录的数据复制到新的逻辑卷上。 4. 设置新逻辑卷的挂载点: umount /mnt mount /dev/vg_root/lv_root / echo "/dev/mapper/vg_root-lv_root / xfs defaults 0 0" >> /etc/fstab 先卸载 /mnt 上的逻辑卷,然后将新逻辑卷挂载到根目录上,并将其添加到 /etc/fstab 文件中,以便开机自动挂载。 综上所述,使用 GParted 或 LVM 均可扩展 Linux根目录,具体操作按照上述步骤即可。但需要注意的是,在操作系统上执行磁盘上修改操作有一定的风险,建议进行操作前备份数据并小心谨慎。 ### 回答3: Linux 常见的文件系统有 ext2、ext3、ext4、XFS、 Btrfs 等,各种文件系统对于扩容的操作也有所区别,本文以 ext4 文件系统为例,介绍如何在 Linux 系统下给根目录扩容。 1. 查看硬盘分区信息 使用 fdisk -l 命令,查看硬盘分区信息,找到想要扩容的分区。 2. 创建新的分区 使用 fdisk 或 parted 命令创建新的分区,新分区的类型和容量需根据实际情况选择。一般可以将新分区设置为 linux LVM 类型,以便后续扩容。 3. 创建物理卷 使用 pvcreate 命令将新创建的分区设置为物理卷。 4. 扩容卷组 使用 vgextend 命令将新的物理卷扩展到根目录所在的卷组中。 5. 扩容逻辑卷 使用 lvextend 命令将根目录所在的逻辑卷扩容,需要指定扩容的大小。例如,将原先的根目录扩容 10GB,则可执行以下命令: lvextend -L +10G /dev/mapper/vg-root 6. 扩容 ext4 文件系统 扩容逻辑卷后,需要对文件系统进行扩容,使用 resize2fs 命令。 resize2fs /dev/mapper/vg-root 7. 查看扩容结果 使用 df -h 命令查看根目录的容量是否已经扩容成功。 以上即为给根目录扩容的基本步骤,需要特别注意的是,在进行扩容之前,一定要备份重要数据,以防意外情况发生。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值