在虚拟机Vmware中我们有时候需要添加新的虚拟磁盘或给已有虚拟磁盘扩容(expand),在新增磁盘或磁盘扩容后,Linux系统并不能马上识别到。也就是说你看不到磁盘空间变化(使用fdisk -l查看),这时我们可以通过重启系统(reboot)解决这个问题,但是很多时候,我们并不想在存储扩容时重启系统,因为这样会影响到现有的业务系统。那么为什么新增磁盘或磁盘扩容后,Linux系统识别不到呢?这个是因为连接存储设备的SCSI总线需要重新扫描,才能识别到这些新的存储设备。下面测试一下在添加新的虚拟磁盘或给已有虚拟磁盘扩容如何操作才能不用重启系统

1:Vmware虚拟磁盘扩容

如下所示,Vmware虚拟磁盘扩容后,使用fdisk -l看不到任何变化

[root@localhost ~]# fdisk -l

 

Disk /dev/sda: 171.7 GB, 171798691840 bytes

255 heads, 63 sectors/track, 20886 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          13      104391   83  Linux

/dev/sda2              14       15665   125724690   8e  Linux LVM

/dev/sda3           15666       15795     1044225   83  Linux

/dev/sda4           15796       20886    40893457+  83  Linux

 

Disk /dev/dm-0: 126.6 GB, 126600871936 bytes

255 heads, 63 sectors/track, 15391 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Disk /dev/dm-0 doesn't contain a valid partition table

 

Disk /dev/dm-1: 2113 MB, 2113929216 bytes

255 heads, 63 sectors/track, 257 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Disk /dev/dm-1 doesn't contain a valid partition table

方法1:echo 1 > /sys/class/scsi_device/device/rescan

[root@localhost ~]# cd /sys/class/scsi_disk/

[root@localhost scsi_disk]# ls

0:0:0:0

[root@localhost scsi_disk]# cd 0\:0\:0\:0/

[root@localhost 0:0:0:0]# echo '1' > device/rescan 

[root@localhost 0:0:0:0]# fdisk -l

 

Disk /dev/sda: 173.9 GB, 173946175488 bytes

255 heads, 63 sectors/track, 21147 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          13      104391   83  Linux

/dev/sda2              14       15665   125724690   8e  Linux LVM

/dev/sda3           15666       15795     1044225   83  Linux

/dev/sda4           15796       20886    40893457+  83  Linux

 

Disk /dev/dm-0: 126.6 GB, 126600871936 bytes

255 heads, 63 sectors/track, 15391 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Disk /dev/dm-0 doesn't contain a valid partition table

 

Disk /dev/dm-1: 2113 MB, 2113929216 bytes

255 heads, 63 sectors/track, 257 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Disk /dev/dm-1 doesn't contain a valid partition table

方法2:重新扫描特定的 SCSI Device

echo 1 > /sys/block/$DEVICE/device/rescan 用sda, sdb, sdc等替换$DEVICE

[root@localhost ~]# echo 1 > /sys/block/sda/device/rescan

2:Vmware新增虚拟磁盘

首先找到您的主机总线编号

[root@localhost ~]# grep mpt /sys/class/scsi_host/host?/proc_name

 

/sys/class/scsi_host/host0/proc_name:mptspi

使用下面命令扫描SCSI总线

[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host0/scan

参考资料:

http://thornelabs.net/2012/08/22/linux-rescan-scsi-bus.html

Vmware扩展磁盘如何不需重启系统的更多相关文章

  1. VMware 扩展磁盘容量

    背景:创建虚拟机后,发现原先定的磁盘容量不够了,这时候可以通过vmware扩展磁盘容量 步骤一 先关闭虚拟机,右键虚拟机设置:(我没关虚拟机,所以灰显了) 步骤二: 启动VMware环境下的Linux ...

  2. 如何在CentOS 7中添加新磁盘而不用重启系统

    导读 对大多数系统管理员来说扩充 Linux 服务器的磁盘空间是日常的工作之一.因此这篇文章会通过使用 Linux 命令,在 CentOS 7 系统上演示一些简单的操作步骤来扩充您的磁盘空间而不需要重 ...

  3. 虚拟机vmware centos7 扩展磁盘空间

    0.思路 创建一个新的逻辑分区,将新的逻辑分区格式化ext3(或其他类型)的文件系统,mount到磁盘空间不够的文件系统,就跟原来的分区/文件系统一样的使用 1.准备 1.1 注意使用VMware自带 ...

  4. VmWare为Fedora虚拟机扩展磁盘

    1.根据步骤为虚拟机扩展磁盘空间. 查看步骤 2.进入Fedora系统 以下步骤为修改扇区,将扩展磁盘划分为分区 运行fdisk -l,命令执行结果的第一行显示了磁盘名称,同时可以看到当前磁盘分区情况 ...

  5. virtualBox下Centos系统扩展磁盘空间

    (1)查看空间容量: 打开windows命令终端.然后打开virtualbox安装目录,找到VBoxManage.exe,拖动到终端里面.输入命令:list hdds,回车. 我安装的位置是 : C: ...

  6. Centos7扩展磁盘空间(LVM管理)

    vmware或hyperv,扩容磁盘,本例中使用的是vmware,关闭系统,在vmware—>设置—>硬盘—>扩展—>输入数字大于当前系统内存—>点击扩展,如图: 1.  ...

  7. Linux虚拟机扩展磁盘

    Linux虚拟机扩展磁盘 1.虚拟机关机,Vmware中扩展磁盘 2.虚拟机开机,查看磁盘大小 [root@hadoop6 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmp ...

  8. Centos7在虚拟机中扩展磁盘空间

    说明 情况:已经在VirtualBox虚拟机创建了一个磁盘并已经装好了系统,发现磁盘空间太小,需要再添加一个磁盘的大小.或者说Centos7系统需要扩展磁盘空间. 步骤 1.VirtualBox新建磁 ...

  9. kvm linux虚拟机在线扩展磁盘

    说明: 1) vmware ESXi虚拟化平台也支持这台在线扩展磁盘功能. 2) kvm虚拟机也支持在线扩展磁盘功能,在线扩展有特定的使用环境,主要用于不能随便停用的生产环境中. 3) 经过测试KVM ...

随机推荐

  1. .NET 中Barcode Library的应用二

    .NET中Barcode Library的应用二 介绍 在上一篇中我已经简单介绍了这个函数库(条形码应用之一------------函数库的简介).在这一篇中我将使用这个库提供更多的操作,希望对大家有 ...

  2. JS代码实现的聊天框

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. Sql Server之数据类型详解

      数据类型是一种属性,用于指定对象可保存的数据的类型,SQL Server中支持多种数据类型,包括字符类型.数值类型以及日期类型等.数据类型相当于一个容器,容器的大小决定了装的东西的多少,将数据分为 ...

  4. 《Head First 设计模式》之装饰者模式

    作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/5922248.html 模式名称 装饰者模式(Decorator Pattern) 需求 定义咖啡厅中的 ...

  5. 《Head First 设计模式》之观察者模式

    作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/5918205.html 模式名称 观察者模式(Observer Pattern) 需求 我们要通过Wea ...

  6. 用浏览器(支持WebSocket)和node-inspector 调试后端(CoffeeScript,Typescript)代码

    调试效果 配置 npm安装node-inspector: $ npm install -g node-inspector 配置gulp,gulp可以用 gulp-node-inspector 或 用g ...

  7. 在C#中,Json的序列化和反序列化的几种方式总结

    在这篇文章中,我们将会学到如何使用C#,来序列化对象成为Json格式的数据,以及如何反序列化Json数据到对象. 什么是JSON? JSON (JavaScript Object Notation) ...

  8. ASP.NET MVC HtmlHelper之Html.ActionLink

    前言 ActionLink用于生成超链接,方法用于指向Controller的Action. 扩展方法与参数说明 ActionLink扩展方法如下: public static MvcHtmlStrin ...

  9. [转]Teach Yourself Programming in Ten Years——用十年教会自己编程

    作者:Peter Norvig 译者:刘海粟 本文原文为:http://norvig.com/21-days.html 该翻译文档的PDF版可以在这里获得:http://download.csdn.n ...

  10. 第一篇:Entity Framework 简介

    先从ORM说起吧,很多年前,由于.NET的开源组件不像现在这样发达,更别说一个开源的ORM框架,出于项目需要,以及当时OOP兴起(总不至于,在项目里面全是SQL语句),就自己开始写ORM框架.要开发O ...