시작하기
기본 개념
파일 전송 전후의 해시값을 비교해 원본과 동일한 상태로 도착했는지 확인하기
파일을 다른 서버나 스토리지로 전송한 경우 전송이 완료되었다는 상태만으로 파일 내용까지 정상적으로 유지되었는지 확인해야 할 수 있습니다.
예를 들어 대용량 데이터, 백업 파일이나 중요 결과 파일을 전송한 뒤 대상 시스템에 파일이 생성되었더라도, 원본과 대상 파일의 내용이 동일한지와 전송 과정에서 파일이 변경되거나 손상되지 않았는지 별도로 확인해야 할 수 있습니다.
해시값은 파일 내용을 기준으로 계산되는 값으로, 동일한 파일을 같은 방식으로 계산하면 같은 해시값을 얻을 수 있습니다. 따라서 원본 파일과 전송이 완료된 대상 파일의 해시값을 비교해 두 파일이 동일한 상태인지 확인할 수 있습니다.
하지만 파일 전송이 완료된 뒤 원본과 대상 시스템에서 각각 해시값을 계산하고 결과를 직접 비교하면 전송 작업과 검증 작업을 별도로 실행해야 하며, 여러 파일을 처리하는 경우 파일별 검증 결과도 각각 확인해야 할 수 있습니다.
INNORIX Flow를 활용하면 파일 전송 결과와 연결해 원본 파일과 대상 파일의 해시값을 자동으로 계산하고 비교하는 검증 흐름을 구성할 수 있습니다.
즉, 단순히 파일이 Target에 도착했는지만 확인하는 대신 원본 파일 확인 → 해시값 계산 → 파일 전송 → 대상 파일 확인 → 해시값 계산 → 비교 결과 확인까지 이어지는 방식으로 파일 무결성을 확인할 수 있습니다.
Original File
│
▼
Hash Calculation
SHA-256
│
▼
Original Hash
│
│ File Transfer
▼
Destination File
│
▼
Hash Calculation
SHA-256
│
▼
Destination Hash
│
▼
Hash Comparison
│
┌────┴─────┐
▼ ▼
Match Mismatch
│ │
▼ ▼
Verified Review
해시값 검증은 파일 전송과 별개의 수동 확인 작업으로 처리하는 대신, 전송 결과에 따라 파일별 무결성 검증을 이어서 실행하고 동일 여부를 확인하는 방식으로 구성할 수 있습니다.
예를 들어 하나의 대용량 파일뿐 아니라 여러 파일을 동시에 전송하는 경우에도 각 파일의 검증 결과를 함께 확인해 정상적으로 일치한 파일과 추가 확인이 필요한 파일을 구분할 수 있습니다.
| 검증 결과 | 확인 내용 |
|---|---|
| Match | 원본과 대상 파일의 해시값이 동일한 상태 |
| Mismatch | 해시값이 일치하지 않아 추가 확인이 필요한 상태 |
| Verification Complete | 전송과 파일 검증이 모두 완료된 상태 |
| Review Required | 파일 또는 전송 결과를 추가로 확인해야 하는 상태 |
이렇게 구성하면 파일 전송 → 대상 파일 확인 → 해시값 계산 → 원본과 비교 → 검증 결과 확인까지 이어지는 파일 무결성 확인 과정을 하나의 Flow에서 연결할 수 있습니다.
검증 흐름
파일 전송 완료 후 자동으로 무결성 확인까지 이어가기
해시 검증은 전송 전에 한 번, 전송 후에 다시 한 번 확인하는 구조로 구성할 수 있습니다.
원본 파일의 해시값을 기준값으로 사용하고, 대상에 반영된 파일의 해시값과 비교합니다.
| 단계 | 처리 내용 | 결과 |
|---|---|---|
| 원본 확인 | 전송할 파일 확인 | 검증 대상 결정 |
| 기준값 생성 | 원본 파일 해시 계산 | 기준 해시값 생성 |
| 파일 전송 | Source에서 Target으로 전송 | 대상 파일 생성 |
| 대상 확인 | 도착 파일 해시 계산 | 비교값 생성 |
| 값 비교 | 원본과 대상 해시 비교 | 동일 여부 확인 |
| 결과 기록 | 검증 결과 저장 | 완료 또는 확인 필요 |
원본 파일
│
▼
기준 해시값 생성
│
▼
파일 전송
│
▼
대상 파일 반영
│
▼
대상 해시값 생성
│
▼
원본 ↔ 대상 비교
│
┌─┴────────────┐
│ │
▼ ▼
검증 완료 불일치 확인
│
▼
원인 확인
이 흐름을 통해 파일 전송의 완료 여부뿐 아니라 실제 파일 내용이 동일한지까지 확인할 수 있습니다.
적용 범위
중요도와 파일 특성에 따라 필요한 전송에 검증 적용하기
모든 파일에 동일한 수준의 검증을 적용할 필요는 없습니다.
대용량 데이터, DB 백업, 미디어 원본, 배포 파일처럼 파일 손상 여부가 이후 작업에 영향을 줄 수 있는 경우에는 전송 작업과 함께 해시 검증을 연결할 수 있습니다.
전송 대상
│
├── 일반 업무 파일
│ └── 전송 결과 확인
│
├── DB 백업
│ └── 전송 + 해시 검증
│
├── 배포 파일
│ └── 전송 + 해시 검증
│
└── 대용량 원본
└── 전송 + 해시 검증
예를 들어 다음과 같은 환경에 적용할 수 있습니다.
| 파일 유형 | 해시 검증 활용 |
|---|---|
| DB 백업 | 원격 보관 파일의 무결성 확인 |
| 소프트웨어 배포 파일 | 대상 서버의 파일 동일 여부 확인 |
| 미디어 원본 | 대용량 파일 전송 결과 확인 |
| 데이터 아카이브 | 장기 보관 전 파일 상태 확인 |
| 중요 업무 자료 | 전송 중 변경 또는 손상 여부 확인 |
IT 엔지니어
검증 기준
파일 특성에 맞는 해시 방식과 검증 범위 구성하기
먼저 어떤 파일을 검증할지와 어떤 방식으로 해시값을 비교할지 설정합니다.
전송 환경에 따라 모든 파일을 검증하거나, 특정 경로·확장자·용량 이상의 파일만 검증 대상으로 지정할 수 있습니다.
예를 들어 다음과 같이 검증 범위를 구성할 수 있습니다.
Source Path
/data/backup
│
▼
File Filter
*.sql
*.dump
*.tar
│
▼
Hash Verification
│
├── SHA-256
│
└── Selected Files
검증 기준에서는 다음 항목을 함께 구성할 수 있습니다.
| 설정 항목 | 구성 내용 |
|---|---|
| 검증 대상 | 전체 파일 또는 지정된 파일 |
| 파일 조건 | 경로, 이름, 확장자 |
| 해시 방식 | 동일한 기준으로 계산할 알고리즘 |
| 검증 시점 | 전송 전, 전송 후 또는 완료 시 |
| 결과 처리 | 일치·불일치에 따른 다음 작업 |
이렇게 하면 일반 파일 전송과 무결성 검증이 분리된 별도 작업이 아니라, 특정 파일 전송에 필요한 검증 조건으로 함께 적용할 수 있습니다.
기준 생성
원본 파일의 해시값을 검증 기준으로 기록하기
검증이 시작되면 먼저 Source에 있는 원본 파일의 해시값을 계산합니다.
이 값은 대상 파일과 비교할 기준이 됩니다.
Source
/backup
│
├── db_01.dump
│ │
│ ▼
│ SHA-256
│ │
│ ▼
│ 8F3A...C21
│
└── db_02.dump
│
▼
SHA-256
│
▼
A71D...E09
여러 파일을 한 번에 전송하는 경우에는 각 파일의 기준값을 각각 생성해 대상 파일과 비교할 수 있습니다.
따라서 전체 전송 작업이 완료된 경우에도 특정 파일만 별도로 확인해야 하는 상황을 구분할 수 있습니다.
검증 연결
파일 전송 완료와 해시 비교 작업을 하나의 Flow로 구성하기
원본 해시값이 준비되면 파일 전송을 실행하고, 대상 파일이 반영된 후 검증 작업을 이어서 실행합니다.
이때 해시 검증은 독립적인 확인 작업으로 구성할 수도 있고, 전송 완료 후 자동으로 실행되는 후속 단계로 연결할 수도 있습니다.
┌───────────────┐
│ Source File │
└───────┬───────┘
│
▼
┌───────────────┐
│ Generate Hash │
└───────┬───────┘
│
▼
┌───────────────┐
│ File Transfer │
└───────┬───────┘
│
▼
┌───────────────┐
│ Target File │
└───────┬───────┘
│
▼
┌───────────────┐
│ Verify Hash │
└───────────────┘
이 구조는 다음과 같이 활용할 수 있습니다.
백업 파일 전송 후 원격 보관 상태 검증
배포 파일을 여러 서버에 전송한 뒤 대상별 무결성 확인
대용량 데이터 전송 완료 후 파일별 체크섬 비교
장기 보관 전 원본과 저장 파일의 동일 여부 확인
결과 비교
파일별 해시값과 전체 검증 결과 함께 확인하기
전송과 검증이 완료되면 Runs에서 전체 실행 결과를 확인할 수 있습니다.
검증 결과는 단순히 전송 성공 여부와 함께 표시하는 것이 아니라, 파일별 해시값 비교 결과를 기준으로 확인할 수 있습니다.
Verification Run
┌──────────────────────────────────┐
│ File Verification │
├──────────────────────────────────┤
│ db_01.dump ✓ Match │
│ db_02.dump ✓ Match │
│ archive_01.tar ✓ Match │
│ backup_03.dump ! Mismatch │
└──────────────────────────────────┘
확인 결과는 다음과 같이 구분할 수 있습니다.
| 결과 | 의미 | 다음 처리 |
|---|---|---|
| Match | 원본과 대상 파일이 동일 | 검증 완료 |
| Mismatch | 해시값이 서로 다름 | 파일 상태 확인 |
| Verification Failed | 검증 작업 자체를 완료하지 못함 | 환경 확인 |
| Pending | 검증 대기 상태 | 작업 진행 확인 |
이렇게 하면 전송 작업이 완료되었더라도 실제 파일 검증이 끝나지 않은 상태를 구분할 수 있습니다.
불일치 대응
해시값이 다른 파일만 확인하고 필요한 작업 다시 실행하기
원본과 대상의 해시값이 다르면 해당 파일의 전송 상태와 Source·Target 환경을 확인합니다.
여러 파일 중 일부만 문제가 발생한 경우 전체 작업을 다시 처리하기보다, 검증에 실패한 파일을 중심으로 원인을 확인하고 필요한 작업을 다시 실행할 수 있습니다.
Hash Mismatch
│
▼
파일별 결과 확인
│
├── Source File
│
├── Target File
│
├── Transfer Result
│
└── Hash Value
│
▼
원인 확인
│
▼
Retry
│
▼
Hash Recheck
│
┌────┴────┐
▼ ▼
Match Mismatch
│
▼
Verified
불일치가 발생한 경우 다음 항목을 중심으로 확인할 수 있습니다.
| 확인 항목 | 확인 내용 | 대응 |
|---|---|---|
| 원본 파일 | 파일 변경 여부 | 기준값 다시 생성 |
| 대상 파일 | 정상적으로 반영되었는지 | 파일 상태 확인 |
| 전송 기록 | 전송 과정의 오류 여부 | Run 상세 확인 |
| 저장 경로 | 다른 파일과 비교되지 않았는지 | Target 경로 확인 |
| 검증 방식 | 동일한 기준으로 계산되었는지 | 해시 설정 확인 |
이 레시피를 적용하면 원본 파일 확인 → 해시값 생성 → 파일 전송 → 대상 파일 확인 → 체크섬 비교 → 파일별 검증 결과 기록 → 불일치 파일 재확인까지 하나의 자동화 흐름으로 연결할 수 있습니다.
즉, 파일이 단순히 대상 시스템에 도착했는지만 확인하는 것이 아니라, 원본과 동일한 상태로 정상적으로 반영되었는지까지 자동으로 검증하는 파일 전송 환경을 구성할 수 있습니다.