Linux磁盘扩容

作者: 5473 分类: Linux 发布时间: 2015-01-27 14:17 阅读数:525
警告:建议在扩容前先对硬盘做一次备份,万一操作失误还可以回滚。 如果硬盘容量大于1TB,不要用 fdisk,可使用 parted 工具进行分区。

 

下面以 CentOS Linux 为例,假设主机上已挂载一块 10GB 的硬盘,分区为 “/dev/vdc1” ,文件系统格式为 “ext3”,挂载位置是 “/mnt”,现在需要扩容到 20GB 。步骤如下 (需要 root 权限):

  1. 主机内部卸载硬盘
    umount /mnt/sdc
  2. 在控制台将硬盘从主机解绑,点右键将硬盘进行扩容后再重新绑定到主机。
  3. 开始扩大分区:
    >使用 fdisk 扩大分区
    a.通过 fdisk -l 查看硬盘分区号,这时可以看到 Disk /dev/sdc 的物理容量已是 20GB,不过 sdc1 还是原来的大小, 磁柱是从 1024 到 10240。
    警告:其中的起始磁柱位置(Start 对应的数字,此例中是 1024)要牢记, 后面重新分区时要用到。
    b.通过 fdisk /dev/sdc 对 sdc 重新分区(不会损失数据),输入 d 删除 sdc1 分区,之后依次输入 n, p, 1 建立新分区。在输入新分区起始磁柱(First cylinder)或者是起始扇区(First sector)时,依然选择之前的数字 1024 ,这样可以防止数据丢失。设定好后输入 wq 使分区表生效。

    >使用 parted 扩大分区
    a.通过 parted -l 查看硬盘分区号,这时可以看到 Disk /dev/sdc 的物理容量已扩大,不过 sdc1 还是原来的大小, 磁柱是从 1049k 到 10.7GB。
    警告:其中的起始位置(Start 对应的值,此例中是 1049k)要牢记, 后面重新分区时要用到。
    b.通过 parted /dev/sdc 对 sdc 重新分区(不会损失数据)
    (parted) rm 1
    (parted) mkpart primary 1049k -1
    (parted) quit

  4. 分区扩大后我们还要通过 resize2fs 调整 sdc1 的文件系统大小
    e2fsck -f /dev/sdc1
    resize2fs /dev/sdc1
    注意:使用 e2fsck 的时候由于系统需要检查并订正文件系统元数据,所以速度较慢、耗时较长,请耐心等待。使用 e2fsck 和 resize2fs 指令,正确操作情况下,不会造成原有数据丢失的。
  5. 重新挂载硬盘
    mount -t ext3 -o barrier=1 /dev/sdc1 /mnt/sdc
    这时通过 df -h 指令即可查看扩容后的分区大小

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注