2024年10月RedHat系统下fdisk命令不能使用全部分区怎么处理?

发布时间:

  ⑴RedHat是非常流行的一款Linux系统,RedHat包括其他Linux系统都可以用fdisk命令对磁盘进行重新分区。某些情况下fdisk命令无法使用全部的分区,这是怎么回事呢?

  ⑵Linux在RedHat上原有四个主分区,分别为sda,sda,sda,sda,其中sda为主分区,M,后面三个主分区共G,后三个主分区为lvm,目前磁盘空间紧张,由于linux只能划分四个主分区,目前四个主分区已经全部占用了,如果直接删除会导致数据丢失,还好前期分区时做的lvm,为了拓展/dev/rhel/root根分区的空间,/dev/sda空间最小,使用pvmove命令,将/dev/sda里的数据全部移到/dev/sda,然后将/dev/sda 移除:

  ⑶pvmove /dev/sda /dev/sda

  ⑷pvremove /dev/sda

  ⑸Device Boot Start End Blocks Id System

  ⑹/dev/sda * Linux

  ⑺/dev/sda e Linux LVM

  ⑻/dev/sda e Linux LVM

  ⑼移动完成后,系统空出M空间,在vmware中扩展硬盘空间到G,使用partprobe /dev/sda,使用fdisk -l查看硬盘空间,已经显示为.G。

  ⑽Disk /dev/sda: . GB, bytes, sectors

  ⑾Units = sectors of * = bytes

  ⑿Sector size (logical/physical: bytes / bytes

  ⒀I/O size (minimum/optimal: bytes / bytes

  ⒁Disk label type: dos

  ⒂Disk identifier: xc

  ⒃接着使用fdisk /dev/sda添加扩展分区,使用n,选择扩展分区,初始块直接回车,结束块时,不能输入这个结束扇区,只能输入以前系统默认提供的M空间,重启后问题依旧,无法识别后加的G空间,怀疑问题是因为这个分区是在中间,无法与后续行成连续分区

  ⒄使用parted工具进行分区

  ⒅[rootserver ~]# parted

  ⒆GNU Parted .

  ⒇Using /dev/sda

  ⒈Wele to GNU Parted! Type ‘help’ to view a list of mands.

  ⒉(parted help

  ⒊align-check TYPE N check partition N for TYPE(min|opt alignment

  ⒋help [MAND] print general help, or help on MAND

  ⒌mklabel,mktable LABEL-TYPE create a new disklabel (partition table

  ⒍mkpart PART-TYPE [FS-TYPE] START END make a partition

  ⒎name NUMBER NAME name partition NUMBER as NAME

  ⒏print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a

  ⒐particular partition

  ⒑quit exit program

  ⒒rescue START END rescue a lost partition near START and END

  ⒓rm NUMBER delete partition NUMBER

  ⒔select DEVICE choose the device to edit

  ⒕disk_set FLAG STATE change the FLAG on selected device

  ⒖disk_toggle [FLAG] toggle the state of FLAG on selected device

  ⒗set NUMBER FLAG STATE change the FLAG on partition NUMBER

  ⒘toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER

  ⒙unit UNIT set the default unit to UNIT

  ⒚version display the version number and copyright information of GNU Parted

  ⒛(parted

  ①使用命令print list,看到结束分区为.G,使用命令mkpart extended ,输入起始分区G,输入结束分区G,使用partprobe /dev/sda更新分区表

  ②使用命令cat /proc/partitions查看是否新增扩展分区/dev/sda

  ③使用fdisk /dev/sda进行分区,新增G空间进来/dev/sda

  ④Device Boot Start End Blocks Id System

  ⑤/dev/sda * Linux

  ⑥/dev/sda e Linux LVM

  ⑦/dev/sda f W Ext‘d (LBA

  ⑧/dev/sda e Linux LVM

  ⑨/dev/sda Linux

  ⑩接下来使用pvcreate /dev/sda新增pv

  Ⅰ使用vgextend rhel /dev/sda扩展vg

  Ⅱvgextend rhel /dev/sda

  Ⅲ使用lvextend扩展根分区大小,从/dev/sda中划分空间

  Ⅳlvextend -L +G /dev/rhel/root /dev/sda

  Ⅴ使用系统自带的xfs_info查看扇区信息,可以看到每个块为KB,将G换算成块为,加上原有的就是

  Ⅵxfs_growfs -D /dev/mapper/rhel-root

  Ⅶ再使用命令df -h查看挂载情况

  Ⅷ[rootserver ~]# df -h

  ⅨFilesystem Size Used Avail Use% Mounted on

  Ⅹ/dev/mapper/rhel-root G M G % /

  ㈠devtmpfs M M % /dev

  ㈡tmpfs M K M % /dev/shm

  ㈢tmpfs M .M M % /run

  ㈣tmpfs M M % /sys/fs/cgroup

  ㈤/dev/mapper/rhel-usr .G .G M % /usr

  ㈥/dev/mapper/rhel-home .G M .G % /home

  ㈦/dev/mapper/rhel-var .G M .G % /var

  ㈧/dev/sda M M M % /boot

  ㈨根目录已经扩展到G,后续如果新增可以从扩展分区中新增分区,再按此操作方法增回。

  ㈩如果fdisk命令无法使用RedHat的所有分区,那么对RedHat进行重新分区就失去了意义,使用上面的方法就可以让fdisk命令使用全部的四个分区。