主分区和swap分区不够用怎么办?一招教你扩分区

1.创建分区

要先扩分区,首先我们需要创建分区,所以我们先去看看又没有可用的硬盘来支持我们去创建新的分区。

[root@localhost ~]# lsblk                 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1  792M  0 rom  

我们发现只有一个硬盘,并且这个硬盘已经被根分区和swap分区占用,没有多余的硬盘供我们去创建分区,所以我们首先去创建新的硬盘。
在这里插入图片描述
在这里插入图片描述

[root@localhost ~]# reboot now                         
#添加完新的硬盘后重启或者你先挂起再去添加硬盘(推荐)
[root@localhost ~]# lsblk                       #再次查看我添加了两个
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
sdc               8:32   0   20G  0 disk 
sr0              11:0    1  792M  0 rom  

创建分区,先创建主分区,主分区只能创建四个。默认分区号是1-4,再创建扩展分区。扩展分区不能直接用,必须将其分为逻辑分区才能用。所有逻辑分区的大小之和等于扩展分区,而主分区与扩展分区的总和是整个硬盘的大小,也就是说你给主分区分的多,扩展分区的大小就会变小。

[root@localhost ~]# fdisk /dev/sdb                      #给sdb分区
命令(输入 m 获取帮助):n                                 #n代表创建新的分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)         #p代表主分区
   e   extended                                                      #e代表扩展分区
Select (default p): p                                               #在这里选择p,创建主分区
分区号 (1-4,默认 1):                                         #回车
起始 扇区 (2048-41943039,默认为 2048):           #回车
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G          #给主分区选择大小
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n                            #再输入n,创建新分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e                                   #创建扩展分区
分区号 (2-4,默认 2):
起始 扇区 (10487808-41943039,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):           #这里面我直接回车了,默认会将剩下的15G全给扩展分区
将使用默认值 41943039
分区 2 已设置为 Extended 类型,大小设为 15 GiB
命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l                              #创建扩展分区
添加逻辑分区 5
起始 扇区 (10489856-41943039,默认为 10489856):
将使用默认值 10489856
Last 扇区, +扇区 or +size{K,M,G} (10489856-41943039,默认为 41943039):
将使用默认值 41943039
分区 5 已设置为 Linux 类型,大小设为 15 GiB

命令(输入 m 获取帮助):w                                      #最后一定要w保存,否则无效       
[root@localhost ~]# lsblk                           #再次查看发现我们创建成功
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    5G  0 part 
├─sdb2            8:18   0    1K  0 part 
└─sdb5            8:21   0   15G  0 part 
sdc               8:32   0   20G  0 disk 
sr0              11:0    1  792M  0 rom 
#因为主分区只能创建4个,扩展分区和逻辑分区默认从5开始,所以是sdb5

2.扩大swap分区

先创建主分区,扩展分区和逻辑分区。因为这些我们都已经创建好了,所以直接扩分区就行了。

[root@localhost ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):t                         #修改分区ID
分区号 (1,2,5,默认 5):5                       #将第一个逻辑分区(即第五块盘)给swap
Hex 代码(输入 L 列出所有代码):82              #将分区ID改为82(linux swap类型)
已将分区“Linux”的类型更改为“Linux swap / Solaris”

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

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# mkswap /dev/sdb5          #格式化分区为swap分区
正在设置交换空间版本 1,大小 = 15726588 KiB
无标签,UUID=9c04eb58-52c3-4823-bd65-3abe0f7a3527
[root@localhost ~]# swapon /dev/sdb5           #启用这个swap分区
[root@localhost ~]# swapon -s                        #查看系统中的swap分区
文件名                          类型            大小    已用    权限
/dev/dm-1                               partition       2097148 0       -1
/dev/sdb5                               partition       15726588        0       -2
#我们发现sdb5已经是swap分区了
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    5G  0 part 
├─sdb2            8:18   0    1K  0 part 
└─sdb5            8:21   0   15G  0 part [SWAP]
sdc               8:32   0   20G  0 disk 
sr0              11:0    1  792M  0 rom  

3.扩大根分区

我们扩根是用LVM(逻辑卷)来扩的,所以我们需要了解他们是干什么用的。

  • LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。
  • 卷组(volume group,VG)类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。
  • 物理卷(Physical Volume,PV)指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
    因为LVM不能跨越VG,只有在同一个VG里面的LVM才能相互扩充,所以我们需要看一下根分区属于哪个VG。
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    5G  0 part 
├─sdb2            8:18   0    1K  0 part 
└─sdb5            8:21   0   15G  0 part [SWAP]
sdc               8:32   0   20G  0 disk 
sr0              11:0    1  792M  0 rom  
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <19.00g    0 

我们发现根分区在centos卷组里面,而且我们的根分区大小是17G

[root@localhost ~]# pvcreate /dev/sdc                  #将整个sdc硬盘物理卷
  Physical volume "/dev/sdc" successfully created.
[root@localhost ~]# vgextend centos /dev/sdc                 给centos卷组扩容
  Volume group "centos" successfully extended
[root@localhost ~]# lvextend -L +5G /dev/centos/root          #给根分区扩大5G
  Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to <22.00 GiB (5631 extents).
  Logical volume centos/root successfully resized.
[root@localhost ~]# xfs_growfs /dev/centos/root             #上面只是对逻辑卷扩容,还需要同步到文件系统,实现对根目录的扩容
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 5766144
[root@localhost ~]# df -Th  
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        22G  2.2G   20G   10% /
devtmpfs                devtmpfs  478M     0  478M    0% /dev
tmpfs                   tmpfs     489M     0  489M    0% /dev/shm
tmpfs                   tmpfs     489M  6.8M  482M    2% /run
tmpfs                   tmpfs     489M     0  489M    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  125M  890M   13% /boot
tmpfs                   tmpfs      98M     0   98M    0% /run/user/0

现在我们的根分区已经是22G了。

发布了19 篇原创文章 · 获赞 41 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/baidu_38803985/article/details/104885164