首頁 > 軟體

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

2020-06-16 16:57:08

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

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

 

步驟 1:新增新硬碟到虛擬客戶機

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

Vmware Virtual Machine Settings

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

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

VMWare adding a new hardware

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

VMware Adding a new disk wizard

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

Vmware Wizard Disk

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

Vmware Virtual Disk

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

Finalizing Disk Virtual Addition

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

 

步驟 2:重新掃描 SCSI 匯流排,在不重新啟動虛擬機器的情況下新增 SCSI 裝置

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

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

輸出為:

Linux Vmware Rescan New Scsi Disk Without Reboot

你需要將 host# 替換成真實的值,比如 host0。你可以通過下面命令來查出這個值:

# ls /sys/class/scsi_host

輸出:

  1. host0

然後輸入下面過命令來請求重新掃描:

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

輸出為:

  1. Jul1816:29:39 localhost kernel:Vendor:VMware,Model:VMwareVirtual S Rev:1.0
  2. Jul1816:29:39 localhost kernel:Type:Direct-Access ANSI SCSI revision:02
  3. Jul1816:29:39 localhost kernel: target0:0:1:BeginningDomainValidation
  4. Jul1816:29:39 localhost kernel: target0:0:1:DomainValidation skipping write tests
  5. Jul1816:29:39 localhost kernel: target0:0:1:EndingDomainValidation
  6. Jul1816:29:39 localhost kernel: target0:0:1: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 127)
  7. Jul1816:29:39 localhost kernel: SCSI device sdb:2097152512-byte hdwr sectors (1074 MB)
  8. Jul1816:29:39 localhost kernel: sdb:WriteProtectis off
  9. Jul1816:29:39 localhost kernel: sdb: cache data unavailable
  10. Jul1816:29:39 localhost kernel: sdb: assuming drive cache:write through
  11. Jul1816:29:39 localhost kernel: SCSI device sdb:2097152512-byte hdwr sectors (1074 MB)
  12. Jul1816:29:39 localhost kernel: sdb:WriteProtectis off
  13. Jul1816:29:39 localhost kernel: sdb: cache data unavailable
  14. Jul1816:29:39 localhost kernel: sdb: assuming drive cache:write through
  15. Jul1816:29:39 localhost kernel: sdb: unknown partition table
  16. Jul1816:29:39 localhost kernel: sd 0:0:1:0:Attached scsi disk sdb
  17. Jul1816:29:39 localhost kernel: sd 0:0:1:0:Attached scsi generic sg1 type 0
  18. Jul1816:29:39 localhost kernel:Vendor:VMware,Model:VMwareVirtual S Rev:1.0
  19. Jul1816:29:39 localhost kernel:Type:Direct-Access ANSI SCSI revision:02
  20. Jul1816:29:39 localhost kernel: target0:0:2:BeginningDomainValidation
  21. Jul1816:29:39 localhost kernel: target0:0:2:DomainValidation skipping write tests
  22. Jul1816:29:39 localhost kernel: target0:0:2:EndingDomainValidation
  23. Jul1816:29:39 localhost kernel: target0:0:2: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 127)
  24. Jul1816:29:39 localhost kernel: SCSI device sdc:2097152512-byte hdwr sectors (1074 MB)
  25. Jul1816:29:39 localhost kernel: sdc:WriteProtectis off
  26. Jul1816:29:39 localhost kernel: sdc: cache data unavailable
  27. Jul1816:29:39 localhost kernel: sdc: assuming drive cache:write through
  28. Jul1816:29:39 localhost kernel: SCSI device sdc:2097152512-byte hdwr sectors (1074 MB)
  29. Jul1816:29:39 localhost kernel: sdc:WriteProtectis off
  30. Jul1816:29:39 localhost kernel: sdc: cache data unavailable
  31. Jul1816:29:39 localhost kernel: sdc: assuming drive cache:write through
  32. Jul1816:29:39 localhost kernel: sdc: unknown partition table
  33. Jul1816:29:39 localhost kernel: sd 0:0:2:0:Attached scsi disk sdc
  34. Jul1816:29:39 localhost kernel: sd 0:0:2:0:Attached scsi generic sg2 type 0

 

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

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

  1. #echo1>/sys/block/devName/device/delete
  2. #echo1>/sys/block/sdc/device/delete

 

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

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

  1. #echo"scsi add-single-device <H> <B> <T> <L>">/proc/scsi/scsi

這裡,

  • :主機
  • :匯流排(通道)
  • :目標 (Id)
  • :LUN 號

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

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

結果輸出:

  1. Attached devices:
  2. Host: scsi0 Channel:00Id:00Lun:00
  3. Vendor:VMware,Model:VMwareVirtual S Rev:1.0
  4. Type:Direct-Access ANSI SCSI revision:02
  5. Host: scsi0 Channel:00Id:01Lun:00
  6. Vendor:VMware,Model:VMwareVirtual S Rev:1.0
  7. Type:Direct-Access ANSI SCSI revision:02
  8. Host: scsi0 Channel:00Id:02Lun:00
  9. Vendor:VMware,Model:VMwareVirtual S Rev:1.0
  10. Type:Direct-Access ANSI SCSI revision:02

 

步驟 #3:格式化新磁碟

現在使用 fdisk 並通過 mkfs.ext3 命令建立分割區:

  1. #fdisk/dev/sdc
  2. ### [if you want ext3 fs] ###
  3. #mkfs.ext3 /dev/sdc3
  4. ### [if you want ext4 fs] ###
  5. #mkfs.ext4 /dev/sdc3

 

步驟 #4:建立掛載點並更新 /etc/fstab

  1. #mkdir/disk3

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

  1. #vi/etc/fstab

加入下面這行:

  1. /dev/sdc3 /disk3 ext3 defaults 12

若是 ext4 檔案系統則加入:

  1. /dev/sdc3 /disk3 ext4 defaults 12

儲存並關閉檔案。

 

可選操作:為分割區加標籤

你可以使用 e2label 命令為分割區加標籤 。假設,你想要為 /backupDisk 這塊新分割區加標籤,則輸入:

  1. # e2label /dev/sdc1 /backupDisk

詳情參見 "Linux 分割區的重要性

 

關於作者

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


via: https://www.cyberciti.biz/tips/vmware-add-a-new-hard-disk-without-rebooting-guest.html

作者:Vivek Gite 譯者:lujun9972 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

本文永久更新連結地址http://www.linuxidc.com/Linux/2018-01/150286.htm


IT145.com E-mail:sddin#qq.com