记一次古董级netapp存储更换故障硬盘全过程

1、案例背景

记一次某医院PACS存储NetApp FAS2554更换故障硬盘的过程。

这个netapp设备以前从未调试过,据客户说该设备上线也有快9年了,头一次故障硬盘。因为己经过保了,客户只是采购的硬盘,我这来免费服务了。。。

netapp调试基本全靠命令行,更换的过程中也遇到了一些麻烦,特此记录一下。

设备大概长这个样子(网上图片,现场没拍)

图片

2、更换过程

替换前,0a.00.2磁盘己经由热备盘替换,RAID-DP状态为normal,active

直接拔下该位置故障磁盘,替换为新的磁盘

检查磁盘状态


FAS2240-A> sysconfig -r          
Aggregate aggr0 (online, raid_dp) (block checksums)Plex /aggr0/plex0 (online, normal, active, pool0)RAID group /aggr0/plex0/rg0 (normal, block checksums)RAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)---------------  ------------- ---- ---- ---- ----- --------------    --------------dparity 0a.00.0 0a    0   0   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 parity  0a.00.110a    0   11  SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.4 0a    0   4   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.6 0a    0   6   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.7 0a    0   7   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.8 0a    0   8   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.9 0a    0   9   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.100a    0   10  SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.1 0a    0   1   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 Pool1 spare disks (empty)
Pool0 spare disks (empty)
Partner disks
RAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)
---------------  ------------- ---- ---- ---- ----- --------------    --------------
partner 0a.00.5 0a    0   5   SA:A   0  BSAS  7200 0/0               1695759/3472914816 
partner 0a.00.3 0a    0   3   SA:A   0  BSAS  7200 0/0               1695759/3472914816

检查所有磁盘,发现磁盘0a.00.2识别到

FAS2240-A> disk show -v  DISK       OWNER                  POOL   SERIAL NUMBER           HOME                     CHKSUM
------------ -------------          -----  -------------           -------------            ------
0a.00.0      FAS2240-A (1897445747)    Pool0  WD-WCAY01059319       FAS2240-A (1897445747)  Block
0a.00.9      FAS2240-A (1897445747)    Pool0  WD-WCAY01110442       FAS2240-A (1897445747)  Block
0a.00.11     FAS2240-A (1897445747)    Pool0  WD-WCAY01118699       FAS2240-A (1897445747)  Block
0a.00.3      FAS2240-B (1897447544)    Pool0  WD-WCAY01148720       FAS2240-B (1897447544)  Block
0a.00.5      FAS2240-B (1897447544)    Pool0  WD-WCAY01110637       FAS2240-B (1897447544)  Block
0a.00.6      FAS2240-A (1897445747)    Pool0  WD-WCAY01138268       FAS2240-A (1897445747)  Block
0a.00.8      FAS2240-A (1897445747)    Pool0  WD-WCAY01140234       FAS2240-A (1897445747)  Block
0a.00.7      FAS2240-A (1897445747)    Pool0  WD-WCAY01148812       FAS2240-A (1897445747)  Block
0a.00.10     FAS2240-A (1897445747)    Pool0  WD-WCAY01059555       FAS2240-A (1897445747)  Block
0a.00.2      FAS3250-B (2017886517)    Pool0  YGHNUAWA              FAS3250-B (2017886517)  Block
0a.00.1      FAS2240-A (1897445747)    Pool0  WD-WCAY01110728       FAS2240-A (1897445747)  Block
0a.00.4      FAS2240-A (1897445747)    Pool0  WD-WCAY01140030       FAS2240-A (1897445747)  Block

0a.00.2为后替换的磁盘,默认分配到FAS3250-B,而B控制器目前只存储系统RAID4,使用磁盘0a.00.5,0a.00.3。B控无法使用0a.00.2,需要切换该磁盘到A控制器。

进入到维护模式

FAS2240-A> priv set diag 
Warning: These diagnostic commands are for use by NetApppersonnel only.

查看disk 命令提示


FAS2240-A*> disk
usage: disk <options>
Options are:
assign {<disk_name> | all | [-T <storage type> | -shelf <shelf name>] [-n <count>] | auto} [-p <pool>] [-o <ownername>] [-s <sysid>] [-c block|zoned] [-f] - assign a disk to a filer or all unowned disks by specifying "all"  or <count> number of unowned disks
ddr_label {repair | print | delete | dumpraw | modify [-c] -o <offset> -v <value> | start_scan | pause_scan | resume_scan | error_scan | rediscover | reinit } [-f] [-d all | <disk_list>]
encrypt { lock | rekey | destroy | sanitize | show } - perform tasks specific to self-encrypting disks
fail [-i] [-f] <disk_name>  - fail a file system disk
maint { start | abort | status | list} - run maintenance tests on one or more disks
power_cycle [ -f ] { [-d <disk_list>] | [ -c <channel_name> [ -s <shelf_number> ] ] } - power-cycle one or more disks
reassign {-o <old_name> | -s <old_sysid>} [-n <new_name>] [-d <new_sysid>] - reassign disks from old filer
remove [-w] <disk_name>     - remove a spare disk
remove_ownership [<disk_name> | all | -s <sysid>] [-f] - revert/remove disk ownership
replace {start [-f] [-m] <disk_name> <spare_disk_name>} | {stop <disk_name>} - replace a file system disk with a spare disk or stop replacing
sanitize { start | abort | status | release } - sanitize one or more disks
sanown_stats {start| stop| show }- collect sanown event stats
scrub  { start | stop }     - start or stop disk scrubbing
shm_stats [<disk_name> | asup | clear_errors]     - Storage Health Monitor statistics for a disk
show [-o <ownername> | -s <sysid> | -n | -v | -a]  - lists disks and owners
simpull <disk_name1> [<disk_name2> [<disk_name3> ... ]]  - simulate one or more disk pulls
simpush [<sim_disk_path_name1> [<sim_disk_path_name2> [<sim_disk_path_name3> ...]] | -l] - simulate one or more disk pushes or list available disks to push
unfail [-s] <disk_name>     - unfail a disk  (-s  not valid in maintenance mode)
zero spares                 - Zero all spare disks

记划从控制器中删除该磁盘,失败

FAS2240-A*> disk remove_ownership 0a.00.2 
disk remove_ownership: Disk 0a.00.2 is not owned by this node.
FAS2240-A*> disk remove_ownership 0a.00.2 -f
disk remove_ownership: Disk 0a.00.2 is not owned by this node.FAS2240-A*> sysconfig        
NetApp Release 8.1.3 7-Mode: Sat Jun  8 08:11:51 PDT 2013
System ID: 1897445747 (FAS2240-A); partner ID: 1897447544 (FAS2240-B)
System Serial Number: 700001384306 (FAS2240-A)
System Rev: D1
System Storage Configuration: Single-Path HA
System ACP Connectivity: Partial Connectivity
slot 0: System BoardProcessors:         4Processor type:     Intel(R) Xeon(R) CPU           C3528  @ 1.73GHzMemory Size:        6144 MBMemory Attributes:  HoistingNormal ECCController:         A
Service Processor           Status: Online
slot 0: Internal 10/100 Ethernet Controller
e0M MAC Address:    00:a0:98:3f:8b:05 (auto-100tx-fd-up)
e0P MAC Address:    00:a0:98:3f:8b:04 (auto-100tx-fd-up)
slot 0: Quad Gigabit Ethernet Controller 82580
e0a MAC Address:    00:a0:98:3f:8b:00 (auto-100tx-fd-up)
e0b MAC Address:    00:a0:98:3f:8b:01 (auto-1000t-fd-down)
e0c MAC Address:    00:a0:98:3f:8b:02 (auto-1000t-fd-down)
e0d MAC Address:    00:a0:98:3f:8b:03 (auto-1000t-fd-down)
slot 0: Interconnect HBA:   Mellanox IB MT25204
slot 0: SAS Host Adapter 0a 12 Disks:            20345.5GB
1 shelf with IOM6E
slot 0: SAS Host Adapter 0b 
slot 0: Intel ICH USB EHCI Adapter u0a (0xdf101000)
boot0Micron Technology Real SSD eUSB 2GB, class 0/0, rev 2.00/11.10, addr 2 1936MB 512B/sect (B9F0022700107745)slot 1: Fibre Channel Target Host Adapter 1aslot 1: Fibre Channel Target Host Adapter 1b

直接接使用命令在A控上分配该磁盘失败


FAS2240-A*> disk assign 0a.00.2
disk assign: Assign failed for one or more disks in the disk list.

使用强制-f参数,分配成功


FAS2240-A*> disk assign 0a.00.2 -f
FAS2240-A*> Sun Oct 20 20:10:18 CST [FAS2240-A:raid.assim.disk.nolabels:error]: Disk 0a.00.2 Shelf 0 Bay 2 [NETAPP   X306_HMARK02TSSA 4321] S/N [YGHNUAWA] has no valid labels. It will be taken out of service to prevent possible data loss.  
Sun Oct 20 20:10:18 CST [FAS2240-A:raid.config.disk.bad.label:error]: Disk 0a.00.2 Shelf 0 Bay 2 [NETAPP   X306_HMARK02TSSA 4321] S/N [YGHNUAWA] has bad label.  
Sun Oct 20 20:10:18 CST [FAS2240-A:callhome.dsk.label:CRITICAL]: Call home for DISK BAD LABEL

分配成功后,该盘标记为坏盘


FAS2240-A*> sysconfig -r
Aggregate aggr0 (online, raid_dp) (block checksums)Plex /aggr0/plex0 (online, normal, active, pool0)RAID group /aggr0/plex0/rg0 (normal, block checksums)RAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)---------------  ------------- ---- ---- ---- ----- --------------    --------------dparity 0a.00.0 0a    0   0   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 parity  0a.00.110a    0   11  SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.4 0a    0   4   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.6 0a    0   6   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.7 0a    0   7   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.8 0a    0   8   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.9 0a    0   9   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.100a    0   10  SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.1 0a    0   1   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 Pool1 spare disks (empty)
Pool0 spare disks (empty)
Broken disksRAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)
---------------  ------------- ---- ---- ---- ----- --------------    --------------
bad label0a.00.2 0a    0   2   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 Partner disksRAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)
---------------  ------------- ---- ---- ---- ----- --------------    --------------
partner 0a.00.5 0a    0   5   SA:A   0  BSAS  7200 0/0               1695759/3472914816 
partner 0a.00.3 0a    0   3   SA:A   0  BSAS  7200 0/0               1695759/3472914816 
FAS2240-A*> disk show -vDISK       OWNER                  POOL   SERIAL NUMBER           HOME                     CHKSUM
------------ -------------          -----  -------------           -------------            ------
0a.00.0      FAS2240-A (1897445747)    Pool0  WD-WCAY01059319       FAS2240-A (1897445747)  Block
0a.00.9      FAS2240-A (1897445747)    Pool0  WD-WCAY01110442       FAS2240-A (1897445747)  Block
0a.00.11     FAS2240-A (1897445747)    Pool0  WD-WCAY01118699       FAS2240-A (1897445747)  Block
0a.00.3      FAS2240-B (1897447544)    Pool0  WD-WCAY01148720       FAS2240-B (1897447544)  Block
0a.00.5      FAS2240-B (1897447544)    Pool0  WD-WCAY01110637       FAS2240-B (1897447544)  Block
0a.00.6      FAS2240-A (1897445747)    Pool0  WD-WCAY01138268       FAS2240-A (1897445747)  Block
0a.00.8      FAS2240-A (1897445747)    Pool0  WD-WCAY01140234       FAS2240-A (1897445747)  Block
0a.00.7      FAS2240-A (1897445747)    Pool0  WD-WCAY01148812       FAS2240-A (1897445747)  Block
0a.00.10     FAS2240-A (1897445747)    Pool0  WD-WCAY01059555       FAS2240-A (1897445747)  Block
0a.00.1      FAS2240-A (1897445747)    Pool0  WD-WCAY01110728       FAS2240-A (1897445747)  Block
0a.00.4      FAS2240-A (1897445747)    Pool0  WD-WCAY01140030       FAS2240-A (1897445747)  Block
0a.00.2      FAS2240-A (1897445747)    Pool0  YGHNUAWA              FAS2240-A (1897445747)  Block
FAS2240-A*> Sun Oct 20 20:11:00 CST [FAS2240-A:monitor.globalStatus.nonCritical:warning]: Disk on adapter 0a, shelf 0, bay 2, failed.

使用命令标记该盘为正常磁盘

FAS2240-A*> disk unfail  -s 0a.00.2
disk unfail: unfailing disk 0a.00.2...
FAS2240-A*> disk show -v           DISK       OWNER                  POOL   SERIAL NUMBER           HOME                     CHKSUM
------------ -------------          -----  -------------           -------------            ------
0a.00.0      FAS2240-A (1897445747)    Pool0  WD-WCAY01059319       FAS2240-A (1897445747)  Block
0a.00.9      FAS2240-A (1897445747)    Pool0  WD-WCAY01110442       FAS2240-A (1897445747)  Block
0a.00.11     FAS2240-A (1897445747)    Pool0  WD-WCAY01118699       FAS2240-A (1897445747)  Block
0a.00.3      FAS2240-B (1897447544)    Pool0  WD-WCAY01148720       FAS2240-B (1897447544)  Block
0a.00.5      FAS2240-B (1897447544)    Pool0  WD-WCAY01110637       FAS2240-B (1897447544)  Block
0a.00.6      FAS2240-A (1897445747)    Pool0  WD-WCAY01138268       FAS2240-A (1897445747)  Block
0a.00.8      FAS2240-A (1897445747)    Pool0  WD-WCAY01140234       FAS2240-A (1897445747)  Block
0a.00.7      FAS2240-A (1897445747)    Pool0  WD-WCAY01148812       FAS2240-A (1897445747)  Block
0a.00.10     FAS2240-A (1897445747)    Pool0  WD-WCAY01059555       FAS2240-A (1897445747)  Block
0a.00.1      FAS2240-A (1897445747)    Pool0  WD-WCAY01110728       FAS2240-A (1897445747)  Block
0a.00.4      FAS2240-A (1897445747)    Pool0  WD-WCAY01140030       FAS2240-A (1897445747)  Block
0a.00.2      FAS2240-A (1897445747)    Pool0  YGHNUAWA              FAS2240-A (1897445747)  Block
FAS2240-A*> sysconfig -r           
Aggregate aggr0 (online, raid_dp) (block checksums)Plex /aggr0/plex0 (online, normal, active, pool0)RAID group /aggr0/plex0/rg0 (normal, block checksums)RAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)---------------  ------------- ---- ---- ---- ----- --------------    --------------dparity 0a.00.0 0a    0   0   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 parity  0a.00.110a    0   11  SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.4 0a    0   4   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.6 0a    0   6   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.7 0a    0   7   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.8 0a    0   8   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.9 0a    0   9   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.100a    0   10  SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.1 0a    0   1   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 Pool1 spare disks (empty)
Pool0 spare disksRAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)
---------------  ------------- ---- ---- ---- ----- --------------    --------------
Spare disks for block checksum
spare   0a.00.2 0a    0   2   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 (not zeroed)Partner disksRAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)
---------------  ------------- ---- ---- ---- ----- --------------    --------------
partner 0a.00.5 0a    0   5   SA:A   0  BSAS  7200 0/0               1695759/3472914816 
partner 0a.00.3 0a    0   3   SA:A   0  BSAS  7200 0/0               1695759/3472914816 
FAS2240-A*> aggr status -sPool1 spare disks (empty)Pool0 spare disksRAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)
---------------  ------------- ---- ---- ---- ----- --------------    --------------
Spare disks for block checksum
spare   0a.00.2 0a    0   2   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 (not zeroed)
FAS2240-A*> vol status -sPool1 spare disks (empty)Pool0 spare disksRAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)
---------------  ------------- ---- ---- ---- ----- --------------    --------------
Spare disks for block checksum
spare   0a.00.2 0a    0   2   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 (not zeroed)

热备盘为not zeroed,重新格式化该磁盘


FAS2240-A*> disk zero spares

执行命令查看格式化进度,直至格式化完毕

FAS2240-A*> vol status -s   
Pool1 spare disks (empty)
Pool0 spare disksRAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)
---------------  ------------- ---- ---- ---- ----- --------------    --------------
Spare disks for block checksum
spare   0a.00.2 0a    0   2   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 (zeroing, 0% done)FAS2240-A*> vol status -sPool1 spare disks (empty)Pool0 spare disksRAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)
---------------  ------------- ---- ---- ---- ----- --------------    --------------
Spare disks for block checksum
spare   0a.00.2 0a    0   2   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 (zeroing, 8% done)FAS2240-A*> vol status -sPool1 spare disks (empty)Pool0 spare disksRAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)
---------------  ------------- ---- ---- ---- ----- --------------    --------------
Spare disks for block checksum
spare   0a.00.2 0a    0   2   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 (zeroing, 11% done)FAS2240-A> vol status -sPool1 spare disks (empty)Pool0 spare disksRAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)
---------------  ------------- ---- ---- ---- ----- --------------    --------------
Spare disks for block checksum
spare   0a.00.2 0a    0   2   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 
FAS2240-A> sysconfig -r
Aggregate aggr0 (online, raid_dp) (block checksums)Plex /aggr0/plex0 (online, normal, active, pool0)RAID group /aggr0/plex0/rg0 (normal, block checksums)RAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)---------------  ------------- ---- ---- ---- ----- --------------    --------------dparity 0a.00.0 0a    0   0   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 parity  0a.00.110a    0   11  SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.4 0a    0   4   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.6 0a    0   6   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.7 0a    0   7   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.8 0a    0   8   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.9 0a    0   9   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.100a    0   10  SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 data    0a.00.1 0a    0   1   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 Pool1 spare disks (empty)Pool0 spare disksRAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)
---------------  ------------- ---- ---- ---- ----- --------------    --------------
Spare disks for block checksum
spare   0a.00.2 0a    0   2   SA:A   0  BSAS  7200 1695466/3472315904 1695759/3472914816 Partner disksRAID DiskDevice  HA  SHELF BAY CHAN Pool Type  RPM  Used (MB/blks)    Phys (MB/blks)
---------------  ------------- ---- ---- ---- ----- --------------    --------------
partner 0a.00.5 0a    0   5   SA:A   0  BSAS  7200 0/0               1695759/3472914816 
partner 0a.00.3 0a    0   3   SA:A   0  BSAS  7200 0/0               1695759/3472914816 

到这里,全流程更换完毕!

也欢迎关注我的公众号【徐sir的IT之路】,一起学习————————————————————————————
公众号:徐sir的IT之路
CSDN :https://blog.csdn.net/xxddxhyz?type=blog
墨天轮:https://www.modb.pro/u/3605
PGFANS:https://www.pgfans.cn/user/home?userId=5568————————————————————————————

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

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

相关文章

LeetCode 110.平衡二叉树(Java/C/Python3/Go实现含注释说明,Easy)

标签 树深度优先搜索递归 题目描述 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡的二叉树定义为&#xff1a; 一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。 原题&#xff1a;LeetCode 110.平衡二叉树 思路及…

『跨端框架』Flutter环境搭建

『跨端框架』Flutter环境搭建 资源网站简介跨平台高性能发展历程跨平台框架的比较成功案例 环境搭建&#xff08;windows&#xff09;基础环境搭建Windows下的安卓环境搭建Mac下的安卓环境配置资源镜像JDKAndroid StudioFlutter SDK问题一问题二问题三修改项目中的Flutter版本 …

Android14之解决报错:libncurses.so.5与libtinfo.so.5缺少问题(二百零九)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

【数据库主从架构】

【数据库主从架构】 1. 什么是数据库的主从架构1.1 主从复制1.1.1 MySQL的主从主从复制技术三级目录 1. 什么是数据库的主从架构 随着公司业务线的增多&#xff0c;各种数据都在迅速增加&#xff0c;并且数据的读取流量也大大增加&#xff0c;就面临着数据安全问题&#xff0c;…

Spring Boot | Spring Security ( SpringBoot安全管理 )、Spring Security中 的 “自定义用户认证“

目录 : Spring Boot 安全管理 &#xff1a;一、Spring Security 介绍二、Spring Security 快速入门2.1 基础环境搭建 :① 创建Spring Boot 项目② 创建 html资源文件③ 编写Web控制层 2.2 开启安全管理效果测试 :④ 添加 spring-boot-starter-security 启动器⑤ 项目启动测试 三…

Vue Cli脚手架—安装Nodejs和Vue Cli

一&#xff0c;Vue Cli 文档地址: https://cli.vuejs.org/zh/ 二&#xff0c;.环境配置&#xff0c;搭建项目 1.安装node.js 2.下载 node.js10.16.3 地址: https://nodejs.org/en/blog/release/v10.16.3/ 3.安装 node.js10.16.3 , 直接下一步即可, 安装到 d:\program\nodejs…

【kettle006】kettle访问华为openGauss高斯数据库并处理数据至execl文件

1.一直以来想写下基于kettle的系列文章&#xff0c;作为较火的数据ETL工具&#xff0c;也是日常项目开发中常用的一款工具&#xff0c;最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下华为openGauss高斯数据库相关知识体系 3.欢迎批评指正&#xff0c;跪谢…

浅论汽车研发项目数字化管理之道

随着汽车行业竞争不断加剧&#xff0c;汽车厂商能否快速、高质地推出贴合市场需求的新车型已经成为车企竞争的重要手段&#xff0c;而汽车研发具备流程复杂、专业领域多、协作难度大、质量要求高等特点&#xff0c;企业如果缺少科学健全的项目管理体系&#xff0c;将会在汽车研…

低空经济+飞行汽车:eVTOL技术详解

低空经济是以各种有人驾驶和无人驾驶航空器的各类低空飞行活动为牵引&#xff0c;辐射带动相关领域融合发展的综合性经济形态。它广泛体现于第一、第二、第三产业之中&#xff0c;在促进经济发展、加强社会保障、服务国防事业等方面发挥着日益重要的作用。 飞行汽车&#xff0c…

SpringBoot配置HTTPS及开发调试

前言 在实际开发过程中&#xff0c;如果后端需要启用https访问&#xff0c;通常项目启动后配置nginx代理再配置https&#xff0c;前端调用时高版本的chrome还会因为证书未信任导致调用失败&#xff0c;通过摸索整理一套开发调试下的https方案&#xff0c;特此分享 后端配置 …

“酒店涨价?火车票难求?看‘房贷自由族’如何玩转最燃五一“

今年五一&#xff0c;很可能是近几年旅游最疯狂的一年——虽然酒店价格狂飙好几倍&#xff0c;也抢不到火车票&#xff0c;人们却依然有着疯狂的出游和消费欲望。 ​最直接的原因大概是很多人离开了房贷&#xff0c;活明白了吧。就拿我身边的一些房奴们来说&#xff0c;已经陆…

大数据面试题 —— Spark数据倾斜及其解决方案

目录 1 调优概述2 数据倾斜发生时的现象3 数据倾斜发生的原理4 如何定位导致数据倾斜的代码4.1 某个 task 执行特别慢的情况4.2 某个 task 莫名其妙内存溢出的情况5 查看导致数据倾斜的 key 的数据分布情况6 数据倾斜的解决方案6.1 使用 Hive ETL 预处理数据6.2 过滤少数导致倾…

【Java EE】Mybatis之XML详解

文章目录 &#x1f38d;配置数据库连接和MyBatis&#x1f340;写持久层代码&#x1f338;添加mapper接口&#x1f338;添加UserInfoXMLMapper.xml&#x1f338;单元测试 &#x1f332;CRUD&#x1f338;增(Insert)&#x1f338;删(Delete)&#x1f338;改(Update)&#x1f338;…

GaussDB数据库事务管理

一、引言 事务管理是数据库系统中至关重要的一部分&#xff0c;它确保了数据库的一致性和可靠性。在GaussDB数据库中&#xff0c;事务管理不仅遵循传统的ACID特性&#xff0c;还提供了一些高级功能。本文将深入探讨GaussDB数据库事务管理的各个方面。 二、事务的基本概念 2.1…

es环境安装及php对接使用

Elasticsearch Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它提供了一个分布式多用户能力的全文搜索引擎&#xff0c;基于RESTful web接口。Elasticsearch是用Java语言开发的&#xff0c;并作为Apache许可条款下的开放源码发布&#xff0c;是一种流行的…

【小沐学Java】VSCode搭建Java开发环境

文章目录 1、简介2、安装VSCode2.1 简介2.2 安装 3、安装Java SDK3.1 简介3.2 安装3.3 配置 4、安装插件Java Extension Pack4.1 简介4.2 安装4.3 配置 结语 1、简介 2、安装VSCode 2.1 简介 Visual Studio Code 是一个轻量级但功能强大的源代码编辑器&#xff0c;可在桌面上…

FP16、BF16、INT8、INT4精度模型加载所需显存以及硬件适配的分析

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

让抖音引流更简单,利用自动评论引流策略

在当前的社会环境中&#xff0c;抖音已经成为了许多人日常生活中不可或缺的一部分。无论是年轻人还是中老年人&#xff0c;都对抖音充满了热情。然而&#xff0c;对于一些想要通过抖音变现的人来说&#xff0c;他们可能会感到困惑&#xff0c;不知道如何操作。今天&#xff0c;…

rust疑难杂症

rust疑难杂症解决 边碰到边记录&#xff0c;后续可能会逐步增加&#xff0c;备查 cargo build时碰到 Blocking waiting for file lock on package cache 原因是Cargo 无法获取对包缓存的文件锁&#xff0c; 有时vscode中项目比较多&#xff0c;如果其中某些库应用有问题&…

nginx--自定义日志跳转长连接文件缓存状态页

自定义日志服务 [rootlocalhost ~]# cat /apps/nginx/conf/conf.d/pc.conf server {listen 80;server_name www.fxq.com;error_log /data/nginx/logs/fxq-error.log info;access_log /data/nginx/logs/fxq-access.log main;location / {root /data/nginx/html/pc;index index…