SSD RAID 및 TRIM 지원을 설정하는 방법은 무엇입니까?


9

새 서버를 설정하려고합니다. Intel 520 Series 240gb MLC SSD 또는 표준 Seagate 7200rpm 디스크 만 사용할 수 있습니다.
이들은 협상 불가능한 옵션입니다.

당연히 이것은 주요 작업이 MySQL 서버 인 MySQL을 실행하기 때문에 가능합니다. 가장 큰 성능 병목 현상은 디스크 I / O이므로 SSD를 사용하는 것이 좋습니다.

1TB에 가까운 디스크 공간이 필요합니다. 이제 RAID5는 최고의 성능을 제공하지 않으며 SSD에 적합하지 않다는 소문이 있으므로 720GB (240gb * 3)를 제공하는 Raid 10 (1 + 0) 설정을보고 있습니다

소프트웨어 레이드를 사용하여 Ubuntu 12.04.01 LTS로 이것을 설정하는 방법과 RAID 구성에 대해 TRIM 지원 (Linux에서 호출 된 것으로 간주)을 사용할 수 있는지 확인해야합니다.

아무도 이것을 성공적으로하지 못했습니까? 조심해야 할 하우투 정보와 물건, 기본적으로 어떤 도구 등을 사용하는 것이 큰 도움이 될 것입니다.

이상적으로, SSD RAID 어레이를 부팅 할 수 있어야합니다.

누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

감사.


1
최근 RAID의 SSD에서 TRIM을 사용할 때 큰 문제가 발생했습니다. 버그로 인해 TRIM이 활성 파일을 임의로 제로화했습니다. 삼성 SSD 만 영향을받는 것으로 알려져 있지만 AFAIK는 삼성 SSD 만 테스트했기 때문입니다. 이를 위해 mdadmLVM 대신 BTRFS RAID10을 사용하는 것이 좋습니다 .
Barafu Albino

답변:


4

답은 "의존적"이며, 그러한 유연한 입장을 주장하기 전에 TRIM이하는 일을 실제로 이해해야합니다.

http://www.spinics.net/lists/raid/msg39641.html

MD RAID는 DISCARD 요청을 전달하기위한 특정 지원이 필요하며 3.6까지 제안되지 않았으므로 정확한 커널에서 지원되지 않습니다. 방금 봤는데 거기 없어요

https://lkml.org/lkml/2012/3/11/261

SSD는 훌륭하지만 모두 높은 RPM 마그네틱 스토리지와 결합하면 가장 비용 효율적입니다. 예를 들어 파일 시스템 저널이 15K 디스크로 구성된 RAID 10에 의해 백업되는 동안 RAID 1 SSD 어레이를 사용하여 파일 시스템 저널을 보관하십시오.

http://insights.oetiker.ch/linux/external-journal-on-ssd/

RPMS가 높을수록 최악의 검색 시간이 줄어든다. 임의 IO로드는 높은 RPM 지원 상점에서 가장 큰 이점을 얻는다. SQL은 쓰기 집약적 일 수 있으므로 모든 패리티 계산은 RAID 4 및 5와 같은 나쁜 생각입니다.

RAID 및 파일 시스템의 구성은 백업 저장소만큼 중요합니다.

디스크를 항상 수동으로 트리밍 할 수 있으며 매주 시작하는 것이 좋습니다. 더 자주 실행하기 전에 성능 영향을 관찰해야합니다. 오, SSD가 소진되므로 SSD의 쓰기 / 삭제주기 수를 추정하고 한 번에 한 다리 씩 RAID 1을 서비스하는 것이 좋습니다.

https://wiki.archlinux.org/index.php/Solid_State_Drives#Apply_TRIM_via_cron


4

나는이 질문에 Johnny-come-lately하고 있다는 것을 알고 있지만 검색하는 사람을 위해 이것에 약간의 빛을 비출 수 있는지 알고 싶습니다.

첫째, @ppetraki의 대답은 훌륭합니다.

"RAID SSD를 사용하여 부팅 할 수 있습니까?"에 대한 짧은 대답은 "예!"입니다. 다음은 14.04에 대한 지침 입니다. 12.04.x의 RAID 구성 지침은 동일하지만 9.10사용한이 자습서 에는 그림이 있습니다. 다음은 개인적인 경험을 통해 어려운 길을 찾아야 할 중요한 문제와 세부 사항입니다.

MD RAID0 구성 및 SSD 친화적 Btrfs 파일 시스템에서 3.8 커널로 Ubuntu 12.04.5를 실행하고 있습니다. 나는 매주 크론으로 fstrim을 실행합니다.

fstab의 추가 Btrfs 마운트 옵션 :

defaults,ssd,ssd_spread,space_cache,compress=no,noatime

compress=noBtrfs 마운트 옵션 으로 사용하려면 3.8 커널이 필요 fstrim하며 스케줄 된 트림에 사용되는 수동 트림 명령 인 을 사용해야 할 수도 있습니다 .

SSD의 페이지 크기에 따라 첫 번째 파티션 만 올바르게 정렬되기 때문에 설치 프로그램으로 부팅하기 전에 SSD에서 파티션의 파티션수동으로 정렬 해야합니다 (공격 또는 다중 파티션 설정). 드라이브 수명에 심각한 영향을 줄 수 있습니다. 설치를 시도하기 전에 설치 프로그램 내의 명령 프롬프트 또는 라이브 USB / 디스크에서이 작업을 수행 할 수 있습니다. 주의 사항 : 직접 수학하세요. Fdisk는 정렬에 대해 거짓말을합니다.

추가 독서 : Btrfs가 자체 RAID 배열을 만들 수도 있다고 생각 합니다 .

TRIM 관련 :

오버 프로비저닝 덕분에 불필요하게 불필요합니다

14.04는 기본적으로 TRIM 지원활성화 하는 첫 번째 릴리스 이지만 커널 2.6.33 이상을 사용하는 경우 이전 배포에서 활성화하는 것이 쉽지 않습니다.

선택한 파일 시스템에 따라 fstab편집 하고 적절한 마운트 옵션을 설정하여 트리밍 / 삭제활성화 할 수 있습니다 . 이 작업을 수행하고 cron을 통해 실행하는 것의 차이점 은 첫 번째는 즉석에서 트림 / 폐기하고 두 번째는 일정에 따라 대량으로 수행한다는 것입니다. 나는 두 번째를 사용합니다.

그게 그렇게 중요한 건가? 온라인 삭제 (마운트 옵션 사용)는 훌륭하게 구현되지 않았으며 느리기 때문에 "권장되지 않습니다". 매주 cron 작업이 실행되지만 OS 응답 성이 거의 영향을받지 않으면 "hdd"(hehe) 표시등이 10-20 분 동안 작동하지 않는다고 말할 수 있습니다.

어레이에서 부팅

비록 우분투 14.04 명령어의 빠른 스캔에서 이것을 볼 수는 없지만, RAID 어레이의 일부가 아닌 추가 기본 파티션을 만들어야했습니다. 디스크 0에는 ext3fs의 500MB 기본 파티션이 있습니다. 설치하는 동안 설치 프로그램에 이것이 "/ boot"에 마운트되고 부트 가능한 플래그를 설정하도록 지시했습니다. 그런 다음 OS가 시작되고 RAID를 마운트 할 수 있도록 부트 로더가 여기에 설치됩니다. 나머지 Disk 0 공간은 나중에 "/"및 "/ swap"이되는 MD 어레이에 사용되는 2 개의 파티션으로 나뉩니다. 디스크 1은 동일하지만 부트 파티션이 없습니다. 또한 언젠가 필요하고 btrfs가 스왑 파일을 지원하지 않는 경우에만 스왑을 만들었습니다. 이 파티션은 마운트되지 않습니다. 설치 후 fstab에 주석 처리했습니다.

모든 편집 내용을 용서하십시오.


이 통찰력있는 정보에 감사드립니다. 다음 시스템 배포에서 시도해 보겠습니다.
Steed
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.