拆卸NVMe硬盘
- VMD功能开启且已安装最新的VMD驱动时,NVMe硬盘支持暴力热插拔。
- VMD功能关闭时,NVMe硬盘仅支持通知式热插拔。
- 开启或关闭VMD功能,详细信息请参见管理VMD功能。
- 安装VMD驱动,详细信息请参见《华为服务器 RAID控制卡 用户指南(x86)》。
- 拆卸硬盘前,如需删除存储在硬盘中的数据,可使用Smart Provisioning进行数据删除,详细操作请参见《Smart Provisioning 用户指南》中的“硬盘擦除”章节。
拆卸前置NVMe硬盘
操作步骤(VMD功能开启)
- VMD支持的操作系统请参见计算产品兼容性查询助手。
- VMD功能的版本软件要求如下:
- BIOS:090及以上版本
- BMC:312及以上版本
- 硬盘背板CPLD:最新版本
- 拆卸NVMe硬盘前:
- 停止访问待拆卸的NVMe硬盘。
- 以防数据丢失,必须备份数据。
- 请按顺序拆卸NVMe硬盘,完全拆卸完1个NVMe硬盘后再拆卸其他硬盘。
- 如果操作系统是RHEL 7.3,VMD功能开启后,暴力热插拔NVMe硬盘时需要配合使用操作系统的原生内核3.10.0-514.el7.x86_64,使用升级后的内核会导致概率性系统重启。
- 判断是否配置安全面板。
- 拆卸安全面板。
详细信息请参见拆卸安全面板。
- 确定硬盘的位置和槽位。
- 通过硬盘指示灯确认硬盘的运行状态。
详细信息请参见SAS/SATA硬盘指示灯。
- 判断是否执行拆卸操作。
- 是:执行步骤6。
- 否:处理硬盘故障。
- 拆卸硬盘。
- 将拆卸的部件放进防静电包装袋。
- 安装硬盘假模块。
仅在不立即安装硬盘时,需要执行此操作。
操作步骤(VMD功能关闭)
- 拆卸NVMe硬盘前:
- 停止访问待拆卸的NVMe硬盘。
- 以防数据丢失,必须备份数据。
- 请按顺序拆卸NVMe硬盘,完全拆卸完1个NVMe硬盘后再拆卸其他硬盘。
- 使用命令卸载硬盘驱动。
Windows操作系统
- 判断是否配置安全面板。
- 拆卸安全面板。
详细信息请参见拆卸安全面板。
- 确定硬盘的位置和槽位。
- 通过硬盘指示灯确认硬盘的运行状态。
详细信息请参见NVMe硬盘指示灯。
- 判断是否执行拆卸操作。
- 是:执行步骤6。
- 否:处理硬盘故障。
- 安装Windows操作系统的工具包。
详细信息请参见《ES3000 V5 NVMe PCIe SSD 用户指南》中“安装与配置 > 安装工具包 > 安装工具包(Windows系统)”章节。
- 双击工具包安装路径下的HioadmGUI_DotNet_x.0.exe,进入Windows GUI工具界面。
- 如果.NET版本为2.0或3.5,双击安装路径下的HioadmGUI_DotNet_2.0.exe,进入Windows GUI工具。
- 如果.NET版本为4.0或4.5,双击安装路径下的HioadmGUI_DotNet_4.0.exe,进入Windows GUI工具。
图6-33 BaseInfo界面1 - 选择需要拆卸的NVMe硬盘。
- 单击“eject”。
正常卸载完成后会弹出“Eject Succeed”对话框。
图6-34 BaseInfo界面2如果弹出失败的提示,表示操作系统正在访问NVMe硬盘,需要停止访问后再次单击“eject”,直到弹出“Eject Succeed”的提示。
- 单击“OK”。
- 观察NVMe硬盘指示灯状态,绿色指示灯熄灭,黄色指示灯闪烁(0.5Hz)时,可缓慢拔出NVMe硬盘。
硬盘指示灯状态详细信息请参见NVMe硬盘指示灯。
手动拔出NVMe硬盘详细信息请参见拆卸NVMe硬盘。
- 将拆卸的部件放进防静电包装袋。
- 安装硬盘假模块。
仅在不立即安装硬盘时,需要执行此操作。
Linux操作系统
- 支持的Linux操作系统版本请参见计算产品兼容性查询助手。
- VMD功能关闭时,如果操作系统是RHEL 7.3,需要将内核升级至kernel-3.10.0-514.26.2.e17.x86_64版本及以上,否则NVMe硬盘不支持通知式热插拔。
- 以下操作以RHEL 7.3系统为例。
- 判断是否配置安全面板。
- 拆卸安全面板。
详细信息请参见拆卸安全面板。
- 确定硬盘的位置和槽位。
- 通过硬盘指示灯确认硬盘的运行状态。
详细信息请参见NVMe硬盘指示灯。
- 判断是否执行拆卸操作。
- 是:执行步骤6。
- 否:处理硬盘故障。
- 如果操作系统是RHEL 7.3,需要升级内核至kernel-3.10.0-514.26.2.e17.x86_64版本及以上。
- 使用“root”用户登录需要升级内核的服务器。
- 执行以下命令,查看当前内核版本。
uname -a
- 下载内核升级包至本地PC。
使用customer portal账号登录红帽官网下载内核升级包(以kernel-3.10.0-514.26.2.el7.x86_64.rpm为例)。
链接:https://access.redhat.com/downloads/content/rhel---7/x86_64/2456/kernel/3.10.0-514.26.2.el7/x86_64/fd431d51/package
- 通过KVM挂载下载的升级包所在的文件夹。图6-35 挂载文件夹
- 执行以下命令将服务器上的升级包挂载至OS中,本步骤以“/home”文件夹为例。
mount /dev/sr0 /home
- 执行以下命令在“/home”文件夹下查看升级包。
cd /home
ls kernel*
- 执行以下命令,升级系统内核。
rpm -ivh kernel*.x86_64.rpm
- 执行以下命令重启服务器,选择进入新的内核。
reboot
- 执行以下命令,确认内核升级成功。
uname -r
系统显示如下信息:
kernel-3.10.0-514.26.2.el7.x86_64
- 配置内核参数。
- 登录操作系统,打开“ /etc/default/grub”文件。
- 按“Insert”。
- 找到“GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet”,并在后面输入pciehp.pciehp_force=1 pci=pcie_bus_perf。
增加的内容需要与上文之间有空格,但不能换行。
图6-36 配置内核参数 - 按“Esc”。
- 输入“:wq”。
保存退出。
- 执行以下命令使修改生效。
- Legacy模式:执行grub2-mkconfig -o /boot/grub2/grub.cfg。
- UEFI模式:执行grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg。
- 修改完成后,重启服务器。
- 如果操作系统是RHEL 7.3或RHEL 7.4,需先修改a8寄存器值,否则NVMe硬盘不支持通知式热插拔。
24x2.5英寸NVMe硬盘配置不需要修改a8寄存器值,可直接跳过此步骤。
- 执行以下命令记录原始a8寄存器值(a0行第9列PCI数据),如图6-37所示。
lspci -s <B/D/F> -xxx
<B/D/F>:NVMe硬盘的ROOT PORT(B/D/F),B/D/F值请参考表6-3。
表6-3 B/D/F对应关系配置
硬盘编号
ROOT PORT(B/D/F)
Device(B/D/F)
8x2.5英寸硬盘配置
44
d7:00.0
d8:00.0
45
d7:01.0
d9:00.0
46
d7:02.0
da:00.0
47
d7:03.0
db:00.0
20x2.5 英寸硬盘配置(8xSAS/SATA+12xNVMe)a
8
3A:00.0
3B:00.0
9
3A:01.0
3C:00.0
10
3A:02.0
3D:00.0
11
3A:03.0
3E:00.0
12
5D:00.0
5E:00.0
13
5D:01.0
5F:00.0
14
85:00.0
86:00.0
15
85:01.0
87:00.0
16
85:02.0
88:00.0
17
85:03.0
89:00.0
18
AE:02.0
AF:00.0
19
AE:03.0
B0:00.0
- a:当没有选配灵活IO卡时,Disk18和Disk19的Device(B/D/F)分别为AF:00.0和B0:00.0;当选配了灵活IO卡时,Disk18和Disk19的Device(B/D/F)分别为B1:00.0和B2:00.0。
- Device(B/D/F)的值与VMD功能是否开启有关。表中的Device(B/D/F)的值是以VMD功能关闭为例。
例如:本操作以44号硬盘为例,需要执行以下命令。
lspci -s d7:00.0 -xxx
如果a8寄存器数据默认值不是f1,请联系华为工程师。
- 执行以下命令将a8寄存器值修改为“e1”。
setpci -s <B/D/F> a8.B=e1
<B/D/F>:NVMe硬盘的ROOT PORT(B/D/F),B/D/F值请参考表6-3。
- 执行以下命令查询修改结果。
lspci -s <B/D/F> -xxx
<B/D/F>:NVMe硬盘的ROOT PORT(B/D/F),B/D/F值请参考表6-3。
图6-38 查询修改后寄存器值
- 执行以下命令记录原始a8寄存器值(a0行第9列PCI数据),如图6-37所示。
- 停止访问待拆卸的NVMe硬盘。
如果待拆卸NVMe硬盘存在mount的文件系统,请执行以下命令卸载该NVMe硬盘上的文件系统。
umount /dev/NVMe硬盘盘符
- 获取服务器的硬盘编号和操作系统中的Slot ID的对应关系。
- 执行以下命令安全移除硬盘。
echo n > /sys/bus/pci/slots/Slot ID/power
参数说明:
- n,取值为0和1。0表示卸载硬盘,1表示加载硬盘(当且仅当已执行卸载硬盘命令但并未执行拔出硬盘操作时,才可以执行加载硬盘命令)。
- Slot ID,详细信息请参见表6-4。
例如:通知式热拔出Slot44槽位的NVMe硬盘,需要执行以下命令。
echo 0 > /sys/bus/pci/slots/124/power
- 如果系统使用irqbalance服务均衡CPU中断,执行热插拔操作后需执行以下命令重启irqbalance服务。
systemctl restart irqbalance.service
irqbalance服务配置管理请参考对应系统的相关文档。
- 观察NVMe硬盘指示灯状态,绿色指示灯熄灭,黄色指示灯闪烁(0.5Hz)时,可缓慢拔出NVMe硬盘。
硬盘指示灯状态详细信息请参见NVMe硬盘指示灯。
手动拔出NVMe硬盘详细信息请参见拆卸NVMe硬盘。
- 将拆卸的部件放进防静电包装袋。
- 在通知式热拔出之后,执行以下命令将a8寄存器值恢复成原始寄存器值。
setpci -s <B/D/F> a8.B=原始a8寄存器值
<B/D/F>:NVMe硬盘的ROOT PORT(B/D/F),B/D/F值请参考表6-3。
- 24x2.5英寸NVMe硬盘配置不需要修改a8寄存器值,可直接跳过此步骤。
- 如果不恢复原始寄存器值会导致该槽位的NVMe硬盘通知式热插入功能异常。
- 安装硬盘假模块。
仅在不立即安装硬盘时,需要执行此操作。
拆卸后置NVMe硬盘
操作步骤(VMD功能开启)
- VMD支持的操作系统请参见计算产品兼容性查询助手。
- VMD功能的版本软件要求如下:
- BIOS:090及以上版本
- BMC:312及以上版本
- 硬盘背板CPLD:最新版本
- 拆卸NVMe硬盘前:
- 停止访问待拆卸的NVMe硬盘。
- 以防数据丢失,必须备份数据。
- 请按顺序拆卸NVMe硬盘,完全拆卸完1个NVMe硬盘后再拆卸其他硬盘。
- 如果操作系统是RHEL 7.3,VMD功能开启后,暴力热插拔NVMe硬盘时需要配合使用操作系统的原生内核3.10.0-514.el7.x86_64,使用升级后的内核会导致概率性系统重启。
操作步骤(VMD功能关闭)
- 拆卸NVMe硬盘前:
- 停止访问待拆卸的NVMe硬盘。
- 以防数据丢失,必须备份数据。
- 请按顺序拆卸NVMe硬盘,完全拆卸完1个NVMe硬盘后再拆卸其他硬盘。
- 使用命令卸载硬盘驱动。
Windows操作系统
- 确定硬盘的位置和槽位。
- 通过硬盘指示灯确认硬盘的运行状态。
详细信息请参见NVMe硬盘指示灯。
- 判断是否执行拆卸操作。
- 是:执行步骤4。
- 否:处理硬盘故障。
- 安装Windows操作系统的工具包。
详细信息请参见《ES3000 V5 NVMe PCIe SSD 用户指南》中“安装与配置 > 安装工具包 > 安装工具包(Windows系统)”章节。
- 双击工具包安装路径下的HioadmGUI_DotNet_x.0.exe,进入Windows GUI工具界面。
- 如果.NET版本为2.0或3.5,双击安装路径下的HioadmGUI_DotNet_2.0.exe,进入Windows GUI工具。
- 如果.NET版本为4.0或4.5,双击安装路径下的HioadmGUI_DotNet_4.0.exe,进入Windows GUI工具。
图6-40 BaseInfo界面1 - 选择需要拆卸的NVMe硬盘。
- 单击“eject”。
正常卸载完成后会弹出“Eject Succeed”对话框。
图6-41 BaseInfo界面2如果弹出失败的提示,表示操作系统正在访问NVMe硬盘,需要停止访问后再次单击“eject”,直到弹出“Eject Succeed”的提示。
- 单击“OK”。
- 观察NVMe硬盘指示灯状态,绿色指示灯熄灭,黄色指示灯闪烁(0.5Hz)时,可缓慢拔出NVMe硬盘。
硬盘指示灯状态详细信息请参见NVMe硬盘指示灯。
手动拔出NVMe硬盘详细信息请参见拆卸NVMe硬盘。
- 将拆卸的部件放进防静电包装袋。
- 安装硬盘假模块。
仅在不立即安装硬盘时,需要执行此操作。
Linux操作系统
- 支持的Linux操作系统版本请参见计算产品兼容性查询助手。
- VMD功能关闭时,如果操作系统是RHEL 7.3,需要将内核升级至kernel-3.10.0-514.26.2.e17.x86_64版本及以上,否则NVMe硬盘不支持通知式热插拔。
- 以下操作以RHEL 7.3系统为例。
- 确定硬盘的位置和槽位。
- 通过硬盘指示灯确认硬盘的运行状态。
详细信息请参见NVMe硬盘指示灯。
- 判断是否执行拆卸操作。
- 是:执行步骤4。
- 否:处理硬盘故障。
- 如果操作系统是RHEL 7.3,需要升级内核至kernel-3.10.0-514.26.2.e17.x86_64版本及以上。
- 使用“root”用户登录需要升级内核的服务器。
- 执行以下命令,查看当前内核版本。
uname -a
- 下载内核升级包至本地PC。
使用customer portal账号登录红帽官网下载内核升级包(以kernel-3.10.0-514.26.2.el7.x86_64.rpm为例)。
链接:https://access.redhat.com/downloads/content/rhel---7/x86_64/2456/kernel/3.10.0-514.26.2.el7/x86_64/fd431d51/package
- 通过KVM挂载下载的升级包所在的文件夹。图6-42 挂载文件夹
- 执行以下命令将服务器上的升级包挂载至OS中,本步骤以“/home”文件夹为例。
mount /dev/sr0 /home
- 执行以下命令在“/home”文件夹下查看升级包。
cd /home
ls kernel*
- 执行以下命令,升级系统内核。
rpm -ivh kernel*.x86_64.rpm
- 执行以下命令重启服务器,选择进入新的内核。
reboot
- 执行以下命令,确认内核升级成功。
uname -r
系统显示如下信息:
kernel-3.10.0-514.26.2.el7.x86_64
- 配置内核参数。
- 登录操作系统,打开“ /etc/default/grub”文件。
- 按“Insert”。
- 找到“GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet”,并在后面输入pciehp.pciehp_force=1 pci=pcie_bus_perf。
增加的内容需要与上文之间有空格,但不能换行。
图6-43 配置内核参数 - 按“Esc”。
- 输入“:wq”。
保存退出。
- 执行以下命令使修改生效。
- Legacy模式:执行grub2-mkconfig -o /boot/grub2/grub.cfg。
- UEFI模式:执行grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg。
- 修改完成后,重启服务器。
- 如果操作系统是RHEL 7.3或RHEL 7.4,需先修改a8寄存器值,否则NVMe硬盘不支持通知式热插拔。
24x2.5英寸NVMe硬盘配置不需要修改a8寄存器值,可直接跳过此步骤。
- 执行以下命令记录原始a8寄存器值(a0行第9列PCI数据),如图6-44所示。
lspci -s <B/D/F> -xxx
<B/D/F>:NVMe硬盘的ROOT PORT(B/D/F),B/D/F值请参考表6-5。
表6-5 B/D/F对应关系配置
硬盘编号
ROOT PORT(B/D/F)
Device(B/D/F)
8x2.5英寸硬盘配置
44
d7:00.0
d8:00.0
45
d7:01.0
d9:00.0
46
d7:02.0
da:00.0
47
d7:03.0
db:00.0
20x2.5 英寸硬盘配置(8xSAS/SATA+12xNVMe)a
8
3A:00.0
3B:00.0
9
3A:01.0
3C:00.0
10
3A:02.0
3D:00.0
11
3A:03.0
3E:00.0
12
5D:00.0
5E:00.0
13
5D:01.0
5F:00.0
14
85:00.0
86:00.0
15
85:01.0
87:00.0
16
85:02.0
88:00.0
17
85:03.0
89:00.0
18
AE:02.0
AF:00.0
19
AE:03.0
B0:00.0
- a:当没有选配灵活IO卡时,Disk18和Disk19的Device(B/D/F)分别为AF:00.0和B0:00.0;当选配了灵活IO卡时,Disk18和Disk19的Device(B/D/F)分别为B1:00.0和B2:00.0。
- Device(B/D/F)的值与VMD功能是否开启有关。表中的Device(B/D/F)的值是以VMD功能关闭为例。
例如:本操作以44号硬盘为例,需要执行以下命令。
lspci -s d7:00.0 -xxx
如果a8寄存器数据默认值不是f1,请联系华为工程师。
- 执行以下命令将a8寄存器值修改为“e1”。
setpci -s <B/D/F> a8.B=e1
<B/D/F>:NVMe硬盘的ROOT PORT(B/D/F),B/D/F值请参考表6-5。
- 执行以下命令查询修改结果。
lspci -s <B/D/F> -xxx
<B/D/F>:NVMe硬盘的ROOT PORT(B/D/F),B/D/F值请参考表6-5。
图6-45 查询修改后寄存器值
- 执行以下命令记录原始a8寄存器值(a0行第9列PCI数据),如图6-44所示。
- 停止访问待拆卸的NVMe硬盘。
如果待拆卸NVMe硬盘存在mount的文件系统,请执行以下命令卸载该NVMe硬盘上的文件系统。
umount /dev/NVMe硬盘盘符
- 获取服务器的硬盘编号和操作系统中的Slot ID的对应关系。
- 执行以下命令安全移除硬盘。
echo n > /sys/bus/pci/slots/Slot ID/power
参数说明:
- n,取值为0和1。0表示卸载硬盘,1表示加载硬盘(当且仅当已执行卸载硬盘命令但并未执行拔出硬盘操作时,才可以执行加载硬盘命令)。
- Slot ID,详细信息请参见表6-6。
例如:通知式热拔出Slot44槽位的NVMe硬盘,需要执行以下命令。
echo 0 > /sys/bus/pci/slots/124/power
- 如果系统使用irqbalance服务均衡CPU中断,执行热插拔操作后需执行以下命令重启irqbalance服务。
systemctl restart irqbalance.service
irqbalance服务配置管理请参考对应系统的相关文档。
- 观察NVMe硬盘指示灯状态,绿色指示灯熄灭,黄色指示灯闪烁(0.5Hz)时,可缓慢拔出NVMe硬盘。
硬盘指示灯状态详细信息请参见NVMe硬盘指示灯。
手动拔出NVMe硬盘详细信息请参见拆卸NVMe硬盘。
- 将拆卸的部件放进防静电包装袋。
- 在通知式热拔出之后,执行以下命令将a8寄存器值恢复成原始寄存器值。
setpci -s <B/D/F> a8.B=原始a8寄存器值
<B/D/F>:NVMe硬盘的ROOT PORT(B/D/F),B/D/F值请参考表6-5。
- 24x2.5英寸NVMe硬盘配置不需要修改a8寄存器值,可直接跳过此步骤。
- 如果不恢复原始寄存器值会导致该槽位的NVMe硬盘通知式热插入功能异常。
- 安装硬盘假模块。
仅在不立即安装硬盘时,需要执行此操作。