가상 Linux 서버에 연결된 블록 저장 장치를 모니터링하고 예비 테스트로 이것이 어떻게 작동하는지 이해하기 위해 내 생각은 다음과 같습니다.
- 블록에 임의의 양의 메모리(KB 단위)를 씁니다.
- 쓰기가 성공했는지 확인합니다(블록에 액세스할 수 있음).
- 기록된 메모리 양이 올바른지 확인하세요.
- 메모리 블록 삭제
- 삭제된 양으로 인해 지정된 공간이 확보되었는지 확인
블록 스토리지 장치의 메모리 주소에 구체적으로 어떻게 쓰나요? 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/vdc
0을 입력으로 사용하여 블록 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으로 하고 싶다면 문의하세요.스택 오버플로, 여기는 아니야.