centos 热插拔,centos更新软件命令
大家好,今天小编来为大家解答以下的问题,关于centos 热插拔,centos更新软件命令这个很多人还不知道,现在让我们一起来看看吧!
如何在CentOS7上改变网络接口名的方法与步骤
提问:在CentOS7,我想将分配的网络接口名更改为别的名字。有什么合适的方法来来重命名CentOS或RHEL7的网络接口?
传统上,Linux的网络接口被枚举为eth[0123...],但这些名称并不一定符合实际的硬件插槽,PCI位置,USB接口数量等,这引入了一个不可预知的命名问题(例如,由于不确定的设备探测行为),这可能会导致不同的网络配置错误(例如,由无意的接口改名引起的禁止接口或者防火墙旁路)。基于MAC地址的udev规则在虚拟化的环境中并不有用,这里的MAC地址如端口数量一样无常。
CentOS/RHEL6引入了一致和可预测的网络设备命名网络接口的方法。这些特性可以唯一地确定网络接口的名称以使定位和区分设备更容易,并且在这样一种方式下,无论是否重启机器、过了多少时间、或者改变硬件,其名字都是持久不变的。然而,这种命名规则并不是默认在CentOS/RHEL6上开启。
从CentOS/RHEL7起,这种可预见的命名规则变成了默认。根据这一规则,接口名称被自动基于固件,拓扑结构和位置信息来确定。现在,即使添加或移除网络设备,接口名称仍然保持固定,而无需重新枚举,和坏掉的硬件可以无缝替换。
*基于接口类型的两个字母前缀:* en--以太网* sl--串行线路IP(slip)* wl-- wlan* ww-- wwan**名字类型:* b-- BCMA总线和新书* ccw-- CCW总线组名* o--车载设备的索引号* s[f][d]--热插拔插槽索引号* x-- MAC地址* [P]ps[f][d]*-- PCI位置* [P]ps[f][u
][..]1[i]*-- USB端口号链
新的命名方案的一个小的缺点是接口名称相比传统名称有点难以阅读。例如,你可能会发现像enp0s3名字。再者,你再也无法来控制接口名了。
如果由于某种原因,你喜欢旧的方式,并希望能够选择任意名称分配给CentOS/ RHEL7的设备,你需要重写默认的可预测的命名规则,定义基于MAC地址udev规则。
下面是如何在CentOS或RHEL7命名网络接口。
首先,让我们来禁用该可预测命名规则。对于这一点,你可以在启动时传递“net.ifnames=0”的内核参数。这是通过编辑/etc/default/grub并加入“net.ifnames=0”到GRUBCMDLINELINUX变量来实现的。
然后运行这条命令来重新生成GRUB配置并更新内核参数。
$ sudo grub2-mkconfig-o/boot/grub2/grub.cfg
接下来,编辑(或创建)一个udev的网络命名规则文件(/etc/udev/rules.d/70-persistent-net.rules),并添加下面一行。更换成你自己的MAC地址(08:00:27:a9:7a:e1)和接口(sushi)。
$ sudo vi/etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:a9:7a:e1", ATTR{type}=="1", KERNEL=="eth*", NAME="sushi"
最后,重启电脑并验证新的接口名。
请注意,配置重命名后的接口仍然是你的责任。如果网络配置(例如,IPv4设置,防火墙规则)是基于旧名称(变更前)的,则需要更新的网络配置以反映更改的名称。谢谢阅读,希望能帮到大家,请继续关注,我们会努力分享更多优秀的文章。
nvme ssd 对NVMe SSD热插拔时,我需要注意什么
省去了控制器的NVMe比SAS/SATA的热插拔要复杂的多。在进行热插拔测试之前,第一步就是要确认当前的系统是否支持热插拔。
1,确认SSD的支持
对于SSD,热插拔需要保证在插盘的过程中不会产生电流波峰而损坏器件;拔盘的时候,不会因为突然掉电而丢失数据。这个可以向SSD供应商确定或者查看产品规格书。
2,确认PCIe卡槽的支持
上面提到,NVMe是直接连接到PCIe Bus上的,U.2接口也是直接跟PCIe相连(当判断插入的设备为NVMe SSD时)。某些U.2接口内部连接的PCIe卡槽并不支持热插拔。PCIe Spec规定了热插拔寄存器。下图(通过lspci-vvv获取)显示了一个PCIe卡槽的Capabilities寄存器信息。其中LnkSta,SltCap,SltCtl和SltSta 4个部分在热插拔过程中比较有用(具体意义请参考PCIe Spec)。HotPlug和Surprise是最基础的判断热插拔的标志位。SltSta中有一个PresDet位指示当前是否有PCIe设备插入卡槽。
3,确认操作系统的支持
PCIe热插拔并不是完全由操作系统处理的,也有可能由BIOS处理,这完全取决于服务器BIOS的设计。当操作系统启动时,会根据ACPI提供的信息来了解到底由谁处理PCIe热插拔。如果由操作系统处理,则会根据PCIe卡槽发送的中断获知热插拔事件。对于Linux系统来说,一般使用pciehp驱动来干这件事情。所以,最简单的判断方法就是看系统中是否注册了热插拔中断服务程序。
对于Linux的NVMe热插拔支持将会单独用一篇文章讲解,此处不再多说。
4,确认NVMe驱动的支持
与其说驱动的支持,不如说驱动中是否有Bug。Linux内核提供了NVMe驱动,但是在实际的测试中,驱动的处理不当容易导致系统Crash和Hang住。产生这些问题的原因基本上可以归纳为NVMe驱动release设备和pciehp release设备产生竞争,出现空指针;NVMe驱动release设备时,上层调用sync函数导致进程block住。这个最好跟SSD厂商沟通好自己的测试环境,以便提前了解可能出现的问题。
如果这些环节都通过,基本上可以确认当前的系统可以进行热插拔了。但是目前,Linux系统和PCIe热插拔驱动存在不少问题,我们在操作中还需要避免出现下面的情况:
避免在一个服务器上短时间内频繁地(或者同时对多个设备)进行热插拔操作
原因:这是pciehp驱动中热插拔处理的bug,centos7都没有解决。
潜在的问题:可能导致pciehp进程block住,之后插入的盘无法识别。
解决办法:当对多个盘操作时,顺序进行热插拔,并打开pciehp的debug功能,通过dmesg获得pciehp热插拔处理进度。
避免对带有I/O的设备进行热插拔(尤其是启用了Cache的I/O)
原因:这是由于Linux Block层与PCIe热插拔的配合问题导致的。
潜在的问题:可能导致系统某些进程block住,或者系统crash。
解决办法:通过设置卡槽的power值,在拔盘之前通知操作系统先移除设备。
避免对已经mount文件系统的设备进行热插拔
原因:mount无法感知热插拔事件。
潜在的问题:文件系统无法使用,数据丢失。
解决办法:提前umount文件系统。
按照上面的方法,能够避免绝大多数问题。但是还是可能出现错误,尤其在一些新的服务器厂商的产品中,由于兼容性问题导致NVMe设备无法识别。那么我们可以通过卡槽的Capabilities寄存器信息判断。如果设备没有被PCIe系统正确识别,那么就需要咨询厂商了。
总结
这篇文章主要介绍了在进行NVMe SSD热插拔时需要注意的事项。首先,我们检查系统是否支持NVMe热插拔,然后避免出现上面提到的3种情况。PCIe目前还无法做到如SATA/SAS一样的支持力度,这个需要服务器厂商和SSD厂商共同推进,相信在未来会越来越好。用户在这个阶段,只有尽量和厂商多沟通,才能避免操作中造成系统崩溃,数据丢失等风险。
centos7.9硬盘热插拔认不到硬盘
驱动程序问题、硬件兼容性问题等。
1、驱动程序问题:确保系统已安装适当的硬盘驱动程序。可以更新或重新安装硬盘驱动程序,以确保系统能够正确识别新插入的硬盘。
2、硬件兼容性问题:请确保硬件与CentOS7.9兼容,并且支持热插拔功能。不是所有的硬件都支持热插拔,如硬件不支持,那么系统无法识别新插入的硬盘。