리눅스가 아직도 디스크 입출력이 비동기화 방식인가요?

another-park의 이미지

===========================================
기본적으로 디스크 입출력이 비동기화 방식이기 때문에,

트랜젝션 기반 응용 프로그램에 대해서는 신뢰도가 낮으며,

비동기화 방식은 시스템 크래쉬나 전원문제가 발생할경우

파일시스템이 깨어질 수도 있습니다.
===========================================

위 글은 FreeBSD싸이트에 있는 리눅스에 대한 글입니다.

리눅스가 아직도 디스크 입출력이 비동기화 방식인가요?

그리고 윈도우즈도 디스크 입출력이 비동기화 방식인지도 궁금합니다.

hys545의 이미지

another-park wrote:
===========================================
기본적으로 디스크 입출력이 비동기화 방식이기 때문에,

트랜젝션 기반 응용 프로그램에 대해서는 신뢰도가 낮으며,

비동기화 방식은 시스템 크래쉬나 전원문제가 발생할경우

파일시스템이 깨어질 수도 있습니다.
===========================================

위 글은 FreeBSD싸이트에 있는 리눅스에 대한 글입니다.

리눅스가 아직도 디스크 입출력이 비동기화 방식인가요?

그리고 윈도우즈도 디스크 입출력이 비동기화 방식인지도 궁금합니다.


ext2이야기 하는거 같은데
ext3 니 raisetfs같은거는 저널링 방식이어서 깨어지는 경우는 거의 없습니다.

즐린

mycluster의 이미지

Quote:

===========================================
기본적으로 디스크 입출력이 비동기화 방식이기 때문에,

트랜젝션 기반 응용 프로그램에 대해서는 신뢰도가 낮으며,

비동기화 방식은 시스템 크래쉬나 전원문제가 발생할경우

파일시스템이 깨어질 수도 있습니다.
===========================================

리눅스에서 트랜잭션 DB를 사용할때는 비동기 IO를 사용하지 않습니다. Raw io를 통해서 buffering 하지 않고서 바로 write합니다. 그리고 동기화 IO가 중요한 시스템이나 application들은 RAW device로 mount합니다.
누군가 고리타분 옛날적 이야기를 하는군요. 그나저나 FreeBSD에서는 Oracle 9i같은거 돌아가나 모르겠네.

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

sayung의 이미지

지금 FreeBSD5.1 이랑 Oracle9i를 설치를해보았습니다.
DB mount 까지 되고 selet도 잘됩니다.
요즘 제가 시간이 없어서 문서를 못만들고있어서 그렇지 시간이 나면
문서를 만들어서 올릴 생각입니다.

Oracle때문에 꼭 리눅스를 선택 해야 한다고 이제는 생각하지 않습니다.
FreeBSD에서 Linux용 Oracle을 돌려도 전 좋다고 생각합니다.
Native Linux 보다는 쓰기가 어떨지 몰라도 성능은 크게 차이 나지 않을 거라고 생각합니다.

되면 리눅스랑 프비에 오라클을 설치를 해서 벤치마크를 함 해보고 싶군요.

프비의 구루가 되기 위해서...

sangwoo의 이미지

MyCluster wrote:
Quote:

===========================================
기본적으로 디스크 입출력이 비동기화 방식이기 때문에,

트랜젝션 기반 응용 프로그램에 대해서는 신뢰도가 낮으며,

비동기화 방식은 시스템 크래쉬나 전원문제가 발생할경우

파일시스템이 깨어질 수도 있습니다.
===========================================

리눅스에서 트랜잭션 DB를 사용할때는 비동기 IO를 사용하지 않습니다. Raw io를 통해서 buffering 하지 않고서 바로 write합니다. 그리고 동기화 IO가 중요한 시스템이나 application들은 RAW device로 mount합니다.
누군가 고리타분 옛날적 이야기를 하는군요. 그나저나 FreeBSD에서는 Oracle 9i같은거 돌아가나 모르겠네.

이 비교는 FreeBSD 4.X 버전 초반.. (아마도 리눅스 커널 2.4가 나오기 조금 전 정도로 생각됩니다.) 의 이야기입니다. 2.2 커널과 비교한 것이지요.
약간 리눅스를 비하하려는 뉘앙스를 풍기지만, 실제 내용은 리눅스는 파일시스템 마운트의 기본 설정이 async로 되어 있는데, FreeBSD는 기본이 sync로 되어 있었다는 이야기입니다. FreeBSD FAQ에서, "FreeBSD의 파일 입출력이 리눅스보다 너무 느려요!!" 라는 질문의 답변으로 있었던 것으로 기억합니다. 뭐 이것은 성능이라기보다는, 기본 철학과 가치관의 차이라고 생각됩니다.

현재는 리눅스에는 XFS나 ReiserFS와 같은 훌륭한 저널링 파일 시스템들이 있으므로, 성능저하가 크지 않으면서도 안정성을 획득할 수 있는 것이겠지요.
(FreeBSD에도 Softupdate라는 메타데이터 업데이트 방법이 있습니다.)
저는 개인적으로 FreeBSD의 (광)팬이지만 아직까지는 FreeBSD의 커널이 linux에 비해 부족한 점이 많다고 생각합니다. 특히 커널모드에서의 SMP지원과, 다양한 파일시스템 지원, 여러 가지 아키텍쳐에의 포팅 등은 리눅스보다 많이 모자라지요. 하지만 패키지 시스템이라든가 릴리즈 방식, 그리고 요즘 -current에서 이루어지는 여러 가지 향상들을 보면 아직도 가능성이 많은 OS라고 생각합니다. (물론 지금까지도 훌륭한 결과를 보여 주었구요 :-) )

PS. 사족이지만 FreeBSD에서 linux emulator를 이용해서 리눅스용 Oracle 9i를 돌릴 수 있었던거 같습니다. (제가 해 보진 않았습니다.)
비난의 뜻이 아니고, 정보를 원하시는 것이었다면 다음 주소를 참고해 주세요. ^^
http://www.shadowcom.net/freebsd-oracle9i/

----
Let's shut up and code.

warpdory의 이미지

sayung wrote:
지금 FreeBSD5.1 이랑 Oracle9i를 설치를해보았습니다.
DB mount 까지 되고 selet도 잘됩니다.
요즘 제가 시간이 없어서 문서를 못만들고있어서 그렇지 시간이 나면
문서를 만들어서 올릴 생각입니다.

Oracle때문에 꼭 리눅스를 선택 해야 한다고 이제는 생각하지 않습니다.
FreeBSD에서 Linux용 Oracle을 돌려도 전 좋다고 생각합니다.
Native Linux 보다는 쓰기가 어떨지 몰라도 성능은 크게 차이 나지 않을 거라고 생각합니다.

되면 리눅스랑 프비에 오라클을 설치를 해서 벤치마크를 함 해보고 싶군요.

한번 해본적 있는데.. 약 15% 정도의 성능 감소는 있더군요.
제온 2기가 듀얼 CPU, 램 2기가, 하드는 36기가 SCSI 듀얼채널 정도였습니다. 지금은 그래서 리눅스로 돌아가고 있죠.


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

cjh의 이미지

최근 FreeBSD는 파일시스템 기본 옵션이 Softupdates입니다(루트 빼고). 5.1이라면 background fsck가 기본 동작하므로 저널링 못지 않습니다.

그나저나 FreeBSD native oracle은 나온다 나온다 하고 안나오는군요. :P 소식통에 따르면 Crossover Office도 FreeBSD용이 나온다고 합니다만...

--
익스펙토 페트로눔

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.