磁盘分区工具及命令
层级 | 类型 | 命令 | 说明 |
---|---|---|---|
0 | 硬盘 / 分区 | lsblk | 查看硬盘与分区信息 |
1 | 分区操作 | fdisk | 用来创建 MBR 分区 (也可以创建 GPT 分区, 但是支持的并不是特别完美) |
1 | 分区操作 | gdisk | 用来创建 GPT 分区 (如果要创建 GPT 分区, 就来使用这个命令吧) |
1 | 分区操作 | cfdisk | 图形化操作, 较 fdisk 更直观简单的分区工具 |
1 | 分区操作 | cgdisk | 图形化操作, 较 gdisk 更直观简单的分区工具 |
1 | 分区操作 | parted | 高级分区操作 (注意操作, 很多命令一键完成, 没有提示, 所以也就不存在后悔的余地, 功能强大) |
1 | 分区操作 | growpart | 可以非常方便的把磁盘空间进行扩容的工具, 需要下载 |
2 | 分区表操作 | partprobe | 当分区表进行修改调整之后, 需要重新读取分区表 |
3 | 文件系统 | resize2fs | 在调整的磁盘空间之后, 重新对文件系统进行分配. |
1 虚拟机先增加磁盘空间
1.1 lsblk查看磁盘情况
SSH连接后 lsblk
查看磁盘情况。可以看到sda大小成了30G 但是挂载到根目录的sda1只有11G大小,本地目的就是就是要把这个11G扩展到30G。
2 扩容分区
思路就是删除 swap 与其他分区,让空闲空间和扩容分区之间直接连接。然后使用growpart命令进行扩容。
2.1 使用fdisk
命令删除其他分区!
d 是删除分区 ; n新建分区; P 新建主分区 ;w是写入分区 。
因为要把swap分区删除,需要查看fstab有没有设置开机挂载,否则重启后可能无法开机。
可以 vi /etc/fstab
也可以直接用SSH工具修改。
reboot后再命令查看一下硬盘信息:
可以看到 sda2和sda5的 swap分区已经删除了。
2.2 安装growpart工具
根据实际情况执行命令,安装 gdisk 工具。
若分区类型为 MBR,则请跳过此步骤。
若分区类型为 GPT,则请对应云服务器操作系统类型,执行以下命令安装工具。
Centos 执行yum install gdisk -y
debian 执行apt-get install gdisk -y
对应云服务器操作系统类型,执行以下命令,安装 growpart 工具。
Centos 执行yum install -y cloud-utils-growpart
debian 执行apt-get install -y cloud-guest-utils
2.3 执行以下命令,使用 growpart 工具扩容分区。
本文以扩容 /dev/sda1 分区为例,命令中 /dev/sda 与 1 间需使用空格分隔。您可按需修改命令。
growpart /dev/sda 1
返回结果如下图所示,则表示分区扩容成功。
3 扩容文件系统
3.1 获取文件系统类型,执行对应命令扩容文件系统
通过df -TH
命令可以看到 格式为ext4 的 ,而且可以看到,前面虽然sda1已经扩容了,但是这里可用的空间仍然只有12G,我们需要接着扩容文件系统。
3.2 执行以下命令,扩容 ext 文件系统。
resize2fs /dev/sda1
返回结果如下图所示:
3.3 执行以下命令,扩容 xfs 文件系统。
xfs_growfs <挂载点>
本文示例为 /dev/vdc1 挂载至 /mnt/disk2,则执行以下命令。
xfs_growfs /mnt/disk2
返回结果如下图所示(因为我的机器是ext4格式,下图网上找的):
3.4.执行以下命令,查看扩容结果。
df -TH
返回结果如下图所示,则表示已扩容成功。
4.成功 附:知识扩展
磁盘分区
-
查看磁盘信息:sudo fdisk -l
-
选择操作磁盘:sudo fdisk /dev/sdc
-
输入:m,可以查看帮助
-
删除现有分区:d,然后输入要删除的分区序号
-
新建分区:n,然后根据提示操作
-
保存分区:w
-
更新分区表信息:sudo partprobe /dev/sdc
-
格式化分区:sudo mkfs -t ext4 /dev/sdc1
磁盘挂载
-
查看磁盘信息:sudo fdisk -l(查看UUID:ls -l /dev/disk/by-uuid)
-
创建挂载点:mkdir /mnt/sdc1
-
挂载磁盘:mount /dev/分区编号 /mnt/挂载点文件夹名称
-
检查挂载结果:sudo df -h
-
如需开机自动挂载,修改fstab:nano /etc/fstab,添加如下条目,并保存退出。
/dev/sdc1 /mnt/sdc1 ext4 default 0 0
从左向右:分区名(可以使用:UUID=××××)、挂载点、分区格式、挂载选项、是否备份、开机是否自检
- 检查语法错误:mount -a(如果报错,则必须改正fstab新增条目,否则会影响系统启动)
评论区