redhat 7.x 、redhat 6.x查看硬碟UUID方法

来源:https://www.cnblogs.com/mylovelinux/archive/2018/09/07/9604318.html
-Advertisement-
Play Games

1、查看磁碟分區UUID: [root@rac01 ~]# blkid /dev/sdb1: UUID="6bba92c4-0b25-4cc4-9442-ca87c563720a" TYPE="xfs" /dev/sda1: UUID="21b2b922-fcb7-461f-bdc6-3bd9225 ...


1、查看磁碟分區UUID:

[root@rac01 ~]# blkid
/dev/sdb1: UUID="6bba92c4-0b25-4cc4-9442-ca87c563720a" TYPE="xfs" 
/dev/sda1: UUID="21b2b922-fcb7-461f-bdc6-3bd92259f8d7" TYPE="xfs" 
/dev/sda2: UUID="WC12Xe-0neg-Kmhp-u691-8bxn-8PpF-PuGgHH" TYPE="LVM2_member" 
/dev/mapper/rhel-root: UUID="774aa4fa-2bbe-4636-a3ce-3a8aec9cdb40" TYPE="xfs" 
/dev/mapper/rhel-swap: UUID="01075670-9314-4899-8d0f-23af11882416" TYPE="swap" 
/dev/sr0: UUID="2016-10-19-18-32-06-00" LABEL="RHEL-7.3 Server.x86_64" TYPE="iso9660" PTTYPE="dos" 
[root@rac01 ~]#

 

[root@rac01 ~]# ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx. 1 root root 10 9月   2 23:49 01075670-9314-4899-8d0f-23af11882416 -> ../../dm-1
lrwxrwxrwx. 1 root root  9 9月   3 00:04 2016-10-19-18-32-06-00 -> ../../sr0
lrwxrwxrwx. 1 root root 10 9月   2 23:49 21b2b922-fcb7-461f-bdc6-3bd92259f8d7 -> ../../sda1
lrwxrwxrwx. 1 root root 10 9月   2 23:49 6bba92c4-0b25-4cc4-9442-ca87c563720a -> ../../sdb1
lrwxrwxrwx. 1 root root 10 9月   2 23:49 774aa4fa-2bbe-4636-a3ce-3a8aec9cdb40 -> ../../dm-0
[root@rac01 ~]#

 

2、查看磁碟UUID

 

[root@rac01 ~]# lsscsi -i
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda   -
[2:0:1:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sdb   -
[4:0:0:0]    cd/dvd  NECVMWar VMware SATA CD01 1.00  /dev/sr0   -
[33:0:1:0]   disk    VMware,  VMware Virtual S 1.0   /dev/sdc   36000c29cd6841d61d151f17cfaae37c1
[33:0:2:0]   disk    VMware,  VMware Virtual S 1.0   /dev/sdd   36000c29981370abb4b6dbf6101ad8e9f
[33:0:3:0]   disk    VMware,  VMware Virtual S 1.0   /dev/sde   36000c29b71c709b99b63547534028558
[33:0:4:0]   disk    VMware,  VMware Virtual S 1.0   /dev/sdf   36000c29bbaf58c22dcb92b6f6e4c67e9
[33:0:5:0]   disk    VMware,  VMware Virtual S 1.0   /dev/sdg   36000c2942fbfb7d286d52d2e7fa5cf05
[33:0:6:0]   disk    VMware,  VMware Virtual S 1.0   /dev/sdh   36000c29ac6f46745dccdcb2e623064da
[root@rac01 ~]#

 

[root@rac01 ~]# ls -l /dev/disk/by-id
total 0
lrwxrwxrwx. 1 root root  9 9月   3 00:04 ata-VMware_Virtual_SATA_CDRW_Drive_01000000000000000001 -> ../../sr0
lrwxrwxrwx. 1 root root 10 9月   2 23:49 dm-name-rhel-root -> ../../dm-0
lrwxrwxrwx. 1 root root 10 9月   2 23:49 dm-name-rhel-swap -> ../../dm-1
lrwxrwxrwx. 1 root root 10 9月   2 23:49 dm-uuid-LVM-J1i1Vn6zXoJbfabPIPfJB0QKwuIkbSBEardSvOvgmlN05wDrG9PJHoxdW4m1RPwc -> ../../dm-0
lrwxrwxrwx. 1 root root 10 9月   2 23:49 dm-uuid-LVM-J1i1Vn6zXoJbfabPIPfJB0QKwuIkbSBEqNT9omSEi4skcnWqN8lfzMLPGqezyZhm -> ../../dm-1
lrwxrwxrwx. 1 root root 10 9月   2 23:49 lvm-pv-uuid-WC12Xe-0neg-Kmhp-u691-8bxn-8PpF-PuGgHH -> ../../sda2
lrwxrwxrwx. 1 root root  9 9月   2 23:49 scsi-36000c2942fbfb7d286d52d2e7fa5cf05 -> ../../sdg
lrwxrwxrwx. 1 root root  9 9月   2 23:49 scsi-36000c29981370abb4b6dbf6101ad8e9f -> ../../sdd
lrwxrwxrwx. 1 root root  9 9月   2 23:49 scsi-36000c29ac6f46745dccdcb2e623064da -> ../../sdh
lrwxrwxrwx. 1 root root  9 9月   2 23:49 scsi-36000c29b71c709b99b63547534028558 -> ../../sde
lrwxrwxrwx. 1 root root  9 9月   2 23:49 scsi-36000c29bbaf58c22dcb92b6f6e4c67e9 -> ../../sdf
lrwxrwxrwx. 1 root root  9 9月   2 23:49 scsi-36000c29cd6841d61d151f17cfaae37c1 -> ../../sdc
lrwxrwxrwx. 1 root root  9 9月   2 23:49 wwn-0x6000c2942fbfb7d286d52d2e7fa5cf05 -> ../../sdg
lrwxrwxrwx. 1 root root  9 9月   2 23:49 wwn-0x6000c29981370abb4b6dbf6101ad8e9f -> ../../sdd
lrwxrwxrwx. 1 root root  9 9月   2 23:49 wwn-0x6000c29ac6f46745dccdcb2e623064da -> ../../sdh
lrwxrwxrwx. 1 root root  9 9月   2 23:49 wwn-0x6000c29b71c709b99b63547534028558 -> ../../sde
lrwxrwxrwx. 1 root root  9 9月   2 23:49 wwn-0x6000c29bbaf58c22dcb92b6f6e4c67e9 -> ../../sdf
lrwxrwxrwx. 1 root root  9 9月   2 23:49 wwn-0x6000c29cd6841d61d151f17cfaae37c1 -> ../../sdc
[root@rac01 ~]#

 

使用/lib/udev/scsi_id查看磁碟UUID

[root@rac01 ~]# /lib/udev/scsi_id --help
Usage: scsi_id [OPTION...] DEVICE
SCSI device identification.
  -h --help                        Print this message
    --version                     Print version of the program
  -d --device=                     Device node for SG_IO commands
  -f --config=                     Location of config file
  -p --page=0x80|0x83|pre-spc3-83  SCSI page (0x80, 0x83, pre-spc3-83)
  -s --sg-version=3|4              Use SGv3 or SGv4
  -b --blacklisted                 Treat device as blacklisted
  -g --whitelisted                 Treat device as whitelisted
  -u --replace-whitespace          Replace all whitespace by underscores
  -v --verbose                     Verbose logging
  -x --export                      Print values as environment keys
[root@rac01 ~]#

 

命令:/lib/udev/scsi_id --whitelisted --device=/dev/sd*

[root@rac01 ~]# /lib/udev/scsi_id --whitelisted --device=/dev/sdc
36000c29cd6841d61d151f17cfaae37c1
[root@rac01 ~]# /lib/udev/scsi_id --whitelisted --device=/dev/sdd
36000c29981370abb4b6dbf6101ad8e9f
[root@rac01 ~]# /lib/udev/scsi_id --whitelisted --device=/dev/sde
36000c29b71c709b99b63547534028558
[root@rac01 ~]# /lib/udev/scsi_id --whitelisted --device=/dev/sdf
36000c29bbaf58c22dcb92b6f6e4c67e9
[root@rac01 ~]# /lib/udev/scsi_id --whitelisted --device=/dev/sdg
36000c2942fbfb7d286d52d2e7fa5cf05
[root@rac01 ~]# /lib/udev/scsi_id --whitelisted --device=/dev/sdh
36000c29ac6f46745dccdcb2e623064da
[root@rac01 ~]#

 

******************************************************************************

註:

redhat 6.x命令為:

scsi_id --whitelisted --device=/dev/sd*

******************************************************************************

 

3、使用腳本輸入磁碟UUID

符號“c d e f g h”為磁碟名

linux 7.x腳本為

[root@rac01 ~]# for i in c d e f g h; 
> do 
> echo "sd$i" "`/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i` "; 
> done
sdc 36000c29cd6841d61d151f17cfaae37c1 
sdd 36000c29981370abb4b6dbf6101ad8e9f 
sde 36000c29b71c709b99b63547534028558 
sdf 36000c29bbaf58c22dcb92b6f6e4c67e9 
sdg 36000c2942fbfb7d286d52d2e7fa5cf05 
sdh 36000c29ac6f46745dccdcb2e623064da 
[root@rac01 ~]#

 

******************************************************************************

註:

linux 6.x腳本為

> do 
> echo "sd$i" "`scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i` "; 
> done
sdc 36000c29cd6841d61d151f17cfaae37c1 
sdd 36000c29981370abb4b6dbf6101ad8e9f 
sde 36000c29b71c709b99b63547534028558 
sdf 36000c29bbaf58c22dcb92b6f6e4c67e9 
sdg 36000c2942fbfb7d286d52d2e7fa5cf05 
sdh 36000c29ac6f46745dccdcb2e623064da 
[root@rac01 ~]#

 

******************************************************************************

 

4、Oracle ASM配置

生成文件內容的腳本

 

for i in c d e f g h;
do
echo "KERNEL==\"sd*\",BUS==\"scsi\", PROGRAM==\"/lib/udev/scsi_id --whitelisted --replace-whitespace--device=/dev/\$name\", RESULT==\"`/lib/udev/scsi_id --whitelisted--replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\""     
done
 
[root@rac01 ~]# for i in c d e f g h;
> do
> echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""      
> done
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29cd6841d61d151f17cfaae37c1", NAME="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29981370abb4b6dbf6101ad8e9f", NAME="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29b71c709b99b63547534028558", NAME="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29bbaf58c22dcb92b6f6e4c67e9", NAME="asm-diskf", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c2942fbfb7d286d52d2e7fa5cf05", NAME="asm-diskg", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29ac6f46745dccdcb2e623064da", NAME="asm-diskh", OWNER="grid", GROUP="asmadmin", MODE="0660"
[root@rac01 ~]#

 

編寫/etc/udev/rules文件,添加ASM塊設備

將生成的內容保存在99-oracle-asmdevices.rules文件中。

修改磁碟名,便於識別:asm-grid1……

vim /etc/udev/rules.d/99-oracle-asmdevices.rules

linux 6.x

#linux 6.x
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29cd6841d61d151f17cfaae37c1", NAME="asm-grid1", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29981370abb4b6dbf6101ad8e9f", NAME="asm-grid2", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29b71c709b99b63547534028558", NAME="asm-dgsystem", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29bbaf58c22dcb92b6f6e4c67e9", NAME="asm-dgrecovery", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c2942fbfb7d286d52d2e7fa5cf05", NAME="asm-dgdata1", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29ac6f46745dccdcb2e623064da", NAME="asm-dgdata2", OWNER="grid", GROUP="asmadmin", MODE="0660"

 

linux7.x

#linux 7.x
KERNEL=="sdc",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id-g -u -d /dev/$name",RESULT=="36000c29cd6841d61d151f17cfaae37c1",SYMLINK+="asm-grid1",OWNER="grid",GROUP="asmadmin",MODE="0660"
 
KERNEL=="sdd",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id-g -u -d /dev/$name",RESULT=="36000c29981370abb4b6dbf6101ad8e9f",SYMLINK+="asm-grid2",OWNER="grid",GROUP="asmadmin",MODE="0660"
 
KERNEL=="sde",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id-g -u -d /dev/$name",RESULT=="36000c29b71c709b99b63547534028558",SYMLINK+="asm-dgsystem",OWNER="grid",GROUP="asmadmin",MODE="0660"
 
KERNEL=="sdf",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id-g -u -d /dev/$name",RESULT=="36000c29bbaf58c22dcb92b6f6e4c67e9",SYMLINK+="asm-dgrecovery",OWNER="grid",GROUP="asmadmin",MODE="0660"
 
KERNEL=="sdg",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id-g -u -d /dev/$name",RESULT=="36000c2942fbfb7d286d52d2e7fa5cf05",SYMLINK+="asm-dgdata1",OWNER="grid",GROUP="asmadmin",MODE="0660"
 
KERNEL=="sdh",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id-g -u -d /dev/$name",RESULT=="36000c29ac6f46745dccdcb2e623064da",SYMLINK+="asm-dgdata2",OWNER="grid",GROUP="asmadmin",MODE="0660"

 

5、重啟udev設備

/sbin/udevadm control --reload-rules

/sbin/start_udev

udevadm trigger

systemctl restartsystemd-udevd.service

[root@rac01 ~]# partprobe

[root@rac01 ~]# ll /dev/a*

crw-rw----. 1 root video 10, 175 9月   4 02:47 /dev/agpgart

lrwxrwxrwx. 1 root root        3 9月   4 02:59 /dev/asm-dgdata1 -> sdg

lrwxrwxrwx. 1 root root        3 9月   4 02:59 /dev/asm-dgdata2 -> sdh

lrwxrwxrwx. 1 root root        3 9月   4 02:59 /dev/asm-dgrecovery -> sdf

lrwxrwxrwx. 1 root root        3 9月   4 02:59 /dev/asm-dgsystem -> sde

lrwxrwxrwx. 1 root root        3 9月   4 02:59 /dev/asm-grid1 -> sdc

lrwxrwxrwx. 1 root root        3 9月   4 02:59 /dev/asm-grid2 -> sdd

crw-------. 1 root root  10, 235 9月   4 02:47 /dev/autofs

[root@rac01 ~]#

 

6、重新生成

# rm -rf /dev/asm-dgsystem 

/sbin/udevadm control --reload-rules

/sbin/start_udev

udevadm trigger

systemctl restartsystemd-udevd.service

ll /dev/a*

 

***************************************************************************************

RestartUDEV Service

Restart the UDEV service.

# #OL5
# /sbin/udevcontrol reload_rules
 
# #OL6 and OL7
# udevadm control --reload-rules
 
# #OL5 and OL6 : Not needed for OL7
# /sbin/start_udev

 

***************************************************************************************

 

 

參考:

https://oracle-base.com/articles/linux/udev-scsi-rules-configuration-in-oracle-linux

http://www.zhongweicheng.com/?p=1608


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 字元串方法如下: 列表操作如下: ...
  • 一. 文件重命名與移動(mv) 在linux中,重命名文件稱為移動(moving)。mv命令可以將文件和目錄移動到另一個位置或重新命名。 1.1 使用mv重命名 下麵在/usr/local下麵創建一個空文件為test, 使用mv命令重命名為test1, 查看inode編號和時間將會保持不變,因為mv ...
  • 第1章 NFS基本概述 1.1 什麼是nfs NFS是Network File System的縮寫及網路文件系統。 主要功能是通過區域網絡讓不同的主機系統之間可以共用文件或目錄。 NFS系統和Windows網路共用、網路驅動器類似, 只不過windows用於區域網, NFS用於企業集群架構中, 如果 ...
  • # 用了nginx for win很久,安裝也是超級簡單。# 還是用一下linux版的吧。我的是centos 6.5 x64 # 啟動 停止 退出 # 查看進程,埠 檢查運行情況 # 配置文件 nginx.conf 後續再更新更多相關應用 ...
  • 第1章 關於Sersync 1.1 什麼是實時同步 什麼是實時同步 實時同步是一種只要當前目錄觸發事件,就馬上同步到遠程的目錄 什麼是實時同步 實時同步是一種只要當前目錄觸發事件,就馬上同步到遠程的目錄 1.2 為什麼使用實時同步 保證數據的連續性(定時任務是以分鐘為單位的) 減少人力維護成本 保證 ...
  • "磨刀不費砍材工",在熟悉了MAC 和 Xcode 快捷鍵後一定可以幫助我們更快捷方便的開發程式 MAC 快捷鍵: command + Q = 退出應用程式 command + control + Eject =重啟 command + W = 關閉視窗 command + option + Eje ...
  • CDN 全稱:Content Delivery Network或Content Ddistribute Network,即內容分髮網絡,通過在網路各處放置節點伺服器所構成的在現有的互聯網基礎之上的一層智能虛擬網路,實時地根據網路流量和各節點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息,將用戶 ...
  • 雲盤鏈接 鏈接: 密碼: 通過本文無法把本文中的實驗進行成功,請聯繫作者本人,作者會錄製視頻發送給您 如果大家有比較好的技術分享平臺或者博客平臺等歡迎分享,感謝。 不得不吐槽博客園的編輯器真心用不太習慣。建議大家下載完成可以使用 typora編輯器進行閱讀。 少於150不讓發送 如果轉載請把本文鏈接 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...