我在 VMWare 中有一个虚拟化的 Ubuntu 服务器(版本 Linux 服务器 3.2.0-58-generic #88-Ubuntu SMP x86_64 GNU/Linux),如下所示:
硬盘 1 SCSI(0:0) --> 11 Gb /dev/sda1
硬盘 2 SCSI(0:1) --> 30 Gb /dev/sdb1
这台机器有这样的职业:
fdiks-l
Disk /dev/sda: 11.8 GB, 11811160064 bytes
255 heads, 63 sectors/track, 1435 cylinders, total 23068672 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 identifier: 0x0001ce75
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 15958015 7977984 83 Linux
/dev/sda2 15960062 16775167 407553 5 Extended
/dev/sda5 15960064 16775167 407552 82 Linux swap / Solaris
Disk /dev/sdb: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders, total 62914560 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 identifier: 0x2666a626
Device Boot Start End Blocks Id System
/dev/sdb1 63 41961779 20980858+ 83 Linux
/dev/sdb2 41961780 62910539 10474380 83 Linux
因此,我的目标是:
- 在 Vmware 中创建 spce 到 HD2 (SCSI(0:1))
- 把这个空间给 /var (/dev/sdb1)
我的空闲空间是: DF-K
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 8,1G 6,7G 944M 88% /
udev 3,2G 4,1k 3,2G 1% /dev
tmpfs 1,3G 500k 1,3G 1% /run
none 5,3M 0 5,3M 0% /run/lock
none 3,2G 0 3,2G 0% /run/shm
/dev/sdb1 22G 19G 1,3G 94% /var
/dev/sdb2 11G 7,4G 2,8G 73% /home
我正在读这,但我猜如果我的 /dev/sdb2 (/home) 就在隔壁,我就无法调整 /dev/sdb1 (/var) 的大小,sdb1 的最后一个块是 sdb2 中的下一个。我有什么选择?我在想:
- 合并 sdb1 和 sdb2
- 为这个新分区添加空间
- 再次分割 /var 和 /home,但将最大空间留给 /var
但我不知道...所有这些,都没有丢失任何数据...有什么想法吗?
答案1
您应该在采取任何解决方案之前进行备份,因为任何解决方案都伴随着风险。
您有很多选择,具体取决于停机成本/磁盘空间/正确执行/未来保障。
最简单的选择可能是在 /sdb 末尾创建一个新分区,并将其安装到需要额外空间的位置。使用符号链接可以帮助您在其后面移动多个目录。停机时间非常少,甚至没有,也不会移动数据。将 /home 移动到新的 /dev/sdb3 并不难 - 只需(在移动过程中,除了您之外没有其他人能够访问 /home)将 /dev/sdb3 安装到新位置,将 /home 移动到新分区,卸载它,编辑 /etc/fstab 以将新磁盘安装在 /home 上。-问题是它很浪费,因为它不会在 /home 和系统的其余部分之间共享空间。
您可能能够按照您的建议合并和拆分数据,但您也可以使用 gparted 来移动分区。不过我预计这会花一些时间。
您可以使用 LVM “更好地” 重建虚拟机 - 这将使您在将来添加磁盘和调整块设备大小时拥有更大的灵活性。不幸的是,转换为 LVM 并非易事,而且可能意味着重建虚拟机。
答案2
Davidgo 的回答很好。还有另一种选择:使用文件系统。