前言
最近工作關係開始玩 CentOS 了,本次實作環境中採用的是 CentOS 7.4 (1709) Kernel 3.10.0-693.el7.x86_64 映像檔,也就是新版 CentOS 7.4 最小化安裝版本 (Minimal Install),那麼開始來玩玩吧。💪實作環境
建立 CentOS 7.4 VM 虛擬主機
首先,在 Windows Server 2016 Hyper-V 虛擬化平台中,建立 CentOS 7.4 的 VM 虛擬主機,下列是這台 VM 虛擬主機的組態配置說明:- VM 虛擬主機名稱: CentOS74
- 虛擬機器世代: 第 2 代
- vCPU: 2 vCPU
- vRAM: 8192 MB (啟用動態記憶體功能)
- vHDD: 127 GB (VHDX,動態擴充)
- vSwitch 名稱: VMs-vSwitch
- 安全開機: 停用
圖、建立 CentOS 7.4 VM 虛擬主機
安裝 CentOS 7.4 (Minimal Install)
至於,安裝程序的部分相信大家應該都很熟悉,以下只提幾項個人喜好的組態設定部分,例如,Mount Point 的切割方式,建議 /var 此掛載點的使用空間不要給太少,以免後續維護時發生問題。原因在於 /var 掛載點除了為預設所有記錄檔存放處以外,更重要的是當後續系統執行更新相關套件時,其暫存的資料便是存放於 /var/cache/yum 內。因此 /var 掛載點空間太小將可能導致套件更新失敗的情況發生。(有關安裝程序的詳細資訊,請參考 RHEL 7 - Installation Guide)- Language: English
- Date & Time: Asia / Taipei
- Keyboard: English (US)
- Installation Source: Local media
- Software Selection: Minimal Install
圖、準備開始安裝 CentOS 7.4
圖、語系、時間、時區、鍵盤…等組態配置
圖、CentOS 7.4 的 Mount Point 資訊
圖、採用 CentOS 7.4 Minimal Install 只要安裝 299 個套件即可
圖、CentOS 7.4 安裝完畢
安裝最新整合服務 (LIS 4.2.3)
每一種虛擬化平台都會需要幫其上運作的 VM 虛擬主機安裝適當的 Tools,以使其上運作的 VM 虛擬主機能夠與虛擬化平台進行最緊密的結合(例如,虛擬裝置最佳化…等),舉例來說 VMware vSphere 虛擬化平台便需要幫 VM 虛擬主機安裝 VMware Tools,而 Citrix XenServer 虛擬化平台便需要幫 VM 虛擬主機安裝 Xen Tools。Microsoft Hyper-V 虛擬化平台則是需要幫其上運作的 VM 虛擬主機安裝整合服務(Integration Services)(目前最新版本為 Linux Integration Services v4.2 for Hyper-V and Azure),安裝整合服務完畢後在驅動程式部份會更新 IDE、SCSI、網路、視訊、滑鼠…等方面進行最佳化,而在服務方面則是整合 作業系統關閉(Shutdown)、時間同步化(Time Synchronization)、資料交換(Key/Value Exchange)、活動訊號(Heartbeat)、線上備份(Volume Shadow copy Service,VSS)…等機制,以期 VM 虛擬主機跟 Microsoft Hyper-V 虛擬化平台不管是在效能運作上,或者是驅動程式最佳化方面都能進行完美的結合。
從 Supported CentOS and Red Hat Enterprise Linux virtual machines on Hyper-V | Microsoft Docs 文章中可以看到,預設情況下 CentOS 7.4 版本其實已經有 Built in 整合服務。但是,登入 CentOS 7.4 後透過「/sbin/modinfo hv_vmbus」指令卻會發現,並沒有看到系統中的 LIS 整合服務版本?
圖、沒有看到目前系統中的 LIS 整合服務版本
請下載最新版本的 Linux Integration Services v4.2 for Hyper-V and Azure 後,掛載給 CentOS 7.4 VM 虛擬主機。接著,執行「mount /dev/cdrom /media」指令便可以掛載 LIS 4.2 ISO 映像檔至 CentOS 7.4 的光碟機,然後再依序執行「cd /media/CentOS74 ; ./install.sh」即可安裝最新版本 LIS 4.2.3,安裝完畢後請重新啟動。
待 CentOS 7.4 VM 虛擬主機重新啟動完成後,採用同樣的「/sbin/modinfo hv_vmbus」指令再次確認,可以發現 LIS 整合服務版本已經更新為最新的「4.2.3」。
圖、最新版本 LIS 4.2.3 整合服務套用生效
但是,當你使用「systemctl list-units --type service |grep running」指令,查詢系統服務啟動清單時,將會發現只有 2 個 hv 開頭的整合服務。如下圖所示,只會看到「hv_kvp_daemon 及 hv_vss_daemon」整合服務,但卻沒看到「hv_fcopy_daemon」整合服務?
圖、只看到 2 個整合服務啟動
此時,請執行「systemctl list-units --type service |grep failed」指令,可以看到 Hyper-V FCOPY daemon 服務的運作狀態為 failed,並且使用「systemctl status hv_fcopy_daemon」指令查詢 Hyper-V FCOPY daemon 服務狀態時,可以看到顯示無法啟動 Hyper-V FCOPY 的錯誤訊息。
圖、Hyper-V FCOPY daemon 服務啟動失敗
其實,在查詢 Hyper-V FCOPY daemon 服務運作狀態訊息中,可以看到一行關鍵字「The Hyper-V Guest Services may not be enabled for this VM」,說明 Hyper-V FCOPY daemon 整合服務啟動失敗的原因,是因為此台 VM 虛擬主機未啟用 Guest Services 所造成的。因此,請將 VM 虛擬主機關機後,將 LIS 整合服務光碟卸載並「啟用 Guest Services」後,再次開機確認。
圖、為 CentOS 虛擬主機啟用 Guest Services
當 CentOS 虛擬主機重新啟動後,再次使用「systemctl list-units --type service |grep running」指令,查詢系統服務啟動清單時將會發現 3 個 hv 開頭的整合服務皆已順利啟動,並且再次使用「systemctl status hv_fcopy_daemon」指令查詢 Hyper-V FCOPY daemon 服務狀態時,可以看到皆為順利啟用及正常運作的狀態。
圖、Hyper-V FCOPY daemon 整合服務順利啟動
建立一般使用者帳號
在安裝 CentOS 作業系統過程中會要求您順便設定 root 管理者帳號,作業系統安裝完成後請使用 root 管理者帳號登入系統。Linux 系統管理者應該具備如同管理 Microsoft Windows 主機時同樣的作業系統安全性觀念,也就是要先建立一般使用者帳號來登入系統進行操作,待需要執行的動作需要提升至管理者權限時,才著手轉換將權限提升。因此,同樣的安全觀念當您首次登入 CentOS 作業系統後,建議您先為管理者建立一般使用者帳號後,再將該使用者帳號加入管理者群組當中。下列操作動作為先建立使用者家目錄資料夾,因為筆者習慣將使用者家目錄都集中於一個目錄內以便後續方便管理(預設使用者家目錄為存放至 /home 下)之後透過指令 adduser 建立一般使用者帳號 weithenn(-d 參數為指定該使用者家目錄位置),接著使用指令 passwd 設定使用者密碼,最後則是設定將該使用者加入管理者群組 wheel 當中。
# mkdir /home/user
# adduser -d /home/user/weithenn weithenn
# passwd weithenn
Changing password for user weithenn.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
# vi /etc/group
wheel:x:10:weithenn
參考資源
- CentOS 7 (1708) Release Notes
- Release Notes for Red Hat Enterprise Linux 7.4
- Installing Red Hat Enterprise Linux 7.4 on all architectures
- Linux Integration Services v4.2 for Hyper-V and Azure
- Feature Descriptions for Linux and FreeBSD virtual machines on Hyper-V | Microsoft Docs
- Manage Hyper-V Integration Services | Microsoft Docs
CentOS 7.4 基礎設定系列文章:
- (本文) CentOS 7.4 基礎設定 (1) - 安裝整合服務並建立一般使用者帳號
- CentOS 7.4 基礎設定 (2) - 組態設定網路功能
- CentOS 7.4 基礎設定 (3) - 簡述 SELinux 安全性增強機制
- CentOS 7.4 基礎設定 (4) - 組態設定 VIM 及 Bash Shell 操作環境
- CentOS 7.4 基礎設定 (5) - 設定 sudo 管理員帳號管理機制
- CentOS 7.4 基礎設定 (6) - 禁止 Root 帳號本機及 SSH 遠端登入
- CentOS 7.4 基礎設定 (7) - 簡述 YUM 套件管理工具
- CentOS 7.4 基礎設定 (8) - 擴充 YUM 套件數量
- CentOS 7.4 基礎設定 (9) - 簡述 Systemd 啟動模式等級
- CentOS 7.4 基礎設定 (10) - 調整 Firewalld 防火牆規則
- CentOS 7.4 基礎設定 (11) - 定期寄送 CentOS 主機系統資訊 Log
- CentOS 7.4 基礎設定 (12) - 關閉不必要的系統服務
- CentOS 7.4 基礎設定 (13) - 採用 I/O Scheduler Noop 加速 Disk I/O
- CentOS 7.4 基礎設定 (14) - 完成 CentOS Base VM 的製作
- CentOS 7.4 基礎設定 (15) - 範本 CentOS 重新產生 Product_UUID