我有一台 CentOS 6 服务器(在 XenServer 上作为 VM 运行),由前一位员工设置,其中一个磁盘上没有任何分区。我通过 XenServer 界面增加了磁盘的大小,运行 lsblk 确实显示了新的大小。但是,我似乎无法将磁盘(使用 fdisk)扩展到新的大小。
$ df -h
Filesystem Size Used Avail Use%
/dev/xvda3 1.6G 479M 1.1G 32%
tmpfs 245M 4.0K 245M 1%
/dev/xvda1 113M 59M 48M 56%
/dev/xvda7 485M 2.7M 457M 1%
/dev/xvda2 2.4G 829M 1.5G 36%
/dev/xvda5 2.4G 1.2G 1.1G 53%
**/dev/xvdb 99G 92G 1.8G 99%**
/dev/xvdc 99G 60M 94G 1%
/dev/xvde4 222G 195G 16G 93%
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE
xvda 202:0 0 8G 0 disk
??xvda1 202:1 0 120M 0 part
??xvda2 202:2 0 2.5G 0 part
??xvda3 202:3 0 1.6G 0 part
??xvda4 202:4 0 1K 0 part
??xvda5 202:5 0 2.5G 0 part
??xvda6 202:6 0 768M 0 part
??xvda7 202:7 0 509M 0 part
**xvdb 202:16 0 300G 0 disk **
xvdc 202:32 0 100G 0 disk
xvde 202:64 0 225G 0 disk
??xvde4 202:68 0 225G 0 part
我对 Linux 系统相当了解,但我绝不是专家。我一直找不到解决我难题的答案。现在还能扩展磁盘吗?在此先感谢大家的帮助!
答案1
fdisk 无法扩展磁盘,它只处理分区 - 而您的磁盘没有任何分区,因此没有理由使用 fdisk。
由于您已经扩展了整个磁盘(即 lsblk 显示的“xvdb”设备)并且没有任何其他中间层,因此下一步是扩展文件系统,即允许它占用其可用的空间。这就是“df”显示的内容(文件系统配置)。
fdisk 也不会扩展文件系统(如果那就是您所说的“磁盘”),所以这里也没有理由使用 fdisk。
相反,根据文件系统类型,你需要resize2fs
对于 ext4,或xfs_growfs
对于 XFS,或者btrfs filesystem resize
,或者类似的东西。(每个文件系统都有自己的工具。大多数支持在线增长,但有些需要先卸载文件系统。)
使用df -T
或lsblk -f
确定文件系统类型。
答案2
我的建议是添加一个新的虚拟磁盘并将其安装在最合适的位置。您可以通过在互联网上搜索“xenserver 新虚拟磁盘”来了解如何执行此操作。我不了解 XenServer,但它们都是一样的。这是一个 Linux 概念,与您的虚拟化主机 (XenServer) 无关。
您需要弄清楚 Linux 安装上的所有空间都被占用了在哪里。您可能已经知道这一点。这里举个例子,我们假设它是 /home。
以 root 身份登录(又名 sudo -i)。
首先使用 mount 命令挂载新的虚拟磁盘。在其根目录下创建一个名为“home”的文件夹。您可以/将使用
rsync
它从 /home/* 将文件复制到新挂载的驱动器上的“home”。这应该会保留权限。将旧的 /home/ 重命名为 /oldhome/,以防出现问题。
使用 fstab 文件将新驱动器挂载为 /home/ 并重新启动。
如果一切正常,以 root 身份执行 rd /s /q /oldhome
我不是 Linux 大神,但我无数次使用这种方法来扩展我在 *nix 操作系统中的空间。如果有人对我如何做到这一点有批评,请帮助我写一篇更好的文章。我很乐意修改它。