raw 디바이스 사용 ㅜ.,ㅜ
글쓴이: hldinho / 작성시간: 일, 2006/08/13 - 6:18오후
레드햇 9 버전에서 raw 디바이스 사용을 위한 과정으로
raw /dev/raw/raw1 /dev/hda4
vi /etc/sysconfig/rawdevices에 설정 값 저장.
세팅이 되는 걸로 알고 있습니다.
위 과정을 수행 후,
프로그램 구현에서
open("/dev/raw/raw1", O_WRONLY)
이러한 방식으로 raw 디스크를 열고, 읽고, 쓸 수 있다고 알고 있었으나,
open은 제대로 된 리턴 값으로 동작하는데 write, read는 -1이 리턴 되어 동작이 되질 않습니다.
raw 디바이스에 open, write, read를 수행하기 위해서는 세팅 후 어떤 방법으로 구현할 수 있을 까요..
혹 빼먹은 과정이 있지는 않은지 조언 부탁 드리겠습니다.
Forums:
제 경험을 약간
제 경험을 약간 써보자면... 레드햇9는 잘 모르겠습니다. 안써본지가 너무 오래되서. 제글은 RHEL3호환인 미라클리눅스3.0에서의 경험입니다.
/etc/sysconfig/rawdevices 에 설정저장후
/etc/init.d/rawdivces start를 실행해서 설정내용을 시스템에 적용하고 raw -qa 커맨드로 설정상황을 확인해보는 작업도 필수일 것입니다.
그리고 ls -l /dev/raw/raw1 등으로 raw device의 권한을 확인하는 작업도 필요합니다.
이렇게 하면 논리적으로는 raw디바이스의 인식이 끝난 셈입니다만 가끔 스테이터스적으로는 이상이 없는데 실제 실행에는 실패할 경우가 있습니다. 이를 테스트해보기 위해서 DD커맨드로 raw디바이스의 정상작동 유무를 확인해 보시기를 권합니다. 내용이 지워져도 상관없다면 다음 커맨드 정도가 가장 확실하겠지요.
dd if=/dev/zero of=/dev/raw/raw1 bs=1024k count=100 (용량은 어디까지나 예입니다.)
만약 dd커맨드에서 실패한다면 서버를 재기동하고 다시 실행해보시길 바랍니다. 제경우 대부분 서버재기동까지 하고나면 제대로 인식되었습니다.
약간이라도 도움이 되기를 바라며.
그럼 이만 총총...[竹]
http://elflord.egloos.com
===== ===== ===== ===== =====
그럼 이만 총총...[竹]
http://elflord.egloos.com
답변 감사합니다.
dd 명령어는 먹히는데 여전히 open()리턴값은 제대로 나오고
read(), write()만 리턴값이 -1이 나옴니다.
위 답변 주신 분 께서는 raw디바이스 사용시 read(), write()함수를 바로 사용하셨던건가요?
댓글 달기