iscsid守護進程位置不變的升級
下列情況使用該方案升級:
升級前的版本values.yaml中沒有參數iscsiOnHost(1.5.1之前版本不能設置該參數),升級后版本values.yaml中沒有iscsiOnHost或者values.yaml中參數iscsiOnHost設置為false。
升級前的版本values.yaml中iscsiOnHost為false,升級后版本values.yaml中的參數iscsiOnHost設置為false。
升級前升級后values.yaml中的參數iscsiOnHost都為true。
升級步驟
更新驅動鏡像:請根據逐臺導入鏡像的方式或docker私倉導入鏡像的方式章節的步驟,導入最新安裝包的驅動。
在升級版本的charts/csi-driver-stor下修改values.yaml,使其HBlock相關配置與升級前版本的相同。
在升級版本的charts/csi-driver-stor下執行下列命令升級:
helm upgrade stor ./
iscsid守護進程移動到宿主機的升級
升級前的版本values.yaml中沒有參數iscsiOnHost(1.5.1之前版本不能設置該參數),升級后values.yaml中參數iscsiOnHost設置為true。
升級前的版本values.yaml中參數iscsiOnHost設置為false,升級后values.yaml中參數iscsiOnHost設置為true。
升級步驟
暫停CSI相關業務,以及存量計算節點POD所有業務,留出升級時間。執行下列命令后,禁止用戶執行創建PV、刪除PV、POD掛載存儲、卸載POD等CSI相關的業務。
在Kubernetes所有的slave節點宿主機安裝iSCSI工具,并配置/etc/iscsi/iscsid.conf。
安裝iSCSI工具。
如果操作系統是CentOS/RHEL,請安裝iscsi-initiator-utils,安裝命令如下:
yum -y install iscsi-initiator-utils如果操作系統是Ubuntu/Debian,安裝命令如下:
apt install open-iscsi
修改/etc/iscsi/iscsid.conf配置文件。
#如需啟用iscsi target遷移自動恢復, 那么得將iscsid.safe_logout設置為No iscsid.safe_logout = No在各宿主機啟動iSCSI進程。
systemctl enable iscsid systemctl restart iscsid # 確認iSCSI進程狀態正常 systemctl status iscsid
在Kubernetes所有的slave節點宿主機配置MPIO。
安裝 MPIO。
說明
如果已安裝MPIO,忽略此步驟。
對于CentOS:
yum -y install device-mapper-multipath device-mapper-multipath-libs對于Ubuntu:
apt install multipath-tools
配置 MPIO。
復制 /usr/share/doc/device-mapper-multipath-X.Y.Z/multipath.conf(其中X.Y.Z為multipath的實際版本號,請根據實際情況查找multipath.conf)到/etc/multipath.conf。
在/etc/multipath.conf中增加如下配置:
注意
配置文件multipath.conf中,如果multipath部分與devices部分中有相同參數,multipath中的參數值會覆蓋devices中的參數值。為了正常使用HBlock卷,需要刪除multipath中的與下列字段相同的參數。
如果升級前修改過stor-multipath-conf(可通過kubectl describe cm stor-multipath-conf查看文件內容),且與下列文件不一致,請務必聯系天翼云客服后再做操作,否則可能會引起升級失敗或者異常。
defaults { user_friendly_names yes find_multipaths yes uid_attribute "ID_WWN" } devices { device { vendor "CTYUN" product "iSCSI LUN Device" path_grouping_policy failover path_checker tur path_selector "round-robin 0" hardware_handler "1 alua" rr_weight priorities no_path_retry queue prio alua } }
重啟multipathd服務。
對于CentOS:
systemctl restart multipathd systemctl enable multipathd對于Ubuntu:
systemctl restart multipath-tools.service
更新驅動鏡像:請根據逐臺導入鏡像的方式或docker私倉導入鏡像的方式章節的步驟,導入最新安裝包的驅動。
在升級版本的charts/csi-driver-stor下修改values.yaml:
使其HBlock相關配置與升級前版本的相同。
iscsiOnHost設置為true。
在升級版本的charts/csi-driver-stor下執行下列命令升級:
helm upgrade stor ./升級后檢查:
進入各CSI POD, 執行ps -ef ,確認容器內沒有進程:multipathd -f 、iscsid -f。
可以在宿主機啟動樣例POD,進行基礎流程測試,確認功能正常。
重啟Kubernetes所有的slave宿主機節點,確認各存量POD能正確啟動。(如果不驗證重啟恢復的場景,可跳過這步。)