首先,我对 Linux 还很陌生,所以如果我在下面错误地使用了“磁盘”、“分区”和“设备”这些术语,请原谅我!
我有一台 Red Hat 5.2 x86_64 服务器,内核版本为 2.6.18-92.el5。我在服务器上安装了几个基于 SAN 的虚拟磁盘,显示为 /dev/sdX并且,当我创建分区 /dev/sd*x*1 时。SAN 是 hp EVA-8100。
有时候我需要扩展磁盘。我可以通过 hp Command View EVA 软件增加 Vdisk 的大小,但目前让服务器识别额外空间的唯一方法是重新启动服务器。
由于各种原因,我目前不使用 LVM。是否有命令或方法可以让服务器识别额外的空间而无需重新启动服务器?
非常感谢,
/尼尔
答案1
这是我在具有 dm-multipath 和 LVM 的系统上使用的;根据需要进行修改:
1) 增加 SAN 中的 LUN 大小 2)使用“multipath -ll”检查哪些设备属于所述 LUN 3)对于上述每个设备,执行“echo 1 > /sys/block/sdX/device/rescan” 4)使用“multipathd -k”进入多路径命令行 5)对于每个设备,执行“del path sdX”,“add path sdX”,同时希望 多路径功能按照宣传的那样工作,并且可以正常进行故障转移。 6)“调整多路径映射名称的大小” 7)退出多路径命令行(Ctrl-D),使用“multipath -ll”检查 看到了新的尺寸。 8)pvresize、lvextend、resize2fs 9)利润!
从 RHEL 5.3 开始此功能有效。
答案2
/* 这可能会导致数据丢失 */
以下是不使用 LVM 的方法
1)调整 SAN 上的 LUN 大小
2)卸载分区
3)fsck 该分区以将数据重新排序到开头
4)最可怕的部分来了,启动 fdisk 并删除分区,记下它的起始块
5)使用相同的起始块但使用新的结束块重新创建分区
6)运行 resize2fs(假设你正在运行 ext2/3)
7)重新挂载调整大小的分区
8)利润