增加磁盘大小

增加磁盘大小

我有一个磁盘 /dev/sda1,其容量为 60GB,我需要增加其容量。还有另一个磁盘 /dev/sdb,其容量为 500GB,我想增加磁盘容量,有什么方法可以使用 /dev/sdb 来增加磁盘 /dev/sda1 的容量吗?

答案1

假设 /dev/sda1 被挂载为,/但它变得太小了。假设您/data在该磁盘上有一个巨大的目录。您想将其移开,移到另一个分区,比如说/dev/sdb1,但仍然能够访问它,就像它仍在您的 上一样/dev/sda1。假设 上有一个 EXT4 文件系统/dev/sdb1

  1. 挂载/dev/sdb1到文件系统中的挂载点(我diskb1在这里使用,但您可以随意称呼它):

    sudo mkdir /mnt/diskb1
    sudo mount /dev/sdb1 /mnt/diskb1
    sudo chown youruser:youruser /mnt/diskb1
    

最后一个命令将分区的所有权更改为您的用户。替换youruser为您的用户名。

  1. /data目录复制到另一个磁盘。我建议这样做rsync,但cp使用正确的标志也可以。

    rsync -alz /data /mnt/diskb1/
    

如果复制过程中出现错误,只需重新输入相同的命令即可。事实上,无论如何都要重复两次,以确保所有内容都已复制。

  1. 删除旧的/data。此时,您已经正确复制了它,因此这样做没有坏处。这是释放磁盘 /dev/sda1 上的存储空间的步骤。

    sudo rm -r /data
    
  2. 创建一个名为的符号链接/data,指向磁盘 b 上的数据副本:

    sudo ln -s /mnt/diskb1/data /data
    

就是这样。以前可用的所有数据/data仍然存在,只是现在存储在磁盘 b 上。您需要输入一行/etc/fstab,使data分区在每次重新启动后都挂载,但本网站上有很多这样的示例。

确保将sdb1youruser和替换/data为系统所需的内容。不要对/bin或等系统目录进行此操作/lib,这些目录应保留在根分区上。在开始之前,备份你的数据

答案2

除非您想处理附加层 RAID 的复杂性,否则您无法将多个磁盘的空间组合成一个存储卷。对于“普通”用户(即没有服务器),使用符号链接无缝访问另一个位置的存储具有很大的灵活性。

您可能想探索 RAID,但不要过分依赖它来扩大单个卷,除非您投资额外的硬盘空间。强大的 RAID 要求您选择数据镜像,因此您需要双倍的空间。

相关内容