Linux:服务器硬件及RAID配置

Linux:服务器硬件及RAID配置

服务器

服务器是什么

服务器的英文名称为“ Server”,是指在网络上提供各种服务的高性能计算机。作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。

服务器和普通计算机的功能是类似的。只是相对于普通计算机,服务器在稳定性、安全性、性能等方面都要求更高,因此CPU、芯片组、内存、磁盘系统、网络等硬件和普通计算机有所不同。

服务器与普通计算机的主要区别包括:

  1. 通信方式为一对多

  2. 资源通过网络共享

  3. 硬件性能更加强大

服务器的结构

以华为FusionServer 1288H V5为例

  1. 物理结构

在这里插入图片描述

服务器物理结构
序号硬件设备序号硬件设备
1电源模块2机箱
3风扇支架4风扇模块
5前置硬盘背板6硬盘
7光驱8灯板模块
9VGA板10散热器
11处理器12内存
13TPM/TCM扣卡14RAID控制扣卡
15主板16灵活IO卡
17PCIe Riser模组118PCIe Riser模组2
  1. 逻辑结构

在这里插入图片描述

服务器逻辑结构
  • 支持1个或2个英特尔®至强®可扩展处理器。

  • 支持24条内存。

  • 处理器与处理器之间通过2个UPI(UltraPath Interconnect)总线互连,传输速率最高可达10.4GT/s。

  • 处理器通过PCIe总线与2个PCIe Riser卡相连,通过不同的PCIe Riser卡支持不同规格的PCIe槽位。

  • RAID控制卡通过PCIe总线与CPU1相连,通过SAS信号线缆与硬盘背板相连,通过不同的硬盘背板支持多种本地存储规格。

  • 使用LBG-2 PCH(Platform Controller Hub),通过PCH:

    • 支持2个板载10GE光口或者2个板载10GE电口。
    • 支持2个板载GE电口。
  • 使用Hi1710管理芯片,支持外出VGA(Video Graphic Array)、管理网口、调试串口等管理接口。

RAID

硬RAID与软RAID对比

硬RAID软RAID
实现方式使用专门的raid控制器来实现操作系统和软件来实现
性能由于使用专用硬件,通常能提供更好的性能性能受到操作系统负载和主机CPU性能的影响
数据安全性更佳(硬raid控制器可以提供更多的数据保护和冗余功能)较弱(软RAID的故障恢复可能更复杂,需要更多的手动干预)
灵活性与成本需要特定的硬件和控制器,配置后难以更改。可以在几乎任何计算机上运行,可以随时添加或删除磁盘
可靠性和容错性RAID卡通常具有纠错能力,可以检测和纠正磁盘故障,因此可以保证数据的完整性和可靠性需要CPU处理所有RAID任务,包括读写磁盘和计算校验和等操作,这可能会降低系统性能

RAID级别介绍

RAID 0

RAID 0又称为条带化(Stripe),代表了所有RAID级别中最高的存储性能。

通过建立RAID 0,原先顺序的数据请求被分散到所有的三块硬盘中同时执行。但由于其没有数据冗余,无法保护数据的安全性,只能适用于I/O速率要求高,但数据安全性要求低的场合。

在这里插入图片描述

RAID 0数据存储原理
RAID 1

RAID 1又称镜像(Mirror或Mirroring),即每个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时同时从工作盘和镜像盘读出。

当更换故障盘后,数据可以重构,恢复工作盘正确数据。RAID 1可靠性高,但其有效容量减小到总容量一半,因此常用于对容错要求较高的应用场合。

在这里插入图片描述

RAID 1数据存储原理
RAID 5

RAID 5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。为保障存储数据的可靠性,采用循环冗余校验方式,并将校验数据分散存储在RAID的各成员盘上。当RAID的某个成员盘出现故障时,通过其他成员盘上的数据可以重新构建故障硬盘上的数据。

RAID 5既适用于大数据量的操作,也适用于各种小数据的事务处理,是一种快速、大容量和容错分布合理的磁盘阵列。

RAID 5具有较RAID 0略低的数据读写速度,但写性能比写入单个硬盘时要高。

在这里插入图片描述

RAID 5数据存储原理
RAID 6

RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块硬盘同时失效也不会影响数据的使用。

数据块和校验块一起分散存储到RAID 6的各个成员盘上。当任意一个或两个成员硬盘出现故障时,控制卡可以从其他处于正常状态的硬盘上重新恢复或生成丢失的数据而不影响数据的可用性。

数据块和校验块一起分散存储到RAID 6的各个成员盘上。当任意一个或两个成员硬盘出现故障时,控制卡可以从其他处于正常状态的硬盘上重新恢复或生成丢失的数据而不影响数据的可用性。

在这里插入图片描述

RAID 6数据存储原理
RAID 10

RAID 10是将镜像和条带进行两级组合的RAID级别,即RAID 1+RAID 0的组合形式,第一级是RAID 1,第二级是RAID 0。RAID 10是存储性能和数据安全兼顾的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。

原先顺序的数据请求按照RAID 0的方式,被分散到两个子组中并行执行,同时通过RAID 1的方式,系统在向硬盘Drive 0写入数据的同时把数据自动复制到硬盘Drive 1上,向硬盘Drive 2写入数据的同时把数据自动复制到硬盘Drive 3上。

在这里插入图片描述

RAID 10数据存储原理

RAID级别对比

RAID 级别硬盘数量要求利用率是否有冗余能力读写性能
RAID 0NN单个硬盘的N倍
RAID 1N (偶数)N/2有,允许一个设备故障读性能提升,写没有提升
RAID 5N>=3(N-1/N)有,允许一个设备故障读性能提升,写没有提升
RAID 6N>=4(N-2)/N有,允许两个设备故障需要多写两份纠删码,所以写性能相对raid5更低一些
RAID 10N>=4N/2有,允许不同组中各坏一个读性能可提升N倍,写性能提升N/2倍

配置RAID

硬RAID

状态说明
Available(AVL)硬盘可能未就绪,并且不适合在逻辑盘或热备池中使用。
Online(ONL)为某个虚拟磁盘的成员盘,可正常使用,处于在线状态。
Fault硬盘故障。
Hot Spare(HSP)被设置为热备盘。
Unconfigured Good(ugood/ucfggood)硬盘状态正常,但不是虚拟磁盘的成员盘或热备盘。
物理硬盘状态
  1. 进入硬RAID管理界面

在这里插入图片描述

  1. 创建RAID磁盘

光标移动至第二行,按f2选择“Create Virtual Drive”

在这里插入图片描述

  1. 按照需求选择创建RAID级别、需要加入的物理磁盘、虚拟磁盘的空间大小及名称

选择加入的物理磁盘选择为“空格键”;完成后按"ok"

在这里插入图片描述

是否跳过初始化选择“OK”

在这里插入图片描述

创建完成

在这里插入图片描述

  1. 初始化虚拟磁盘

光标移动至新建的虚拟磁盘上按“f2”选择“Initialization”初始化,选择“Fast Init”快速初始化

在这里插入图片描述

提示信息选择“YES”

在这里插入图片描述

初始化完成提示信息

在这里插入图片描述

  1. 查看物理磁盘状态

"Ctrl+N"到“PD Mgmt”界面,检查创建虚拟磁盘时选中的物理磁盘状态是否为“OnLine”

在这里插入图片描述

  1. 设置全局热备盘

在“PD Mgmt”界面选择空闲物理磁盘,按“f2”选择“Make Global HS”成为全局热备盘

在这里插入图片描述

创建完成后检查物理磁盘是否为“HotSpare”

在这里插入图片描述

软RAID

使用Linux系统为例

  1. 添加容量相同的硬盘

在这里插入图片描述

在这里插入图片描述

  1. 检查“mdadm”软件包

在这里插入图片描述

  1. 将添加的三块硬盘新建分区

在这里插入图片描述

nvme0n3、nvme0n4均需要进行相同操作

在这里插入图片描述

  1. 创建RAID
#创建RAID5
mdadm -C -v /dev/md0 [-a yes] -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1-C:表示新建;
-v:显示创建过程中的详细信息。
/dev/md0:创建 RAID5 的名称。
-a yes:--auto,表示如果有什么设备文件没有存在的话就自动创建,可省略。
-l:指定 RAID 的级别,l5 表示创建 RAID5。
-n:指定使用几块硬盘创建 RAID,n3 表示使用 3 块硬盘创建 RAID。
/dev/sd[bcd]1:指定使用这3块磁盘分区去创建 RAID。
-x:指定使用几块硬盘做RAID的热备用盘,x1表示保留1块空闲的硬盘作备用
/dev/sde1:指定用作于备用的磁盘#查看RAID磁盘详细信息
cat /proc/mdstat        #还能查看创建RAID的进度
或者
mdadm -D /dev/md0#用watch命令来每隔一段时间刷新 /proc/mdstat 的输出
watch -n 10 'cat /proc/mdstat'#检查磁盘是否已做RAID
mdadm -E /dev/sd[b-e]1

在这里插入图片描述

在这里插入图片描述

  1. 格式化磁盘

在这里插入图片描述

在这里插入图片描述

[root@rhel9-1 ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sr0            11:0    1  9.8G  0 rom  /mnt
nvme0n1       259:0    0   80G  0 disk 
├─nvme0n1p1   259:1    0  600M  0 part /boot/efi
├─nvme0n1p2   259:2    0    1G  0 part /boot
└─nvme0n1p3   259:3    0 78.4G  0 part ├─rhel-root 253:0    0 47.4G  0 lvm  /├─rhel-swap 253:1    0  7.8G  0 lvm  [SWAP]└─rhel-home 253:2    0 23.2G  0 lvm  /home
nvme0n2       259:4    0   50G  0 disk 
nvme0n3       259:5    0   50G  0 disk 
nvme0n4       259:6    0   50G  0 disk
[root@rhel9-1 ~]# yum install -y mdadm
正在更新 Subscription Management 软件仓库。
ali_baseos                                                               9.5 kB/s | 3.9 kB     00:00    
ali_baseos                                                               5.4 MB/s | 8.0 MB     00:01    
ali_appstream                                                             11 kB/s | 4.4 kB     00:00    
ali_appstream                                                            6.7 MB/s |  19 MB     00:02    
redhat9-BaseOS                                                           2.7 MB/s | 2.7 kB     00:00    
redhat9-AppStream                                                        3.1 MB/s | 3.2 kB     00:00    
软件包 mdadm-4.2-9.el9.x86_64 已安装。
依赖关系解决。
=========================================================================================================软件包                架构                   版本                      仓库                        大小
=========================================================================================================
升级:mdadm                 x86_64                 4.3-1.el9                 ali_baseos                 433 k事务概要
=========================================================================================================
升级  1 软件包总下载:433 k
下载软件包:
mdadm-4.3-1.el9.x86_64.rpm                                               716 kB/s | 433 kB     00:00    
---------------------------------------------------------------------------------------------------------
总计                                                                     714 kB/s | 433 kB     00:00     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务准备中  :                                                                                          1/1 升级    : mdadm-4.3-1.el9.x86_64                                                                   1/2 运行脚本: mdadm-4.3-1.el9.x86_64                                                                   1/2 运行脚本: mdadm-4.2-9.el9.x86_64                                                                   2/2 清理    : mdadm-4.2-9.el9.x86_64                                                                   2/2 运行脚本: mdadm-4.2-9.el9.x86_64                                                                   2/2 验证    : mdadm-4.3-1.el9.x86_64                                                                   1/2 验证    : mdadm-4.2-9.el9.x86_64                                                                   2/2 
已更新安装的产品。已升级:mdadm-4.3-1.el9.x86_64                                                                                 完毕!
[root@rhel9-1 ~]# fdisk /dev/nvme0n2欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x804d6263 的新 DOS 磁盘标签。命令(输入 m 获取帮助):n
分区类型p   主分区 (0 primary, 0 extended, 4 free)e   扩展分区 (逻辑分区容器)
选择 (默认 p):将使用默认回应 p。
分区号 (1-4, 默认  1): 
第一个扇区 (2048-104857599, 默认 2048): 
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-104857599, 默认 104857599): 创建了一个新分区 1,类型为“Linux”,大小为 50 GiB。命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码或别名(输入 L 列出所有代码):L00 空               24 NEC DOS          81 Minix / 旧 Linu  bf Solaris        
01 FAT12            27 隐藏的 NTFS Win  82 Linux swap / So  c1 DRDOS/sec (FAT-
02 XENIX root       39 Plan 9           83 Linux            c4 DRDOS/sec (FAT-
03 XENIX usr        3c PartitionMagic   84 OS/2 隐藏 或 In  c6 DRDOS/sec (FAT-
04 FAT16 <32M       40 Venix 80286      85 Linux 扩展       c7 Syrinx         
05 扩展             41 PPC PReP Boot    86 NTFS 卷集        da 非文件系统数据 
06 FAT16            42 SFS              87 NTFS 卷集        db CP/M / CTOS / .
07 HPFS/NTFS/exFAT  4d QNX4.x           88 Linux 纯文本     de Dell 工具      
08 AIX              4e QNX4.x 第2部分   8e Linux LVM        df BootIt         
09 AIX 可启动       4f QNX4.x 第3部分   93 Amoeba           e1 DOS 访问       
0a OS/2 启动管理器  50 OnTrack DM       94 Amoeba BBT       e3 DOS R/O        
0b W95 FAT32        51 OnTrack DM6 Aux  9f BSD/OS           e4 SpeedStor      
0c W95 FAT32 (LBA)  52 CP/M             a0 IBM Thinkpad 休  ea Linux 扩展启动 
0e W95 FAT16 (LBA)  53 OnTrack DM6 Aux  a5 FreeBSD          eb BeOS fs        
0f W95 扩展 (LBA)   54 OnTrackDM6       a6 OpenBSD          ee GPT            
10 OPUS             55 EZ-Drive         a7 NeXTSTEP         ef EFI (FAT-12/16/
11 隐藏的 FAT12     56 Golden Bow       a8 Darwin UFS       f0 Linux/PA-RISC  
12 Compaq 诊断      5c Priam Edisk      a9 NetBSD           f1 SpeedStor      
14 隐藏的 FAT16 <3  61 SpeedStor        ab Darwin 启动      f4 SpeedStor      
16 隐藏的 FAT16     63 GNU HURD 或 Sys  af HFS / HFS+       f2 DOS 次要       
17 隐藏的 HPFS/NTF  64 Novell Netware   b7 BSDI fs          fb VMware VMFS    
18 AST 智能睡眠     65 Novell Netware   b8 BSDI swap        fc VMware VMKCORE 
1b 隐藏的 W95 FAT3  70 DiskSecure 多启  bb Boot Wizard 隐   fd Linux raid 自动
1c 隐藏的 W95 FAT3  75 PC/IX            bc Acronis FAT32 L  fe LANstep        
1e 隐藏的 W95 FAT1  80 旧 Minix         be Solaris 启动     ff BBT            别名:linux          - 83swap           - 82extended       - 05uefi           - EFraid           - FDlvm            - 8Elinuxex        - 85
Hex 代码或别名(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”。命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。[root@rhel9-1 ~]# fdisk /dev/nvme0n3欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x281f507d 的新 DOS 磁盘标签。命令(输入 m 获取帮助):n
分区类型p   主分区 (0 primary, 0 extended, 4 free)e   扩展分区 (逻辑分区容器)
选择 (默认 p):将使用默认回应 p。
分区号 (1-4, 默认  1): 
第一个扇区 (2048-104857599, 默认 2048): 
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-104857599, 默认 104857599): 创建了一个新分区 1,类型为“Linux”,大小为 50 GiB。命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码或别名(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”。命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。[root@rhel9-1 ~]# fdisk /dev/nvme0n4欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。设备不包含可识别的分区表。
创建了一个磁盘标识符为 0xdc53e37c 的新 DOS 磁盘标签。命令(输入 m 获取帮助):n\
分区类型p   主分区 (0 primary, 0 extended, 4 free)e   扩展分区 (逻辑分区容器)
选择 (默认 p):将使用默认回应 p。
分区号 (1-4, 默认  1): 
第一个扇区 (2048-104857599, 默认 2048): 
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-104857599, 默认 104857599): 创建了一个新分区 1,类型为“Linux”,大小为 50 GiB。命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码或别名(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”。命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。[root@rhel9-1 ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sr0            11:0    1  9.8G  0 rom  /mnt
nvme0n1       259:0    0   80G  0 disk 
├─nvme0n1p1   259:1    0  600M  0 part /boot/efi
├─nvme0n1p2   259:2    0    1G  0 part /boot
└─nvme0n1p3   259:3    0 78.4G  0 part ├─rhel-root 253:0    0 47.4G  0 lvm  /├─rhel-swap 253:1    0  7.8G  0 lvm  [SWAP]└─rhel-home 253:2    0 23.2G  0 lvm  /home
nvme0n2       259:4    0   50G  0 disk 
└─nvme0n2p1   259:8    0   50G  0 part 
nvme0n3       259:5    0   50G  0 disk 
└─nvme0n3p1   259:9    0   50G  0 part 
nvme0n4       259:6    0   50G  0 disk 
└─nvme0n4p1   259:10   0   50G  0 part 
[root@rhel9-1 ~]# mdadm -C -v /dev/md0 -a yes -l5 -n3 /dev/nvme0n2p1 /dev/nvme0n3p1 /dev/nvme0n4p1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 52393984K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started. 
[root@rhel9-1 ~]# mdadm -D /dev/md0 
/dev/md0:Version : 1.2Creation Time : Mon Apr 22 20:36:53 2024Raid Level : raid5Array Size : 104787968 (99.93 GiB 107.30 GB)Used Dev Size : 52393984 (49.97 GiB 53.65 GB)Raid Devices : 3Total Devices : 3Persistence : Superblock is persistentUpdate Time : Mon Apr 22 20:37:58 2024State : clean, degraded, recovering Active Devices : 2Working Devices : 3Failed Devices : 0Spare Devices : 1Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncRebuild Status : 25% completeName : xy10:0  (local to host xy10)UUID : d6e6ba0b:53220703:72633004:6e0877d2Events : 5Number   Major   Minor   RaidDevice State0     259        8        0      active sync   /dev/nvme0n2p11     259        9        1      active sync   /dev/nvme0n3p13     259       10        2      spare rebuilding   /dev/nvme0n4p1
[root@rhel9-1 ~]# mdadm -D /dev/md0 
/dev/md0:Version : 1.2Creation Time : Mon Apr 22 20:36:53 2024Raid Level : raid5Array Size : 104787968 (99.93 GiB 107.30 GB)Used Dev Size : 52393984 (49.97 GiB 53.65 GB)Raid Devices : 3Total Devices : 3Persistence : Superblock is persistentUpdate Time : Mon Apr 22 20:41:34 2024State : clean Active Devices : 3Working Devices : 3Failed Devices : 0Spare Devices : 0Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncName : xy10:0  (local to host xy10)UUID : d6e6ba0b:53220703:72633004:6e0877d2Events : 18Number   Major   Minor   RaidDevice State0     259        8        0      active sync   /dev/nvme0n2p11     259        9        1      active sync   /dev/nvme0n3p13     259       10        2      active sync   /dev/nvme0n4p1
[root@rhel9-1 ~]# mkfs.xfs /dev/md0 
log stripe unit (524288 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB
meta-data=/dev/md0               isize=512    agcount=16, agsize=1637248 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=26195968, imaxpct=25=                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=16384, version=2=                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@rhel9-1 ~]# mkdir /opt/data
[root@rhel9-1 ~]# blkid /dev/md0
/dev/md0: UUID="730d538d-751f-482e-893f-8cd2d8a38e10" TYPE="xfs"
[root@rhel9-1 ~]# vim /etc/fstab 
[root@rhel9-1 ~]# mount -a
[root@rhel9-1 ~]# df -h
文件系统               容量  已用  可用 已用% 挂载点
devtmpfs               4.0M     0  4.0M    0% /dev
tmpfs                  1.8G     0  1.8G    0% /dev/shm
tmpfs                  724M  9.7M  714M    2% /run
/dev/mapper/rhel-root   48G  4.5G   43G   10% /
/dev/sr0               9.9G  9.9G     0  100% /mnt
/dev/mapper/rhel-home   24G  198M   23G    1% /home
/dev/nvme0n1p2         960M  292M  669M   31% /boot
/dev/nvme0n1p1         599M  7.0M  592M    2% /boot/efi
tmpfs                  362M   52K  362M    1% /run/user/42
tmpfs                  362M   36K  362M    1% /run/user/0
/dev/md0               100G  747M  100G    1% /opt/data
[root@rhel9-1 ~]# 
[root@rhel9-1 ~]# vim /etc/fstab #
# /etc/fstab
# Created by anaconda on Mon Apr 15 06:43:50 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root   /                       xfs     defaults        0 0
UUID=fd674837-4996-4f18-91b3-d25bd7506779 /boot                   xfs     defaults        0 0
UUID=C9F0-9BE3          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/mapper/rhel-home   /home                   xfs     defaults        0 0
/dev/mapper/rhel-swap   none                    swap    defaults        0 0
/dev/sr0                /mnt                    iso9660 defaults        0 0 UUID=730d538d-751f-482e-893f-8cd2d8a38e10 /opt/data xfs defaults 0 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/641258.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【PCL】教程global_hypothesis_verification 通过验证模型假设来实现 3D 对象识别与位姿估计...

测试程序1 milk.pcd milk_cartoon_all_small_clorox.pcd 终端输出1&#xff1a; Model total points: 12575; Selected Keypoints: 193 Scene total points: 307200; Selected Keypoints: 7739 [pcl::SHOTEstimation::computeFeature] The local reference frame is not valid!…

应对电网挑战!lonQ与橡树岭国家实验室利用量子技术改善关键基础设施

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨浪味仙 排版丨沛贤 深度好文&#xff1a;1800字丨6分钟阅读 摘要&#xff1a;美国电网正在面临需求增加和能源扩散的挑战&#xff0c;对能够应对优化和安全挑战的创新解决方案有着迫切需求…

Day4 商品管理

Day4 商品管理 这里会总结构建项目过程中遇到的问题&#xff0c;以及一些个人思考&#xff01;&#xff01; 学习方法&#xff1a; 1 github源码 文档 官网 2 内容复现 &#xff0c;实际操作 项目源码同步更新到github 欢迎大家star~ 后期会更新并上传前端项目 编写品牌服务 …

【第4讲】XTuner 微调 LLM:1.8B、多模态、Agent

目录 1 简介2 基础知识2.1 finetune简介2.2 xtuner简介2.2.1 技术架构2.2.2 快速上手xtuner 2.3 8GB显存玩转LLM&#xff08;intern1.8b&#xff09;2.3.1 flash attention vs deepspeed zero2.3.2 相关版本更新和使用 2.4 多模态LLM2.4.1 多模态LLaVA基本原理简介2.4.2 快速上…

vue 脚手架创建

脚手架创建 介绍 脚手架是什么呢&#xff0c;就是vue自动创建脚手架的项目模板&#xff0c;用于搭建项目的整体骨架&#xff0c;就比如后端开发时&#xff0c;咱们可以创建一个空项目&#xff0c;一步步创建为mvc项目&#xff0c;但是vs封装了mvc的框架&#xff0c;我们可以直…

爱普生RX-8130CE内置电池控制 RTC

特点&#xff1a;(1)封装极小&#xff0c;集成度高RX-8130CE是一个带|2C接口的实时时钟模块&#xff0c;内部集成32.768KHz晶体振荡器。实时时钟功能不仅集成了年、月、日、星期、小时、分、秒的日历和时钟计数器&#xff0c;同时也有时间闹钟、间隔定时器、时间更新中断等功能…

面向对象目录总结

【零】思维导图 【一】初识面向对象 Python 初识面向对象-CSDN博客 【二】面向对象-封装 Python 面向对象之封装和装饰器property_面向对象python封装property-CSDN博客 【三】面向对象-继承 Python 面向对象之继承和组合_面向对象 组合 继承-CSDN博客 【四】面向对象-多…

OpenHarmony开发实例:【电话簿联系人Contacts】

样例简介 Contacts应用是基于OpenHarmony SDK开发的安装在润和HiSpark Taurus AI Camera(Hi3516d)开发板标准系统上的应用&#xff1b;应用主要功能是展示联系人列表&#xff0c;并点击某一列弹出联系人详细信息&#xff1b; 运行效果 样例原理 样例主要有一个list组件和dia…

cesium 动态线效果

一、扩展材质 function PolylineTrailMaterial(options) {options Cesium.defaultValue(options, Cesium.defaultValue.EMPTY_OBJECT);this._definitionChanged new Cesium.Event();// 变量初始化this.color Cesium.defaultValue(options.color && new Cesium.Colo…

web漏洞合集描述和修复建议

完整Excle文件可移步至知识星球查看下载 星球不定时分享网上各种资料&#xff0c;欢迎大家加入交流。

STM32F4 Hal库中IO外部中断(EXIT)的应用

目录 概述 1 中断和事件 1.1 外部中断/事件控制器 (EXTI) 1.2 EXTI主要特性 1.3 中断和事件的差别 1.3.1 中断产生流程 1.3.2 事件产生流程 1.3.3 STM32F4的事件 2 STM32Cube配置工程 2.1 外部中断/事件介绍 2.2 配置参数 2.3 生成Project 3 STM32F4 Hal库中外部中…

助力突发异常事件预警保障公共安全,基于YOLOv7【tiny/l/x】模型开发构建公共生活场景下危险人员持刀行凶异常突发事件检测预警识别系统

基于AI目标检测模型的暴力持刀行凶预警系统是当下保障人民生命安全的新途径&#xff0c;近年来&#xff0c;公众场合下的暴力袭击事件频发&#xff0c;不仅给受害者及其家庭带来了深重的伤害&#xff0c;也对社会的稳定和安全造成了极大的威胁。在这种背景下&#xff0c;如何有…