调整硬盘大小以适应实时系统 ext4

调整硬盘大小以适应实时系统 ext4

我有一个 Ubuntu 16.10 虚拟服务器,重新安装后我得到:

root@ip140:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       5.5G  1.6G  3.7G  30% /

fdisk -l

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        2048 11718655 11716608  5.6G 83 Linux
/dev/sda2       11718656 12580863   862208  421M 82 Linux swap / Solaris
/dev/sda3       12580864 41942975 29362112   14G 83 Linux

我确实尝试了很多方法来 fdisk /dev/sda delete 1 delete 3 并创建一个新的,但是因为交换是分区 2,所以系统不会调整我的分区大小,并且我无法进行实时救援。我能做的唯一方法是使用 ssh。如何删除 1 和 3 并将它们组合在一起?或者我怎样才能删除它们全部 3 个并进行 1 个/全尺寸和额外的 200MB 交换而不损坏实际系统?

答案1

如果要删除交换分区,则必须关闭交换:

swapoff /dev/sda2

之后,您可以尝试删除第二个分区。

但要小心:您必须将第一个分区的开始位置精确设置为现在开始的位置,否则该分区的安装将失败 - 安装将找不到该分区的超级块。

如果您不确定自己在做什么,请不要这样做 - 这是非常危险的操作。

祝你好运!

答案2

我认为这/dev/sda3对于系统启动或通过 SSH 登录来说并不是必需的。仔细检查以确保。如果是这样的话,那么

  1. 关闭交换,从而可以删除/dev/sda2

    sudo swapoff -a
    
  2. 注释掉/etc/fstab挂载/dev/sda2为交换分区中的行。 (可能是通过 UUID 调用的,而不是通过设备名称调用的。)

  3. 如果/dev/sda3已挂载,则卸载它;确保/dev/sda3未安装在/etc/fstab.

  4. 删除分区 2 和 3,扩展分区 1 并创建新分区 2:

    sudo parted /dev/sda -- rm 3
    sudo parted /dev/sda -- rm 2
    sudo parted /dev/sda -- unit s resizepart 1 41080767
    sudo parted /dev/sda -- unit s mkpart primary linux-swap 41080767 -1
    
  5. 重启。

  6. 再次连接到系统。

  7. /dev/sda2交换格式和启用交换:

     sudo mkswap /dev/sda2
     sudo swapon /dev/sda2
    
  8. 扩展文件系统/dev/sda1

     sudo resize2fs /dev/sda1
    
  9. /dev/sda2获取from的新 UUIDlsblk并进行/etc/fstab相应更新。

  10. 就这样。


OP 回复:

做过某事,

结果是一样的

 root@ip140:~# resize2fs /dev/sda1
 resize2fs 1.43.3 (04-Sep-2016)
 The filesystem is already 1464576 (4k) blocks long.  Nothing to do!

 # df -h
 Filesystem      Size  Used Avail Use% Mounted on
 udev            979M     0  979M   0% /dev
 tmpfs           200M  3.2M  197M   2% /run
 /dev/sda1       5.5G  1.9G  3.4G  36% /
 tmpfs          1000M     0 1000M   0% /dev/shm
 tmpfs           5.0M     0  5.0M   0% /run/lock
 tmpfs          1000M     0 1000M   0% /sys/fs/cgroup
 tmpfs           200M     0  200M   0% /run/user/0
 root@ip140:~#

答案3

在我设法在 /dev/sda 上运行 fdisk 删除分区并使用 resize2fs 重新添加分区调整大小后,我做了工作

相关内容