디스크/블록스토리지에 임의로 쓰고 쓴 내용을 확인하려면 어떻게 해야 하나요?

디스크/블록스토리지에 임의로 쓰고 쓴 내용을 확인하려면 어떻게 해야 하나요?

예비 테스트로 가상 Linux 서버에 연결된 블록 저장 장치를 모니터링하고 그것이 어떻게 작동하는지 이해하고 싶습니다.

  1. 블록에 원하는 양의 메모리(KB 단위) 쓰기
  2. 쓰기 성공 확인(블록 액세스 가능)
  3. 올바른 양의 메모리가 기록되었는지 확인하세요.
  4. 메모리 블록 삭제
  5. 삭제된 양으로 인해 지정된 양의 공간이 확보되는지 확인

블록 저장 장치의 메모리 주소에 구체적으로 쓰는 방법은 무엇입니까? C나 Python으로 할 수 있을 것 같아요. 해당 단위가 및 에 존재한다는 것을 알 수 있지만 /dev/vdc이를 /sys/block/vdc정확히 모니터링하는 방법이 확실하지 않거나 위의 아이디어가 좋은 접근 방식인지 잘 모르겠습니다.

CentOS6/7

답변1

다음 명령을 사용하여 메모리 블록을 쓰고 읽을 수 있습니다 dd.

dd if=/dev/zero of=/dev/vdc bs=512 count=2 seek=123

/dev/vdc0을 입력으로 사용하여 블록 123 및 124에 512바이트의 2개 블록을 씁니다. 무엇이든 입력으로 사용할 수 있습니다: /dev/urandom비트 패턴을 생성하는 일부 프로세스...

다시 읽을 수 있습니다 dd. 예를 들어 다음을 사용하여 16진수로 표시합니다.

dd if=/dev/vdc bs=512 count=1 skip=123 | hexdump -C

당신은 다음과 같은 것을보아야합니다

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200

hexdump동일한 행이 병합되기 때문입니다 .

자세한 내용은 을 참조하십시오 man dd.

"메모리 블록"을 읽고 쓰는 요구 사항을 다시 생각해 볼 수도 있지만 명령줄에서 메모리를 예약하고 액세스하는 것은 쉽지 않습니다.

C나 Python으로 하고 싶다면 문의하세요.스택 오버플로, 여기는 아니야.

관련 정보