在不重啟的情況下為 Vmware Linux 客戶機新增新硬碟

tony0087發表於2021-09-09

作為一名系統管理員,我經常需要用額外的硬碟來擴充儲存空間或將系統資料從使用者資料中分離出來。我將告訴你在將物理塊裝置加到虛擬主機的這個過程中,如何將一個主機上的硬碟加到一臺使用 VMWare 軟體虛擬化的 Linux 客戶機上。

你可以顯式的新增或刪除一個 SCSI 裝置,或者重新掃描整個 SCSI 匯流排而不用重啟 Linux 虛擬機器。本指南在 Vmware Server 和 Vmware Workstation v6.0 中透過測試(更老版本應該也支援)。所有命令在 RHEL、Fedora、CentOS 和 Ubuntu Linux 客戶機 / 主機作業系統下都經過了測試。

首先,透過 vmware 硬體設定選單新增硬碟。點選 “VM > Settings”

圖片描述

或者你也可以按下 CTRL + D 也能進入設定對話方塊。

點選 “Add” 新增新硬碟到客戶機:

圖片描述

選擇硬體型別為“Hard disk”然後點選 “Next”:

圖片描述

選擇 “create a new virtual disk” 然後點選 “Next”:

圖片描述

設定虛擬磁碟型別為 “SCSI” ,然後點選 “Next”:

圖片描述

按需要設定最大磁碟大小,然後點選 “Next”

圖片描述

最後,選擇檔案存放位置然後點選 “Finish”。

輸入下面命令重新掃描 SCSI 匯流排:

echo "- - -" > /sys/class/scsi_host/host# /scanfdisk -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.0Jul 18 16:29:39 localhost kernel: Type: Direct-Access ANSI SCSI revision: 02Jul 18 16:29:39 localhost kernel: target0:0:1: Beginning Domain ValidationJul 18 16:29:39 localhost kernel: target0:0:1: Domain Validation skipping write testsJul 18 16:29:39 localhost kernel: target0:0:1: Ending Domain ValidationJul 18 16:29:39 localhost kernel: target0:0:1: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 127)Jul 18 16:29:39 localhost kernel: SCSI device sdb: 2097152 512-byte hdwr sectors (1074 MB)Jul 18 16:29:39 localhost kernel: sdb: Write Protect is offJul 18 16:29:39 localhost kernel: sdb: cache data unavailableJul 18 16:29:39 localhost kernel: sdb: assuming drive cache: write throughJul 18 16:29:39 localhost kernel: SCSI device sdb: 2097152 512-byte hdwr sectors (1074 MB)Jul 18 16:29:39 localhost kernel: sdb: Write Protect is offJul 18 16:29:39 localhost kernel: sdb: cache data unavailableJul 18 16:29:39 localhost kernel: sdb: assuming drive cache: write throughJul 18 16:29:39 localhost kernel: sdb: unknown partition tableJul 18 16:29:39 localhost kernel: sd 0:0:1:0: Attached scsi disk sdbJul 18 16:29:39 localhost kernel: sd 0:0:1:0: Attached scsi generic sg1 type 0Jul 18 16:29:39 localhost kernel: Vendor: VMware, Model: VMware Virtual S Rev: 1.0Jul 18 16:29:39 localhost kernel: Type: Direct-Access ANSI SCSI revision: 02Jul 18 16:29:39 localhost kernel: target0:0:2: Beginning Domain ValidationJul 18 16:29:39 localhost kernel: target0:0:2: Domain Validation skipping write testsJul 18 16:29:39 localhost kernel: target0:0:2: Ending Domain ValidationJul 18 16:29:39 localhost kernel: target0:0:2: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 127)Jul 18 16:29:39 localhost kernel: SCSI device sdc: 2097152 512-byte hdwr sectors (1074 MB)Jul 18 16:29:39 localhost kernel: sdc: Write Protect is offJul 18 16:29:39 localhost kernel: sdc: cache data unavailableJul 18 16:29:39 localhost kernel: sdc: assuming drive cache: write throughJul 18 16:29:39 localhost kernel: SCSI device sdc: 2097152 512-byte hdwr sectors (1074 MB)Jul 18 16:29:39 localhost kernel: sdc: Write Protect is offJul 18 16:29:39 localhost kernel: sdc: cache data unavailableJul 18 16:29:39 localhost kernel: sdc: assuming drive cache: write throughJul 18 16:29:39 localhost kernel: sdc: unknown partition tableJul 18 16:29:39 localhost kernel: sd 0:0:2:0: Attached scsi disk sdcJul 18 16:29:39 localhost kernel: sd 0:0:2:0: Attached scsi generic sg2 type 0

如何刪除 /dev/sdc 這塊裝置?

除了重新掃描整個匯流排外,你也可以使用下面命令新增或刪除指定磁碟:

# echo 1 > /sys/block/devName/device/delete# echo 1 > /sys/block/sdc/device/delete

如何新增 /dev/sdc 這塊裝置?

使用下面語法新增指定裝置:

# echo "scsi add-single-device    " > /proc/scsi/scsi

這裡,

  • :主機

  • :匯流排(通道) ***   :目標 (Id)

  • :LUN 號**

**

例如。使用引數 host#0bus#0target#2,以及 LUN#0 來新增 /dev/sdc,則輸入:

# echo "scsi add-single-device 0 0 2 0">/proc/scsi/scsi# fdisk -l# cat /proc/scsi/scsi

結果輸出:

Attached devices:Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: VMware, Model: VMware Virtual S Rev: 1.0 Type: Direct-Access ANSI SCSI revision: 02Host: scsi0 Channel: 00 Id: 01 Lun: 00 Vendor: VMware, Model: VMware Virtual S Rev: 1.0 Type: Direct-Access ANSI SCSI revision: 02Host: scsi0 Channel: 00 Id: 02 Lun: 00 Vendor: VMware, Model: VMware Virtual S Rev: 1.0 Type: Direct-Access ANSI SCSI revision: 02

現在使用 命令建立分割槽:

# fdisk /dev/sdc
### [if you want ext3 fs] ###
# mkfs.ext3 /dev/sdc3
### [if you want ext4 fs] ###
# mkfs.ext4 /dev/sdc3

# mkdir /disk3

開啟 /etc/fstab 檔案,輸入:

# vi /etc/fstab

加入下面這行:

/dev/sdc3 /disk3 ext3 defaults 1 2

若是 ext4 檔案系統則加入:

/dev/sdc3 /disk3 ext4 defaults 1 2

儲存並關閉檔案。

。假設,你想要為 /backupDisk 這塊新分割槽加標籤,則輸入:

# e2label /dev/sdc1 /backupDisk

詳情參見 " 。

作者是 nixCraft 的創始人,也是一名經驗豐富的系統管理員,還是 Linux 作業系統 /Unix shell 指令碼培訓師。他曾服務過全球客戶並與多個行業合作過,包括 IT,教育,國防和空間研究,以及非盈利機構。你可以在 ,, 上關注他。


via:

作者: 譯者: 校對:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1747/viewspace-2809063/,如需轉載,請註明出處,否則將追究法律責任。

相關文章