Hardware RAID + LVM, 어떻게 하는 것이 좋을까요?

ithabise의 이미지

안녕하세요?~
KLDP는 늘 검색만 하다가 드디어 처음으로 글을 쓰게 되네요.
뭔가 부끄러운 생각이 듭니다만 ... :)

...

다름이 아니라 대학원 연구실에서 사용하던 서버를 싹 정리하고 새로 설정하고 있는데,
disk를 어떻게 하는 것이 가장 좋을 지 고민중입니다.

우선, 하드웨어 설정은 Dell의 PowerVault 220s라는 외장 SCSI 320케이스가 있어서
300GB SCSI하드 14개를 장착해 두고 있으며, OS용 디스크는 서버 본체에 따로 있습니다.

/home만 이 외장 storage로 쓰고 싶고 최대한 용량을 많이 가져가고 싶은데,
14개를 다 묶어서 몽땅 RAID 5로 하는 것은 안되네요;
RAID 컨트롤러에서, 한개의 논리드라이브 최대 용량은 2TB라고 나와서요.
(새로 나온 SAS 컨트롤러에서는 2TB 이상도 잘 되는 것 같습니다만. 쩝.)

그래서 일단 아래와 같이 설정해 둔 다음,

channel 0 : RAID 5(300GBx6) + Hotspare (300GBx1) = 약 1.5TB
channel 1 : RAID 5(300GBx6) + Hotspare (300GBx1) = 약 1.5TB

두개의 논리드라이브를 리눅스 상에서 LVM으로 1개로 합친 후,
/home으로 마운트해서 사용하려고 합니다.

이때 문제가,
기존에 사용하던 서버에서 가져올 초기 용량이 1.3TB 정도 되는데,
단순히 LVM으로 묶기만 해서 저장하면, 1.5TB에 도달할 때 까지는
channel 0에 묶인 드라이브만 계속 사용하게 될거 같고,
1.5TB 이상으로 넘어가기 시작하면 channel 0에 묶인 드라이브들은
거의 read만 발생하고 channel 1에 묶인 드라이브들에만 계속 write가 몰려서
뭔가 성능상으로 좀 아쉬움이 발생할 것 같아서요.

그래서 보니, LVM에서도 스트라이핑이 지원이 된다고 하더군요?
그렇게 하면 작업이 양쪽으로 분산되어 속도도 더 빨라질 거 같긴 한데..
그러나 이렇게 하면 LVM의 스트라이핑은 RAID 0과 똑같은 것 아닐까요?
(RAID 0을 data 저장용으로 사용하는 것은 별로 좋은 생각이 아니라고 봐왔어서..)

물론 LVM을 구성하는 드라이브가 RAID 5로 구성된 두개의 논리 드라이브라
물리적인 문제가 발생할 가능성은 훨씬 적을 것 같긴 하지만,
혹시 LVM에 소프트웨어적인 문제가 발생해서 깨지거나 하면 자료를 완전히 잃는 것은 아닌지요?
(물론 SATA 대용량 하드로 백업 플랜은 따로 또 세우긴 했습니다만..)
LVM에서 발생할 소프트웨어적인 문제의 가능성은 LVM을 스트라이핑 하든 안하든
문제 발생 가능성이나 복구 가능 여부는 비슷한 수준일까요?

중구난방으로 설정되어 있던 것들을 다시 제대로 해보려니
안써봤던 LVM이란 것도 써야 할 것 같고 간단치가 않네요. @_@

그럼 좋은 의견 부탁드립니다.
모두들 즐거운 하루 보내셔요 ^^

junilove의 이미지

LVM은 물리적인 것을 논리적인 하나의 볼륨으로 잡아주는 것이기 때문에 HW장애가 발생하지 않는이상 문제될것은 없다고 보여지는데요.
실지로 두 채널에 골고루 IO분산을 되는지 여부가 관건인것 같은데...

그보다는 기본 파일시스템으로 ext3보다는 xfs나 ext4와 같이 동일 조건에서 성능이 괜찮다고 알려진 파일시스템을 쓰시는게
좋을 것 같습니다.

LVM의 장점은 파티션 리사이즈가 가능이나 볼륨을 미러링하는 것이지 속도 이점은 아니라고 알고 있는데요,
속도와 안정성 겸비할꺼라면 RAID 레벨을 RAID 5보다는 RAID 1+0 구성이 맞겠습니다.
이것도, 어떤 데이터이냐에 따라서 달라진다고 알고 있습니다만...

LVM에서 sw장애가 나더라도 rescue mode 에서 복구가 가능합니다.

http://wiki.kldp.org/HOWTO/html/LVM-HOWTO/x254.html 에도 나와있군요.

관심있는 분야라 남겨보았습니다.

ithabise의 이미지

조언 주셔서 감사합니다. :)

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.