iscsid守护进程位置不变的升级
下列情况使用该方案升级:
升级前的版本values.yaml中没有参数iscsidOnHost(1.5.1之前版本不能设置该参数),升级后版本values.yaml中没有iscsidOnHost或者values.yaml中参数iscsidOnHost设置为false。
升级前的版本values.yaml中iscsidOnHost为false,升级后版本values.yaml中的参数iscsidOnHosts设置为false。
升级前升级后values.yaml中的参数iscsidOnHost都为true。
升级步骤
更新驱动镜像:请根据逐台导入镜像的方式或docker私仓导入镜像的方式章节的步骤,导入最新安装包的驱动。
在升级版本的charts/csi-driver-stor下修改values.yaml,使其HBlock相关配置与升级前版本的相同。
在升级版本的charts/csi-driver-stor下执行下列命令升级:
helm upgrade stor ./
iscsid守护进程移动到宿主机的升级
升级前的版本values.yaml中没有参数iscsidOnHost(1.5.1之前版本不能设置该参数),升级后values.yaml中参数iscsidOnHost设置为true。
升级前的版本values.yaml中参数iscsidOnHost设置为false,升级后values.yaml中参数iscsidOnHost设置为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中的与下列字段相同的参数。
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相关配置与升级前版本的相同。
iscsidOnHost设置为true。
在升级版本的charts/csi-driver-stor下执行下列命令升级:
helm upgrade stor ./
升级后检查:
进入各CSI POD, 执行ps -ef , 确认容器内没有进程:multipathd -f , iscsid -f。
可以在宿主机启动样例POD,进行基础流程测试,确认功能正常。
重启Kubernetes所有的slave宿主机节点,确认各存量POD能正确启动。(如果不验证重启恢复的场景,可跳过这步。)