디스크/블록 스토리지에 임의로 쓰고 쓰기가 어떻게 진행되었는지 확인하려면 어떻게 해야 합니까?

디스크/블록 스토리지에 임의로 쓰고 쓰기가 어떻게 진행되었는지 확인하려면 어떻게 해야 합니까?

가상 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으로 하고 싶다면 문의하세요.스택 오버플로, 여기는 아니야.

관련 정보