作为一名系统管理员,我经常需要用额外的硬盘来扩充存储空间或将系统数据从用户数据中分离出来。我将告诉你在将物理块设备加到虚拟主机的这个过程中,如何将一个主机上的硬盘加到一台使用 VMWare 软件虚拟化的 Linux 客户机上。

你可以显式的添加或删除一个 SCSI 设备,或者重新扫描整个 SCSI 总线而不用重启 Linux 虚拟机。本指南在 Vmware Server 和 Vmware Workstation v6.0 中通过测试(更老版本应该也支持)。所有命令在 RHEL、Fedora、CentOS 和 Ubuntu Linux 客户机 / 主机操作系统下都经过了测试。

步骤 1:添加新硬盘到虚拟客户机

首先,通过 vmware 硬件设置菜单添加硬盘。点击 “VM > Settings”

或者你也可以按下 CTRL + D 也能进入设置对话框。

点击 “Add” 添加新硬盘到客户机:

选择硬件类型为“Hard disk”然后点击 “Next”:

选择 “create a new virtual disk” 然后点击 “Next”:

设置虚拟磁盘类型为 “SCSI” ,然后点击 “Next”:

按需要设置最大磁盘大小,然后点击 “Next”

最后,选择文件存放位置然后点击 “Finish”。

步骤 2:重新扫描 SCSI 总线,在不重启虚拟机的情况下添加 SCSI 设备

输入下面命令重新扫描 SCSI 总线:

echo "- - -" > /sys/class/scsi_host/host# /scan
fdisk -l
tail -f /var/log/message

输出为:

你需要将 host# 替换成真实的值,比如 host0。你可以通过下面命令来查出这个值:

# ls /sys/class/scsi_host

输出:

host0

然后输入下面过命令来请求重新扫描:

echo "- - -" > /sys/class/scsi_host/host0/scan
fdisk -l
tail -f /var/log/message

输出为:

Jul 18 16:29:39 localhost kernel: Vendor: VMware, Model: VMware Virtual S Rev: 1.0
Jul 18 16:29:39 localhost kernel: Type: Direct-Access ANSI SCSI revision: 02
Jul 18 16:29:39 localhost kernel: target