블록 장치가 이전에 연결된 블록 장치와 동일한지 어떻게 알 수 있나요?

블록 장치가 이전에 연결된 블록 장치와 동일한지 어떻게 알 수 있나요?

블록 장치가 있습니다. 시스템에서 제거되었다가 나중에 다시 추가되었습니다. 정확히 동일한 장치인지 어떻게 확인하나요?

장치는 항상 대용량 저장 장치입니다(쓸 생각은 없고 읽기 전용으로만 마운트됩니다).

md5sum두 장치를 동시에 사용하여 해시가 일치하는지 확인할 수 있지만 대용량 저장 장치에서는 시간이 많이 걸립니다.

더 빠른 방법이 있나요?

답변1

의 출력에는 fdisk -l $device"Disk Identifier:"로 시작하는 줄이 포함됩니다. 여기에는 일반적으로 장치에 고유하고 지속적인 장치의 일부 세부 정보가 포함되어 있습니다. 삽화:

# fdisk -l /dev/sda | grep 'Disk identifier:'

답변2

장치 UUID를 사용할 수 있습니다. lsblk -f또는 blkid.

UUID는 설정(사용 tune2fs)할 수 있지만 대부분의 사용 사례에서 충분히 고유해야 합니다.

답변3

하드코딩된 고유(?) ID

대부분의 대용량 저장 장치(모두는 아닐 수도 있음)에는 하드코딩된 고유 ID가 있으며, 이는 /dev/disk/by-id. 다음 명령줄은 이 ID를 표시합니다.

sudo ls -l /dev/disk/by-id|grep -v '[1-9]$'|tr -s ' ' '\t'|cut -f 9- | sed 's#../../#/dev/#'

그리고 그것이 나타내는 블록 장치 ' -> /dev/sdx' 를 표시합니다.

예(업무용 컴퓨터에 3개의 USB 플래시 드라이브가 연결되어 있습니다),

$ sudo ls -l /dev/disk/by-id|grep -v '[1-9]$'|tr -s ' ' '\t'|cut -f 9- | sed 's#../../#/dev/#'

ata-HL-DT-STDVD+-RW_GSA-H21L    ->  /dev/sr0
ata-KINGSTON_SKC300S37A120G_50026B724703BCA8    ->  /dev/sda
ata-WDC_WD4002FYYZ-01B7CB1_K3GWHAEB ->  /dev/sdb
usb-Corsair_Voyager_GT_3.0_070883862E1B9719-0:0 ->  /dev/sdc
usb-SanDisk_Cruzer_Blade_200429068118E7C2CFFD-0:0   ->  /dev/sde
usb-SanDisk_Cruzer_Blade_200429068118F440A09E-0:0   ->  /dev/sdd
wwn-0x5000cca25ccc7f97  ->  /dev/sdb
wwn-0x50026b724703bca8  ->  /dev/sda

파일 시스템 UUID

파일 시스템이 포함된 파티션이 있는 경우 각 파일 시스템에는 UUID도 있습니다. UUID는 일반적으로 고유하지만 항상 고유하지는 않습니다. 이는 개별적으로 생성되었는지 일부 공통 원본 파일 시스템이나 이미지 파일에서 복제되었는지 여부에 따라 다릅니다. UUID는 blkid다음 lsblk명령줄을 통해 표시할 수 있습니다.

lsblk -l -o name,size,UUID,model

예(업무용 컴퓨터에 3개의 USB 플래시 드라이브가 연결되어 있습니다),

$ lsblk -l -o name,size,UUID,model
NAME   SIZE UUID                                 MODEL
sda  111,8G                                      KINGSTON SKC300S
sda1 106,9G 0ac1cb43-1609-4fc3-8c69-3e21299729bc 
sda2     5G 6d54c49d-31ac-45fe-917c-2335bcfe7399 
sdb    3,7T                                      WDC WD4002FYYZ-0
sdb1   510M 9F05-5B18                            
sdb2     5G 08b7164f-8852-451b-9624-63b16a66359a 
sdb3    10G fa242ddd-90f8-4603-af5c-c89f4b71ac70 
sdb4    15G 491a6a2b-4867-44d5-94d8-082f79066a5a 
sdb5     1M                                      
sdb6   100G 44156f43-0958-4ea1-800d-b02afbc7d306 
sdb7   3,5T 862210fd-a6fd-4fe3-913c-e18e1448ef36 
sdb8     5G 6958d86a-57a9-4e40-8376-1e41258e5810 
sdc   29,5G                                      Voyager GT 3.0  
sdc1   9,1G 38028BF9184E3FB4                     
sdc2     1M                                      
sdc3   244M 4299-B748                            
sdc4   1,8G 2018-04-26-18-43-51-00               
sdc5  18,4G 033ffb75-518d-4335-89cb-ef7d159cf20b 
sdd    3,7G 2016-08-24-07-06-03-00               Cruzer Blade    
sdd1   1,3G 2016-08-24-07-06-03-00               
sde    3,7G 2016-07-19-21-27-51-00               Cruzer Blade    
sde1   1,4G 2016-07-19-21-27-51-00               
sde2   2,3M 0F7B-9366                            
sr0   1024M                                      DVD+-RW GSA-H21L

이러한 방법은 빠른 수동 확인 후 연결된 대용량 저장 장치를 식별하는 데 도움이 되었습니다.

하드코딩된 ID 및/또는 UUID를 자동으로 사용할 수 있습니다. 예를 들어, 보유하고 있는 각 대용량 저장 장치에 해당하는 md5sum을 생성하고 일치 여부를 확인할 수 있는 쉘 스크립트의 변수에 md5sum을 저장할 수 있습니다.

관련 정보