分享交流
合作共赢!

linux磁盘非lvm扩展分区和文件系统【珍藏】

一、查看分区和文件系统

1.运行fdisk -lu <DeviceName>确认数据盘是否分区。

本示例中,原有的数据盘空间已做分区/dev/vdb1

  • 如果”System”=”Linux”,说明数据盘使用的是MBR分区格式。
  • 如果”System”=”GPT”,说明数据盘使用的是GPT格式。
[root@ecshost ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux

2. 运行blkid <PartitionName>确认文件系统的类型。

本示例中,/dev/vdb1的文件系统类型为ext4。

[root@ecshost ~]# blkid /dev/vdb1
/dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"

说明 未分区并且未创建文件系统的数据盘,以及已分区但未创建文件系统的数据盘,不会返回结果。

3. 运行以下命令确认文件系统的状态。

  • ext*文件系统:e2fsck -n <dst_dev_part_path>
  • xfs文件系统:xfs_repair -n <dst_dev_part_path>
警告: 本示例中,文件系统状态为clean。如果状态不是clean,请排查并修复。
[root@ecshost ~]# e2fsck -n /dev/vdb1
e2fsck 1.42.9 (28-Dec-2013)
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks

二、选择分区或文件系统扩容方式

1.扩展MBR分区

  • 实例内核版本 < 3.6:先取消挂载该分区,再修改分区表,最后扩容文件系统。
  • 实例内核版本 ≥ 3.6:先修改对应分区表,再通知内核更新分区表,最后扩容文件系统。

1)查看分区表。

运行fdisk -lu /dev/vdb,并记录旧分区的起始和结束的扇区位置。

本示例中,/dev/vdb1的起始扇区是2048,结束扇区是41943039
[root@ecshost ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux

2)卸载挂载分区

[root@nagios_server ~]# umount /dev/sdc /data1

3)用fdisk工具删除旧分区保存后,创建新分区并保存。

使用fdisk工具删除旧分区。

  1. 运行fdisk -u /dev/vdb:分区数据盘。
  2. 输入p:打印分区表。
  3. 输入d:删除分区。
  4. 输入p:确认分区已删除。
  5. 输入w:保存修改并退出。

使用fdisk命令新建分区。

  1. 运行fdisk -u /dev/vdb:分区数据盘。
  2. 输入p:打印分区表。
  3. 输入n:新建分区。
  4. 输入p:选择分区类型为主分区。

警告: 新分区的起始位置必须和旧分区的起始位置相同,结束位置必须大于旧分区的结束位置,否则会导致扩容失败。

4)确认分区表已添加

运行lsblk /dev/vdb确保分区表已经增加。

运行e2fsck -n /dev/vdb1再次检查文件系统,确认扩容分区后的文件系统状态为clean

5)通知内核更新分区表。

运行partprobe <dst_dev_path>或者partx -u <dst_dev_path>,以通知内核数据盘的分区表已经修改,需要同步更新。

扩容文件系统。

  • ext*文件系统(例如ext3和ext4):运行resize2fs /dev/vdb1并重新挂载分区。
  • xfs文件系统:先运行mount /dev/vdb1 /mnt/命令,再运行xfs_growfs /dev/vdb1。

2.扩展GPT分区

1.使用fdisk工具查看待扩展的数据盘分区信息

2.卸载已挂载磁盘

3.使用parted工具为分区分配容量。

1)  运行parted /dev/vdb进入parted分区工具。

2) 可选: 运行help查看工具使用说明。

3) 运行print查看待扩容的分区号(Number)和容量(Size)。

本示例中,待扩容的分区为1号分区,已有容量为1100GiB,以下步骤会将所有新增容量分配到该分区。

4) 运行resizepart <分区号> <容量分配百分比>扩展分区。示例操作为resizepart 1 100%。

5) 运行print查看分区号(Number)和容量(Size)是否发生变化

运行quit退出parted分区工具

4. 运行fsck -f /dev/vdb1确认文件系统一致性。

[root@ecshost ~]# fsck -f /dev/vdb1
fsck from util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vdb1: 11/67108864 files (0.0% non-contiguous), 4265369/268435200 blocks

5. 扩展分区对应的文件系统并重新挂载分区

  • ext*文件系统(例如ext3和ext4):运行resize2fs /dev/vdb1并重新挂载分区。
[root@ecshost ~]# resize2fs /dev/vdb1 
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vdb1 to 8589934331 (4k) blocks. 
The filesystem on /dev/vdb1 is now 8589934331 blocks long. 
[root@ecshost ~]# mount /dev/vdb1 /mnt
  • xfs文件系统:先运行mount /dev/vdb1 /mnt/命令,再运行xfs_growfs /dev/vdb1。
[root@ecshost ~]# mount /dev/vdb1 /mnt/
[root@ecshost ~]# xfs_growfs /dev/vdb1

三、其他磁盘扩容方法总结

1、查看系统信息:

[root@nagios_server ~]# uname -a
Linux nagios_server 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

[root@nagios_server ~]# more /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core)

2、目前 /dev/sdb对应的文件系统  /data 为 50G

[root@nagios_server ~]# df -lh
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda1        40G   12G   29G   29% /
devtmpfs        3.9G     0  3.9G    0% /dev
tmpfs           3.9G  168K  3.9G    1% /dev/shm
tmpfs           3.9G  8.9M  3.9G    1% /run
tmpfs           3.9G     0  3.9G    0% /sys/fs/cgroup
tmpfs           783M   48K  783M    1% /run/user/0
tmpfs           783M   12K  783M    1% /run/user/42
/dev/sdb         50G   33M   50G    1% /data

注意:

1、若某磁盘作为一个分区按如下操作,保证不会出错;若有多个分区要用fdisk工具扩容;

2、注意:若用fdisk命令删除/dev/sdb分区,重建/dev/sdb分区的话,有可能要格式化分区会丢失数据,建议备份后操作

4、通过blkid查看/dev/sdb文件系统格式

a、如果文件系统是”xfs”类型,如下:

可在线扩容(不用卸载文件)

[root@nagios_server /]# blkid /dev/sdb
/dev/sdb: UUID="b7896cb5-a520-4046-85ea-a0319acbc632" TYPE="xfs"

1)、直接xfs_growfs /dev/sdb就可以直接将/dev/sdb扩展到最大容量,即100G,如下:

[root@nagios_server ~]# xfs_growfs /dev/sdb
meta-data=/dev/sdb isize=512 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=13107200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 13107200 to 26214400

2)、查看磁盘信息,如下显示挂载成功,即/data增到100G

[root@nagios_server ~]# df -lh
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda1 40G 12G 29G 29% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 168K 3.9G 1% /dev/shm
tmpfs 3.9G 8.9M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 783M 48K 783M 1% /run/user/0
tmpfs 783M 16K 783M 1% /run/user/42
/dev/sdb 100G 33M 100G 1% /data

b、如果文件系统是ext2/3/4类型,如下是”ext4″,需要先卸载文件系统(若要缩小文件系统,也需要先卸载文件系统)

[root@nagios_server /]# blkid /dev/sdc
/dev/sdc: UUID="56fea796-5743-4050-ad89-12e06a450839" TYPE="ext4"

1)卸载 /data1

[root@nagios_server ~]# umount /dev/sdc /data1

如果报错如下:

umount: /data: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /data: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))

解决办法一:

此内容查看价格1立即购买

可以使用 kill 命令杀掉查到对应的进程 。
强制 kill 进程可能会导致数据丢失,请确保数据得到有效备份后,再进行相关操作。

2)检查/dev/sdc文件系统

[root@nagios_server ~]# e2fsck -f /dev/sdc
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/sdc: 11/3276800 files (0.0% non-contiguous), 251790/13107200 blocks

3)扩容/dev/sdc到100G(提示:如不指定大小,默认增加到磁盘最大值)

[root@nagios_server ~]# resize2fs /dev/sdc 100G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/sdc to 26214400 (4k) blocks.
The filesystem on /dev/sdc is now 26214400 blocks long.

4)然后再挂载

[root@nagios_server ~]# mount /dev/sdc /data

5、扩容后查看磁盘信息如下:

提示:此时可以使用挂载的文件,检查是否有错!

[root@nagios_server ~]# df -lh
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda1 40G 12G 29G 29% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 168K 3.9G 1% /dev/shm
tmpfs 3.9G 8.9M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sdb 100G 33M 100G 1% /data
/dev/sdc 99G 60M 94G 1% /data1
tmpfs 783M 48K 783M 1% /run/user/0
tmpfs 783M 16K 783M 1% /run/user/42

 

温馨提示:

Linux添加新硬盘,设置分区和开机自动挂载之图文教程!

Linux扩展lvm管理磁盘空间方法总结

Linux系统磁盘扩容方法总结

赞(0) 打赏
未经允许不得转载:琼杰笔记 » linux磁盘非lvm扩展分区和文件系统【珍藏】

评论 抢沙发

评论前必须登录!

 

分享交流,合作共赢!

联系我们加入QQ群

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册