【Linux】服务器硬件及RAID配置实战

目录

一、服务器

1.服务器

 2.查看服务器信息

二、RAID 磁盘阵列

三、软RAID的创建和使用

1.添加硬盘,fdisk分区,分区类型ID设置为 fd

2.使用mdadm创建软raid

3.格式化      

4.挂载使用    

5.mdadm


一、服务器

1.服务器

分类机架式居多   塔式   刀片式   机柜式   
架构 X86  ARM
品牌戴尔  AMD  英特尔  惠普   华为   华三H3C   联想   浪潮   长城
规格1C1G   2C4G   4C8G   32C128G   64C256G 等

 2.查看服务器信息

查看服务器CPU信息:cat /proc/cpuinfo            lscpu
                     model name        #CPU型号
                     physical id       #物理CPU的ID
                     cpu cores         #每个物理CPU中的核心数
                     processor         #逻辑CPU的ID

查看服务器内存的信息:cat /proc/meminfo          free [-m]


二、RAID 磁盘阵列

RAID级别  读写性能硬盘数量要求利用率 有无冗余能力
RAID0(条带化存储) 读写速度快NN 无
RAID1(镜像化存储)读快,写没有改变偶数N/2有,可允许一个硬盘故障
RAID5读快,写会因为要多写一份纠删码数据而会影响写的性能>=3 (N-1)/N有,可允许一个硬盘故障
RAID6读快,写会因为要多写两份纠删码数据而会更影响写的性能>=4 (N-2)/N有,可允许两个硬盘故障
RAID10同时具备RAID0和RAID1的性能,读写都快>=4,偶数N/2 有,可允许不同RAID1组中各坏一个硬盘

RAID 0(条带化存储)

●RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余

●RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据

●RAID 0不能应用于数据安全性要求高的场合

RAID 1(镜像存储)
●通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据

●当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能

●RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据

RAID 5
●N(N>=3)块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储

●N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高

●(N-1)/N磁盘利用率

●可靠性高,允许坏1块盘,不影响所有数据

 RAID 6
●N(N>=4)块盘组成阵列(N-2)/N磁盘利用率

●与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块

●两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用

●相对于RAID 5有更大的“写损失”,因此写性能较差

RAID 1+0(先做镜象,再做条带)

●N(偶数,N>=4)块盘两两镜像后,再组合成一个RAID0

●N/2磁盘利用率

●N/2块盘同时写入,N块盘同时读取

●性能高,可靠性高

三、软RAID的创建和使用

1.添加硬盘,fdisk分区,分区类型ID设置为 fd

[root@bogon ~]# yum install -y mdadm
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 mdadm-4.1-9.el7_9.x86_64 已安装并且是最新版本
无须任何处理
[root@bogon ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0xe7a9083e 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@bogon ~]#[root@bogon ~]# fdisk -l        #查看是否创建好分区磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009f560设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    83886079    40893440   8e  Linux LVM磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe7a9083e设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   fd  Linux raid autodetect磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xdff5b102设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    41943039    20970496   fd  Linux raid autodetect磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x2205b8c4设备 Boot      Start         End      Blocks   Id  System
/dev/sdd1            2048    41943039    20970496   fd  Linux raid autodetect磁盘 /dev/sde:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x19fb02af设备 Boot      Start         End      Blocks   Id  System
/dev/sde1            2048    41943039    20970496   fd  Linux raid autodetect磁盘 /dev/mapper/centos-root:37.7 GB, 37706792960 字节,73646080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节磁盘 /dev/mapper/centos-swap:4160 MB, 4160749568 字节,8126464 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节[root@bogon ~]#


2.使用mdadm创建软raid

创建raid5: mdadm -Cv /dev/mdX -l5 -n3 /dev/sdXX [-x1 /dev/sdXX]

创建过程中需要一段时间,可以使用watch -n 5 'cat /proc/mdstat'进行查看

[root@bogon ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1        #-C新建raid,-v表示显示详细信息,指定md5的名称,-l5表示raid5,-n3表示使用3块硬盘,-x1表示使用1块硬盘做热备份,是sde1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20953088K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.[root@bogon ~]# cat /proc/mdstat        #查看
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]unused devices: <none>
[root@bogon ~]#

补充:创建raid10:(先做镜像,再做条带)   mdadm -Cv /dev/md0 -l1 -n2 /dev/sdXX
                                                                  mdadm -Cv /dev/md1 -l1 -n2 /dev/sdXX
                                                                  mdadm -Cv /dev/md10 -l0 -n2 /dev/md0 /dev/md1 


3.格式化      

mkfs -t xfs/ext4 /dev/mdX

[root@bogon ~]# mkfs -t xfs /dev/md5
meta-data=/dev/md5               isize=512    agcount=16, agsize=654720 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25=                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2=                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@bogon ~]#
[root@bogon ~]# mkdir /opt/xy101
[root@bogon ~]# ls /opt
rh  xy101
[root@bogon ~]#


4.挂载使用    

mount    /etc/fstab   

[root@bogon ~]# mount /dev/md5 /opt/xy101
[root@bogon ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        36G  4.7G   31G   14% /
/dev/sda1               xfs      1014M  187M  828M   19% /boot
tmpfs                   tmpfs     378M   12K  378M    1% /run/user/42
tmpfs                   tmpfs     378M     0  378M    0% /run/user/0
/dev/md5                xfs        40G   33M   40G    1% /opt/xy101
[root@bogon ~]#

5.mdadm

查看软raid的状态信息      cat /proc/mdstat         mdadm -D /dev/mdX
       
mdadm的其它选项

-f模拟指定磁盘设备故障  
 -r移除磁盘设备
-a添加磁盘设备
-S停止软raid
-As启动软raid,事先准备好 /etc/mdadm.conf 配置

创建配置文件,生成一些详细信息,追加到/etc/mdadm.conf中,包含raid5的配置文件信息,方便后面进行启动和停止的管理

[root@bogon ~]# echo 'DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1' > /etc/mdadm.conf
[root@bogon ~]# mdadm --detail --scan >> /etc/mdadm.conf
[root@bogon ~]# cat /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
ARRAY /dev/md5 metadata=1.2 spares=1 name=bogon:5 UUID=930d2b47:f89bb6be:1f7862a2:c2c933a0
[root@bogon ~]#

 当一块硬盘发生故障,另一块热备份硬盘会取代故障硬盘,恢复数据

[root@bogon ~]# cd /opt/xy101
[root@bogon xy101]# touch file{1..100}
[root@bogon xy101]# mkdir dir{101..200}
[root@bogon xy101]# ls
dir101  dir112  dir123  dir134  dir145  dir156  dir167  dir178  dir189  dir200   file18  file28  file38  file48  file58  file68  file78  file88  file98
dir102  dir113  dir124  dir135  dir146  dir157  dir168  dir179  dir190  file1    file19  file29  file39  file49  file59  file69  file79  file89  file99
dir103  dir114  dir125  dir136  dir147  dir158  dir169  dir180  dir191  file10   file2   file3   file4   file5   file6   file7   file8   file9
dir104  dir115  dir126  dir137  dir148  dir159  dir170  dir181  dir192  file100  file20  file30  file40  file50  file60  file70  file80  file90
dir105  dir116  dir127  dir138  dir149  dir160  dir171  dir182  dir193  file11   file21  file31  file41  file51  file61  file71  file81  file91
dir106  dir117  dir128  dir139  dir150  dir161  dir172  dir183  dir194  file12   file22  file32  file42  file52  file62  file72  file82  file92
dir107  dir118  dir129  dir140  dir151  dir162  dir173  dir184  dir195  file13   file23  file33  file43  file53  file63  file73  file83  file93
dir108  dir119  dir130  dir141  dir152  dir163  dir174  dir185  dir196  file14   file24  file34  file44  file54  file64  file74  file84  file94
dir109  dir120  dir131  dir142  dir153  dir164  dir175  dir186  dir197  file15   file25  file35  file45  file55  file65  file75  file85  file95
dir110  dir121  dir132  dir143  dir154  dir165  dir176  dir187  dir198  file16   file26  file36  file46  file56  file66  file76  file86  file96
dir111  dir122  dir133  dir144  dir155  dir166  dir177  dir188  dir199  file17   file27  file37  file47  file57  file67  file77  file87  file97[root@bogon xy101]# mdadm /dev/md5 -f /dev/sdc1        #停止sdc1
mdadm: set /dev/sdc1 faulty in /dev/md5
[root@bogon xy101]# mdadm -D /dev/md5        #查看硬盘状态,sde1会取代sdc1
/dev/md5:Version : 1.2Creation Time : Tue Apr 16 21:49:39 2024Raid Level : raid5Array Size : 41906176 (39.96 GiB 42.91 GB)Used Dev Size : 20953088 (19.98 GiB 21.46 GB)Raid Devices : 3Total Devices : 4Persistence : Superblock is persistentUpdate Time : Tue Apr 16 22:11:06 2024State : clean, degraded, recoveringActive Devices : 2Working Devices : 3Failed Devices : 1Spare Devices : 1Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncRebuild Status : 22% completeName : bogon:5  (local to host bogon)UUID : 930d2b47:f89bb6be:1f7862a2:c2c933a0Events : 25Number   Major   Minor   RaidDevice State0       8       17        0      active sync   /dev/sdb13       8       65        1      spare rebuilding   /dev/sde14       8       49        2      active sync   /dev/sdd11       8       33        -      faulty   /dev/sdc1
[root@bogon xy101]#[root@bogon xy101]# cat /proc/mdstat        #查看取代的过程,有进度条,需要等待一会
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3] sdc1[1](F) sdb1[0]41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U][=============>.......]  recovery = 69.6% (14600576/20953088) finish=0.5min speed=205888K/secunused devices: <none>
[root@bogon xy101]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd1[4] sde1[3] sdc1[1](F) sdb1[0]41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]unused devices: <none>
[root@bogon xy101]# mdadm -D /dev/md5
/dev/md5:Version : 1.2Creation Time : Tue Apr 16 21:49:39 2024Raid Level : raid5Array Size : 41906176 (39.96 GiB 42.91 GB)Used Dev Size : 20953088 (19.98 GiB 21.46 GB)Raid Devices : 3Total Devices : 4Persistence : Superblock is persistentUpdate Time : Tue Apr 16 22:12:32 2024State : cleanActive Devices : 3Working Devices : 3Failed Devices : 1Spare Devices : 0Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncName : bogon:5  (local to host bogon)UUID : 930d2b47:f89bb6be:1f7862a2:c2c933a0Events : 43Number   Major   Minor   RaidDevice State0       8       17        0      active sync   /dev/sdb13       8       65        1      active sync   /dev/sde14       8       49        2      active sync   /dev/sdd11       8       33        -      faulty   /dev/sdc1[root@bogon xy101]# cd /opt/xy101        #查看sde1取代sdc1之后,xy101里文件是否丢失
[root@bogon xy101]# ls
dir101  dir112  dir123  dir134  dir145  dir156  dir167  dir178  dir189  dir200   file18  file28  file38  file48  file58  file68  file78  file88  file98
dir102  dir113  dir124  dir135  dir146  dir157  dir168  dir179  dir190  file1    file19  file29  file39  file49  file59  file69  file79  file89  file99
dir103  dir114  dir125  dir136  dir147  dir158  dir169  dir180  dir191  file10   file2   file3   file4   file5   file6   file7   file8   file9
dir104  dir115  dir126  dir137  dir148  dir159  dir170  dir181  dir192  file100  file20  file30  file40  file50  file60  file70  file80  file90
dir105  dir116  dir127  dir138  dir149  dir160  dir171  dir182  dir193  file11   file21  file31  file41  file51  file61  file71  file81  file91
dir106  dir117  dir128  dir139  dir150  dir161  dir172  dir183  dir194  file12   file22  file32  file42  file52  file62  file72  file82  file92
dir107  dir118  dir129  dir140  dir151  dir162  dir173  dir184  dir195  file13   file23  file33  file43  file53  file63  file73  file83  file93
dir108  dir119  dir130  dir141  dir152  dir163  dir174  dir185  dir196  file14   file24  file34  file44  file54  file64  file74  file84  file94
dir109  dir120  dir131  dir142  dir153  dir164  dir175  dir186  dir197  file15   file25  file35  file45  file55  file65  file75  file85  file95
dir110  dir121  dir132  dir143  dir154  dir165  dir176  dir187  dir198  file16   file26  file36  file46  file56  file66  file76  file86  file96
dir111  dir122  dir133  dir144  dir155  dir166  dir177  dir188  dir199  file17   file27  file37  file47  file57  file67  file77  file87  file97
[root@bogon xy101]#[root@bogon opt]# mdadm /dev/md5 -r /dev/sdc1        #移除硬盘
mdadm: hot removed /dev/sdc1 from /dev/md5
[root@bogon opt]# mdadm /dev/md5 -a /dev/sdc1        #重新添加新硬盘
mdadm: added /dev/sdc1
[root@bogon opt]# mdadm -D /dev/md5
/dev/md5:Version : 1.2Creation Time : Tue Apr 16 21:49:39 2024Raid Level : raid5Array Size : 41906176 (39.96 GiB 42.91 GB)Used Dev Size : 20953088 (19.98 GiB 21.46 GB)Raid Devices : 3Total Devices : 4Persistence : Superblock is persistentUpdate Time : Tue Apr 16 22:29:00 2024State : cleanActive Devices : 3Working Devices : 4Failed Devices : 0Spare Devices : 1Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncName : bogon:5  (local to host bogon)UUID : 930d2b47:f89bb6be:1f7862a2:c2c933a0Events : 45Number   Major   Minor   RaidDevice State0       8       17        0      active sync   /dev/sdb13       8       65        1      active sync   /dev/sde14       8       49        2      active sync   /dev/sdd15       8       33        -      spare   /dev/sdc1
[root@bogon opt]#

停止和启动RAID(需要保证配置文件存在,且需要解挂载后才能停止)

[root@bogon opt]# ls /etc/mdadm.conf
/etc/mdadm.conf
[root@bogon opt]# cat /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
ARRAY /dev/md5 metadata=1.2 spares=1 name=bogon:5 UUID=930d2b47:f89bb6be:1f7862a2:c2c933a0
[root@bogon opt]# mdadm -S /dev/md5        #需要进行解挂载才能停止RAID
mdadm: Cannot get exclusive access to /dev/md5:Perhaps a running process, mounted filesystem or active volume group?
[root@bogon opt]# df
文件系统                   1K-块    已用     可用 已用% 挂载点
devtmpfs                 1913500       0  1913500    0% /dev
tmpfs                    1930624       0  1930624    0% /dev/shm
tmpfs                    1930624   12564  1918060    1% /run
tmpfs                    1930624       0  1930624    0% /sys/fs/cgroup
/dev/mapper/centos-root 36805060 4848536 31956524   14% /
/dev/sda1                1038336  191284   847052   19% /boot
tmpfs                     386128      12   386116    1% /run/user/42
tmpfs                     386128       0   386128    0% /run/user/0
/dev/md5                41881600   34092 41847508    1% /opt/xy101
[root@bogon opt]# umount /opt/xy101
[root@bogon opt]# df
文件系统                   1K-块    已用     可用 已用% 挂载点
devtmpfs                 1913500       0  1913500    0% /dev
tmpfs                    1930624       0  1930624    0% /dev/shm
tmpfs                    1930624   12564  1918060    1% /run
tmpfs                    1930624       0  1930624    0% /sys/fs/cgroup
/dev/mapper/centos-root 36805060 4848536 31956524   14% /
/dev/sda1                1038336  191284   847052   19% /boot
tmpfs                     386128      12   386116    1% /run/user/42
tmpfs                     386128       0   386128    0% /run/user/0
[root@bogon opt]# mdadm -S /dev/md5        #停止RAID
mdadm: stopped /dev/md5
[root@bogon opt]# ls /etc/md5
ls: 无法访问/etc/md5: 没有那个文件或目录
[root@bogon opt]#[root@bogon opt]# mdadm -As /dev/md5        #重新启动RAID
mdadm: /dev/md5 has been started with 3 drives and 1 spare.
[root@bogon opt]# ls /dev/md5
/dev/md5
[root@bogon opt]# cat /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
ARRAY /dev/md5 metadata=1.2 spares=1 name=bogon:5 UUID=930d2b47:f89bb6be:1f7862a2:c2c933a0
[root@bogon opt]#

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

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

相关文章

ubuntu安装vulnhub

文章目录 1.下载docker2.申请加速器3.安装pip4.安装docker-compose5.安装git6.安装vulnhub文件7.运行vulhub中的靶机TypeError: kwargs_from_env() got an unexpected keyword argument ssl_version报错8.tomcat-----CVE-2017-12615(任意文件上传)1.访问192.168.9.101:80802.bp…

【解读】《中华人民共和国网络安全法》:所有IT从业者都应知应懂

随着网络的快速发展&#xff0c;当今社会存在的网络安全问题也是接踵而来&#xff1a;网络入侵、网络攻击等非法活动威胁信息安全&#xff1b;非法获取公民信息、侵犯知识产权、损害公民合法利益&#xff1b;宣扬恐怖主义、极端主义&#xff0c;严重危害国家安全和社会公共利益…

彻底解决 pyshark 库 TShark not found

使用 python 运行 github 某个项目处理 pcap 包时遇到如下报错&#xff1a; &#xff08;先安装了 pyshark 库&#xff09; pyshark.tshark.tshark.TSharkNotFoundException: TShark not found. Try adding its location to the configuration file. Searched these paths: […

微博聚类文本分析和可视化

本文使用python抓取微博数据并对微博文本分析和可视化&#xff0c;LDA&#xff08;树图&#xff09;、关系图、词云、时间趋势&#xff08;折线图&#xff09;、热度地图、词典情感分析&#xff08;饼图和3D柱状图&#xff09;、词向量神经网络情感分析、tfidf聚类、词向量聚类…

前端layui自定义图标的简单使用

iconfont-阿里巴巴矢量图标库 2. 3. 4.追加新图标 5.文件复制追加新图标 如果图标不是一次性下载完成的,后续需要追加的话必须重新建立一个新文件夹然后重新引入就行

(踩坑)Please refer to 异常和Error creating bean with name 异常

一、Please refer to 异常 如图所示&#xff0c;在使用maven构建项目的时候&#xff0c;如果提示该错误&#xff0c;则可能是xml配置文件有问题或者测试类等。但是没有明确的异常信息&#xff0c;所以做以下小改动&#xff0c;可以查看异常信息。 在IDEA工具中&#xff0c;打…

数学建模--深入剖析线性规划(模型全方位解读+代码分析)

1.简介 &#xff08;1&#xff09;线性规划三要素 &#xff08;2&#xff09;模型适用赛题 2.典例讲解 &#xff08;1&#xff09;问题分析 目标函数是净收益尽可能大&#xff0c;风险尽可能小&#xff1b; 约束条件是交易费的分段函数&#xff0c;以及每一笔投资都是非负数&am…

如何使用Fiddler做弱网测试?

1、打开Fiddler工具&#xff0c;点击Rules-Customize Rules 2、打开了一个配置文件&#xff0c;ctrlF搜索Delay sends by 300ms per KB uploaded&#xff0c; 3、修改发送延迟和下载延迟的时间&#xff0c;可以修改的大一些&#xff0c;越大延迟越久&#xff0c;修改后保存 4、…

C++笔记:类和对象

类和对象 认识类和对象 先来回忆一下C语言中的类型和变量&#xff0c;类型就像是定义了数据的规则&#xff0c;而变量则是根据这些规则来实际存储数据的容器。类是我们自己定义的一种数据类型&#xff0c;而对象则是这种数据类型的一个具体实例。类就可以理解为类型&#xff0c…

TypeScript之类

一、类的定义 二、对象的创建 class Person{id:number;name:string;age:number 18;constructor(id:number,name:string){this.id id;this.name name;}introduce():string{return hello,I am ${this.name},and I am ${this.age} years old.} }let person new Person(1,zhan…

保姆级教程 | Adobe Illustrator 中插入数学符号

背景 鉴于Adobe Illustrator作为比较专业的绘图/组图软件&#xff0c;我的论文数据作图都会选择先在origin中把原始数据绘制好&#xff0c;后都放入AI中细修。由于在作图过程中需要插入数学符号&#xff0c;但仿佛没有PowerPoint用起来那么熟悉&#xff0c;遂记录下。 步骤 …

Web APP设计:将多个相近的机器学习模型融合到一个Web APP中

将多个相近的机器学习模型融合到一个Web APP中 FUSE-ML是一个用于预测腰椎融合术后效果的APP&#xff0c;它可以做出三个不同的结论&#xff0c;分别评价术后的腰痛、腿痛和日常功能是否提高。 这估计是部署了三个机器学习模型在这个APP中&#xff0c;因为一个机器学习模型仅…

xxl-job的使用!!!

采用Spring Task可以解决定时任务问题&#xff0c;那么为什么还要使用分布式呢&#xff1f;&#xff1f;&#xff1f; 原因&#xff1a;要将应用部署到多态服务器&#xff08;防止某一台服务器宕机&#xff09;&#xff0c;并且在同一时刻只有一台服务器工作&#xff0c;这就需…

【牛客SQL快速入门】SQL基础(三)

一、条件函数 IF 条件函数 IF函数是最常用到的条件函数&#xff0c;写法为 if(xn,a,b)&#xff0c;xn代表判断条件&#xff0c;如果xn时&#xff0c;那么结果返回a&#xff0c;否则返回b。 -- 把非北京大学的用户统一归为其他大学 Select device_id,if(university ‘北京大…

STM32H7的8个串口fifo收发(兼容232和485)

STM32H7的8个串口fifo收发&#xff08;兼容232和485&#xff09; 串口硬件串口时序串口高级特性同步和异步的区别单工、半双工、全双工的区别 STM32H78个串口fifo驱动定义数据结构uart_fifo.huart驱动包括中断配置等 应用示例RS485深入理解 仅供学习。 USART 的全称是 Universa…

【云计算】云数据中心网络(四):IPv6 网关

云数据中心网络&#xff08;四&#xff09;&#xff1a;IPv6 网关 1.什么是 IPv6 网关2.IPv6 网关设计思路3.IPv6 网关的主要应用场景3.1 IPv6 私网通信3.2 IPv6 互联网通信3.3 IPv6 互联网通信&#xff08;仅主动访问&#xff09; 1.什么是 IPv6 网关 2017 年&#xff0c;中国…

如何学习VBA_3.2.20:DTP与Datepicker实现日期的输入

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的劳动效率&#xff0c;而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册&#xff0c;现在已经全部完成&#xff0c;希望大家利用、学习。 如果…

316_C++_xml文件解析成map,可以放到QT表格上, 且 xml、xlsx文件可以互相解析

xml文件例如&#xff1a; <?xml version"1.0" encoding"UTF-8" standalone"yes"?> <TrTable> <tr id"0" label"TR_PB_CH" text"CH%2"/> <tr id"4" label"TR_PB_CHN"…

空间滤波器和频率域滤波器的对应

说实话&#xff0c;4.7.4的前面的图4.37我没看懂在说什么&#xff0c;但是例4.15这个我倒是看明白了。中心思想是:本来空间滤波器计算的时候需要不停地滑动模版的&#xff0c;这里把滑动用x的值代替了,但是现在不搞滑动了&#xff0c;利用傅里叶变换和卷积公式&#xff0c;只要…

软考 - 系统架构设计师 - 嵌入式真题

问题 1&#xff1a; &#xff08;1&#xff09;.HTML 静态化&#xff1a;可以实现对系统经常访问的页面进行静态化以提高系统访问的效率&#xff0c;但系统页面通常需要数据库中的用户信息和用户选择来动态显示&#xff0c;因此不适合采用。 HTML 静态化&#xff1a; 将动态生成…