요청 시 블록 RAM 디스크를 생성하는 방법은 무엇입니까?

요청 시 블록 RAM 디스크를 생성하는 방법은 무엇입니까?

modprobe brd rd_nr=1 rd_size=4585760 max_part=1한 번에 램 블록 장치를 생성하고 싶지만 /dev/ram0(램을 확보하기 위해) 장치를 새로 고친 다음 이를 삭제하고 다른 장치를 생성하고 싶다고 가정 해 보겠습니다. 어떻게 해야 하나요? modprobe brd rd_nr=1 rd_size=4585760 max_part=1다시 실행해도 다른 메모리 장치가 생성되지 않는 것 같습니다./dev

재생성 단계:

1) 디스크 생성:modprobe brd rd_nr=1 rd_size=4585760 max_part=1

2) RAM 디스크를 사용하여 임의 작업을 수행합니다. 예:dd if=/dev/zero of=/dev/ram0 count=1000

3) 메모리 해제blockdev --flushbufs /dev/ram0

4) 장치 파일 삭제:rm /dev/ram0

5) 다른 것을 만들어 보세요:modprobe brd rd_nr=1 rd_size=4585760 max_part=1

6) ls /dev/ram*오류를 알려주세요

rd_nr원하는 숫자 로 변경할 수 있다는 것을 알고 있지만 즉시 생성할 수 있기를 원합니다.

편집: tmpfs를 생성하고 싶지 않습니다. 사용 사례에는 블록 장치가 필요합니다.

답변1

자신을 삭제하면 안 됩니다 /dev/ram0. 이렇게 하면 삭제되어 sudo rmmod brd공간이 확보되고 모듈이 제거됩니다. 그런 다음 다시 시작할 수 있습니다 modprobe.

답변2

저는 /dev/ram에 익숙하지 않지만 tmpfs 및 루프 장치를 사용하여 비슷한 작업을 수행할 수 있습니다.

mkdir /ramdisks
mount -t tmpfs tmpfs /ramdisks
dd if=/dev/zero of=/ramdisks/disk0 bs=1M count=100
losetup /dev/loop0 /ramdisks/disk0
mke2fs /dev/loop0
...
losetup -d /dev/loop0
rm /ramdisks/disk0

관련 정보