한 서버의 디스크가 두 번째 서버(공유 디스크)의 디스크와 동일한지 확인하는 방법을 알고 싶습니다.
이 길이 맞는 걸까요? (메이저: 마이너 번호 비교)
서버 01:
[root@server01 ~]# ls -l /dev/dm-90
brw-rw----. 1 root disk 253, 90 Apr 10 03:41 /dev/dm-90
[root@server01 ~]#
서버 02:
[root@server02 ~]# ls -l /dev/dm-90
brw-rw---- 1 root disk 253, 90 Apr 10 04:09 /dev/dm-90
[root@server02 ~]#
답변1
IMHO - 아니요, 주요 장치 번호는 괜찮습니다. 장치 유형을 제공하지만(커널에 정의된 드라이버 수에 따라) 부 장치 번호는 해당 유형의 장치 수에 따라 다를 수 있습니다. 특정 서버에 있습니다. 그래서 그들은 다를 수 있습니다.
각 서버의 처음 1MB의 해시를 비교해 볼 수 있습니다.
dd if=/dev/dm-90 bs=512 count=2048|sha1sum
그러나 이러한 디스크가 매우 "동적"(많은 쓰기 작업)인 경우 잘못된 결과가 나타날 수 있습니다.
이러한 디스크에 파일 시스템이 있고 마운트된 경우 또 다른 가능한 접근 방식은 한 번에 하나의 파일을 생성하는 것입니다.
dd if=/dev/urandom of=/mount/point/of/disk/1MBfile bs=512 count=2048
그런 다음 두 서버의 파일 해시를 비교합니다.
sha1sum /mount/point/of/disk/1MBfile
답변2
메이저/마이너 번호는 비영구적이며 운영 체제에 의해 로컬로 동적으로 할당됩니다.확실히 적합하지 않아요서버 전체에서 디스크를 식별하는 데 사용됩니다.
더 나은 해결책은 디스크 일련 번호, 디스크 WWID(사용 가능한 경우), 디스크가 파일 시스템, 파일 시스템 UUID(또는 이와 동등한 것)로 초기화되었는지 여부 등 디스크 자체의 고유한 특성을 확인하는 것입니다.
최신 Linux 시스템의 경우:
lsblk -o +MODEL,SERIAL,WWN,UUID
대부분의 디스크 유형에 대해 합리적으로 강한 확신을 가질 수 있도록 충분한 정보가 표시되어야 합니다.
디스크/LUN이 실제로 동일하지 않고 원본 디스크의 스토리지 시스템 수준 스냅샷 또는 복제본일 수 있으므로 파일 시스템 UUID만으로는 충분하지 않습니다.
공유 디스크가 다중 경로인 경우 device-mapper-multipath 도구에 표시된 WWID는 multipath -ll
스토리지 시스템 LUN을 식별하는 좋은 방법이기도 합니다.
(내가 이해한 바에 따르면 WWID는 어떤 디스크 장치가 실제로 동일한 LUN에 대한 중복 경로인지, 다른 LUN인지 식별하는 장치 매퍼 다중 경로의 기본 방법입니다.)