但是,有件事一直耿耿於懷,就是 自動偵測 RAID 狀況的服務。使用 RAID 系統,就是為了保護儲存在硬碟的資料,當然最好是開機後會自動執行「RAID 管理服務」。
前文安裝「RocketRAID 命令列管理程式」後,每次要開啟 hptraidconf 這個工具程式以管理「RocketRAID 硬碟陣列」時,都會出現『hptsvr 未載入』的錯誤。之前在 Fedora 18 時似乎也有這個問題,要再『手動』載入 hptsvr 這個背景服務。
要設定 hptsvr 服務為『開機自動啟動』服務又都不能成功,也不能記錄「RocketRAID 硬碟陣列」的使用狀況。萬一有問題,連個紀錄也查不到。
在 Fedora 18 時,剛好在『服務』程式的管理,由 chkconfig 過渡到 systemctl 的期間。不幸地,hptsvr 已不能用 chkconfig 設定為「開機自動啟動」,而 systemctl 因為 HighPoint 沒有提供適當的腳本,也不能用以設定。在這段時間,每次開機時 hptsvr 並不會自動載入,當想到已經很久沒有執行『驗證 RAID 硬碟陣列』時,才載入 hptsvr ,接著執行 hptraidcon 這個管理程式。
終於,在『天時、地利、人和』的情形下,把這個問題給解決了。緊接著,就將步驟整理如下:
一、編輯 hptsvr 的腳本檔
以前的 Fedora 系統是用 chkconfig 要啟動服務,現在的系統則是用 systemctl 來管理服務。所以,要先編輯一個供 systemctl 辨認 hptsvr 的腳本。先切換為 root 身分,並在目錄 /usr/lib/systemd/system/ 下開啟一個新檔案(將之命名為 hptsvr.service)。以「MATE 桌面」環境為例,在「終端機」中先切換為 root 身分,再以「文字編輯器」pluma 編輯新檔,命令為
[root@Core-i7 ~]# pluma /usr/lib/systemd/system/hptsvr.service管理 hptsvr 的腳本內容如下:
[Unit]編寫完成後,將檔案儲存再進行下一步驟。
Description=HighPoint RocketRAID Management Service
After=smartd.service
[Service]
User=root
Type=forking
ExecStart=/usr/bin/hptsvr
[Install]
WantedBy=multi-user.target
二、設定 hptsvr 服務
在開始進行這個步驟前,要先確定「RocketRAID 命令列管理程式」已經安裝妥當。腳本寫好後,可以開始用 systemctl 管理 hptsvr 服務。1. 重新讀取「服務」的腳本
讓 systemctl 辨認 hptsvr 的腳本編寫好後,systemctl 並未立即知道,要重新讀取一次所有「服務」的腳本。在這之後,systemctl 就可以正常「管理」hptsvr 服務了。[root@Core-i7 ~]# systemctl daemon-reload在這之後,systemctl 就可以正常「管理」hptsvr 服務了。
2. 查看 hptsvr 服務的狀態
在設定前,先查看一下 hptsvr 服務的狀態,方便前後比較[root@Core-i7 ~]# systemctl status hptsvr.service
● hptsvr.service - HighPoint RocketRAID Management Service
Loaded: loaded (/usr/lib/systemd/system/hptsvr.service; disabled; vendor preset: disabled) Active: inactive (dead)
3. 設定為「開機自動啟動」hptsvr 服務
命令為:[root@Core-i7 ~]# systemctl enable hptsvr.service
Created symlink from /etc/systemd/system/multi-user.target.wants/hptsvr.service to /usr/lib/systemd/system/hptsvr.service.
4. 開啟 hptsvr 服務
立即開啟 hptsvr 服務,[root@Core-i7 ~]# systemctl start hptsvr.service這時,可以執行 hptraidconf 管理工具程式了。
5. 再查看 hptsvr 服務的狀態
再查看一次 hptsvr 服務的狀態,與設定前的狀態比較差異。[root@Core-i7 ~]# systemctl status hptsvr.service由回應訊息可以看到:已設定為「開機自動啟動」,目前「啟動中」及最後的啟動時間。
● hptsvr.service - HighPoint RocketRAID Management Service
Loaded: loaded (/usr/lib/systemd/system/hptsvr.service; enabled; vendor preset: disabled) Active: active (running) since 三 2015-10-14 20:30:52 CST; 5s ago Process: 5023 ExecStart=/usr/bin/hptsvr (code=exited, status=0/SUCCESS) Main PID: 5028 (hptsvr) CGroup: /system.slice/hptsvr.service └─5028 /usr/bin/hptsvr
10月 14 20:30:52 Phenom systemd[1]: Starting HighPoint RocketRAID Management Service...
10月 14 20:30:52 Phenom systemd[1]: Started HighPoint RocketRAID Management Service.
已測試版本:
- Fedora: 20, 22, 23
- HighPoint RocketRAID 1740, 2220, 2320
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)