openEuler给根目录扩容

新分配的服务器,系统盘80G,数据盘500G,我们希望数据盘的空间都挂载到根目录下该如何操作呢?

系统版本:openEuler  22.03 LTS

一、系统磁盘空间查看、挂载情况查看

用lsblk查看磁盘分区情况入下图,可以看到有2块盘vda和vdb ,其中vda 盘80G,有2个分区vda1和vda2 ;vdb有500G的磁盘容量,没有分区也没有挂载。

[root@localhost ~]# lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sr0                 11:0    1 1024M  0 rom  
vda                252:0    0   80G  0 disk 
├─vda1             252:1    0    1G  0 part /boot
└─vda2             252:2    0   79G  0 part 
  ├─openeuler-root 253:0    0 47.8G  0 lvm  /
  ├─openeuler-swap 253:1    0  7.9G  0 lvm  [SWAP]
  └─openeuler-home 253:2    0 23.3G  0 lvm  /home
vdb                252:16   0  500G  0 disk

用df -h 查看系统存储空间以及磁盘挂载情况,可以看到根目录下可用空间只有43G,无法满足要求。

[root@localhost ~]# df -h
文件系统                    容量  已用  可用 已用% 挂载点
devtmpfs                     32G     0   32G    0% /dev
tmpfs                        32G     0   32G    0% /dev/shm
tmpfs                        13G   17M   13G    1% /run
tmpfs                       4.0M     0  4.0M    0% /sys/fs/cgroup
/dev/mapper/openeuler-root   47G  1.9G   43G    5% /
tmpfs                        32G     0   32G    0% /tmp
/dev/vda1                   974M   87M  820M   10% /boot
/dev/mapper/openeuler-home   23G  376M   22G    2% /home

二、使用 fdisk 对磁盘进行分区

2.1 我们要给vdb分区  用fdisk /dev/vdb  

说明:输入 fdisk /dev/vdb 后,输入n  表示新建分区(new) ,后面的根据提示操作即可,有默认值的可以直接回车。

[root@localhost ~]# fdisk /dev/vdb

欢迎使用 fdisk (util-linux 2.37.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

设备不包含可识别的分区表。
创建了一个磁盘标识符为 0xb442d595 的新 DOS 磁盘标签。

命令(输入 m 获取帮助):n
分区类型
   p   主分区 (0 primary, 0 extended, 4 free)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):

将使用默认回应 p。
分区号 (1-4, 默认  1): 
第一个扇区 (2048-1048575999, 默认 2048): 
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-1048575999, 默认 1048575999): 

创建了一个新分区 1,类型为“Linux”,大小为 500 GiB。

命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

2.2  重新识别磁盘。命令:partprobe

[root@localhost ~]# 
[root@localhost ~]# partprobe
[root@localhost ~]# 
[root@localhost ~]# 

2.3 再用lsblk查看 ,可以看到vdb已经有了一个分区叫vdb1 磁盘空间500G ,但是还没挂载到根目录  

[root@localhost ~]# lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sr0                 11:0    1 1024M  0 rom  
vda                252:0    0   80G  0 disk 
├─vda1             252:1    0    1G  0 part /boot
└─vda2             252:2    0   79G  0 part 
  ├─openeuler-root 253:0    0 47.8G  0 lvm  /
  ├─openeuler-swap 253:1    0  7.9G  0 lvm  [SWAP]
  └─openeuler-home 253:2    0 23.3G  0 lvm  /home
vdb                252:16   0  500G  0 disk 
└─vdb1             252:17   0  500G  0 part 

2.3  查看文件系统的格式 用df -T  ,可以看到类型这列,显示的是ext4 格式(之前的文章里面用的是xfs,这个后面就根据实际情况用实际的命令即可)

[root@localhost ~]# df -T
文件系统                   类型        1K-块    已用     可用 已用% 挂载点
devtmpfs                   devtmpfs 32624512       0 32624512    0% /dev
tmpfs                      tmpfs    32641608       0 32641608    0% /dev/shm
tmpfs                      tmpfs    13056644   17196 13039448    1% /run
tmpfs                      tmpfs        4096       0     4096    0% /sys/fs/cgroup
/dev/mapper/openeuler-root ext4     49019548 1893480 44603548    5% /
tmpfs                      tmpfs    32641612       0 32641612    0% /tmp
/dev/vda1                  ext4       996780   88704   839264   10% /boot
/dev/mapper/openeuler-home ext4     23908728  384496 22284376    2% /home

2.4 将刚刚的硬盘重新格式化,格式化为ext4格式,命令用 mkfs.ext4 /dev/vdb1  

[root@localhost ~]# mkfs.ext4 /dev/vdb1
mke2fs 1.46.4 (18-Aug-2021)
创建含有 131071744 个块(每块 4k)和 32768000 个inode的文件系统
文件系统UUID:867bd6e2-ef12-4d5c-88c7-e4b2d104b05f
超级块的备份存储于下列块: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
	102400000

正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(262144 个块)完成
写入超级块和文件系统账户统计信息: 已完成  

三、使用lvm命令,对根目录进行扩容

3.1 进入lvm模式。用pvdisplay查看物理卷详情,发现只有1个物理卷 /dev/vda2
[root@localhost ~]# lvm
lvm> 
lvm> 
lvm> pvdisplay
  --- Physical volume ---
  PV Name               /dev/vda2
  VG Name               openeuler
  PV Size               <79.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              20223
  Free PE               0
  Allocated PE          20223
  PV UUID               ECcS1h-jAAx-NoDb-sz2o-cAfP-is4M-3fUVsY

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

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

3.3  再次用pvdisplay查看pv卷,已经有两个pv卷了。

可以创建看到第2个pv卷就是刚刚新建的vdb1

lvm> pvdisplay
  --- Physical volume ---
  PV Name               /dev/vda2
  VG Name               openeuler
  PV Size               <79.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              20223
  Free PE               0
  Allocated PE          20223
  PV UUID               ECcS1h-jAAx-NoDb-sz2o-cAfP-is4M-3fUVsY
   
  "/dev/vdb1" is a new physical volume of "<500.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/vdb1
  VG Name               
  PV Size               <500.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               0NntKO-njBX-ZkFM-ehfG-yhQI-tNRX-brzn9m

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

lvm> vgdisplay
  --- Volume group ---
  VG Name               openeuler
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <79.00 GiB
  PE Size               4.00 MiB
  Total PE              20223
  Alloc PE / Size       20223 / <79.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               FDWpvQ-AGYU-KviR-E8hg-HZxC-NkSQ-0a0TB1

3.5 将刚刚生成的pv卷 /dev/vdb1 加入到根目录所在的vg组:openeuler

lvm> vgextend openeuler /dev/vdb1
  Volume group "openeuler" successfully extended

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

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

重点看倒数第2行  Free  PE / Size       127999 / <500.00 GiB   (注意这个127999后面有用)

lvm> vgdisplay
  --- Volume group ---
  VG Name               openeuler
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               578.99 GiB
  PE Size               4.00 MiB
  Total PE              148222
  Alloc PE / Size       20223 / <79.00 GiB
  Free  PE / Size       127999 / <500.00 GiB
  VG UUID               FDWpvQ-AGYU-KviR-E8hg-HZxC-NkSQ-0a0TB1

3.7   查看lv卷。命令:lvdisplay

lvm> lvdisplay
  --- Logical volume ---
  LV Path                /dev/openeuler/swap
  LV Name                swap
  VG Name                openeuler
  LV UUID                cjvrZy-AGS8-qqZZ-hjq3-CjFP-NOy8-mv1krJ
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-08-05 10:03:48 +0800
  LV Status              available
  # open                 2
  LV Size                <7.86 GiB
  Current LE             2012
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/openeuler/home
  LV Name                home
  VG Name                openeuler
  LV UUID                SqVbPS-51Zd-Blxu-Vqrx-psrs-5hVj-UcdeTg
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-08-05 10:03:48 +0800
  LV Status              available
  # open                 1
  LV Size                <23.34 GiB
  Current LE             5974
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/openeuler/root
  LV Name                root
  VG Name                openeuler
  LV UUID                W29h3v-9gVd-68NH-G14F-Ah26-IByw-UhVgsT
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-08-05 10:03:49 +0800
  LV Status              available
  # open                 1
  LV Size                47.80 GiB
  Current LE             12237
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   

3.8  使用 lvextend 为根目录进行扩容。命令:lvextend -l +127999 /dev/openeuler/root

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

也可以直接用:lvextend -L +499G /dev/openeuler/root  也可以(有效空间可能小于500G了,所以用499G)

lvm> lvextend -l +127999 /dev/openeuler/root
  Size of logical volume openeuler/root changed from 47.80 GiB (12237 extents) to <547.80 GiB (140236 extents).
  Logical volume openeuler/root successfully resized.
lvm> 

3.10  扩容文件系统。要先退出lvm模式,再执行命令 resize2fs /dev/mapper/openeuler-root

lvm> 
lvm> exit
  Exiting.
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# resize2fs /dev/mapper/openeuler-root
resize2fs 1.46.4 (18-Aug-2021)
/dev/mapper/openeuler-root 上的文件系统已被挂载于 /;需要进行在线调整大小

old_desc_blocks = 6, new_desc_blocks = 69
/dev/mapper/openeuler-root 上的文件系统现在为 143601664 个块(每块 4k)。

[root@localhost ~]#

3.11  检查系统是否扩容成功,用lsblk 和 df -h

用lsblk 可以看到,vdb1 已经挂载到了根目录/。

[root@localhost ~]# lsblk
NAME               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sr0                 11:0    1  1024M  0 rom  
vda                252:0    0    80G  0 disk 
├─vda1             252:1    0     1G  0 part /boot
└─vda2             252:2    0    79G  0 part 
  ├─openeuler-root 253:0    0 547.8G  0 lvm  /
  ├─openeuler-swap 253:1    0   7.9G  0 lvm  [SWAP]
  └─openeuler-home 253:2    0  23.3G  0 lvm  /home
vdb                252:16   0   500G  0 disk 
└─vdb1             252:17   0   500G  0 part 
  └─openeuler-root 253:0    0 547.8G  0 lvm  /

再用df -h查看,根目录/的可用空间有515G。

[root@localhost ~]# df -h
文件系统                    容量  已用  可用 已用% 挂载点
devtmpfs                     32G     0   32G    0% /dev
tmpfs                        32G     0   32G    0% /dev/shm
tmpfs                        13G   17M   13G    1% /run
tmpfs                       4.0M     0  4.0M    0% /sys/fs/cgroup
/dev/mapper/openeuler-root  539G  1.9G  515G    1% /
tmpfs                        32G     0   32G    0% /tmp
/dev/vda1                   974M   87M  820M   10% /boot
/dev/mapper/openeuler-home   23G  376M   22G    2% /home

根目录扩容完成。

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值