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