이번에 하드를 새로 구매해서 10TB 하드를 4개 보유하게 되었는데, 기본 레이드에서 RAID 5 변경을 시도했습니다
용량이 커서 그런지 모르겠는데 변환 작업이 1시간에 0.4% 오르는 걸 보고 이건 안되겠다 싶어 검색을 좀 해보니 방법이 있었네요
이 작업을 하고 나니 1시간에 0.4% 오르던 변환 작업이 8초에 0.1%씩 오릅니다
SSH로 접속해서 루트 권한을 먼저 획득합니다 (sudo -i)
cat /proc/mdstat
입력하여 현재 변환/검사 중인 md#을 확인하세요.
저 같은 경우에는 md4가 raid5 변환 작업을 하고 있는 것을 확인할 수 있고, finish=7712.8분인 것을 확인할 수 있습니다
cat /proc/sys/dev/raid/speed_limit_min
입력하여 어떤 숫자가 나오는지 확인하세요
저는 300,000이 나왔네요
echo 300000 > /proc/sys/dev/raid/speed_limit_min
1000K/sec는 1MB/s 입니다. 저는 현재 서버에서 레이드 변환 작업 외에 아무 작업도 하지 않기 때문에 300000으로 설정했습니다.
300000으로 설정한다는 의미는 레이드 변환 작업에 하드디스크 속도를 300MB/s 까지 사용할 수 있게 한다는 의미입니다
작업하는 하드가 많을 경우 (RAID 5 디스크 수리, 디스크 추가 등 여러 하드디스크를 사용하는 경우) 1000000까지 올리셔도 됩니다
현재 서버에서 다른 작업을 하고 있거나 누군가 접속해서 데이터를 읽어야 한다는 상황이라면 50000 (50MB/s)정도를 추천드립니다.
cat /proc/sys/dev/raid/speed_limit_min
이 명령어를 다시 입력하여 앞 단계에서 변경한 값이 정상 적용되었는지 확인합니다
echo 16384 > /sys/block/md4/md/stripe_cache_size
md4 부분은 처음에 확인했던 번호를 입력하세요. 틀린 번호를 입력한다면 No such file or directory 오류가 발생합니다
변환 작업에 더 많은 메모리를 사용할 수 있게 합니다
cat /proc/mdstat
이제 다시 처음 명령어를 실행해 봅니다
speed 값이 처음보다 증가했는지 확인합니다.
저는 12,114K/sec 에서 128,481K/sec으로 10배이상 증가했네요
시놀로지 작업 관리자에서도 하드디스크 사용량의 대부분을 레이드 변환 작업에 할당하는 것을 확인할 수 있습니다.
레이드 변경하는데 12MB/s 만을 사용하다가 명령어를 몇개 쳐주니 128MB/s를 사용하게 되었습니다
도움 되셨길 바랍니다. 혹시라도 문제가 있으시면 댓글 남겨주세요
¸®ºôµùÁß¿¡ µð½ºÅ© ¿¢¼¼½º Çϴ°ÍÀÌ ´À·ÁÁö°í
iscsi ¿¬°áÀÌ ²÷¾îÁø´Ù´øÁö ºÒ¾ÈÁ¤ÇÑ Áõ»óÀÌ ³ªÅ¸³¯¼ö ÀÖ½À´Ï´Ù.
¼ºñ½º¿¡ ¿µÇâÀ» ÃÖ¼ÒÈ ÇÏ¿© ¸®ºôµùÀ» ÇÏ°Ô ¼³Á¤µÇ¾îÀÖ´Â°É Ç®¾î¼ ´õ ºü¸£°Ô ÇÏ¿´À¸´Ï
¼ºñ½º¿¡ ¿µÇâÀÌ »ý±æ¼ö Àִ°ÅÁÒ,,
½Ã³î·ÎÁö°¡ ±¦È÷ ·¹ÀÌµå º¯È¯ ½Ã ¼Óµµ¸¦ ÀÌ·¸°Ô ´À¸®°Ô ÇØ ³õÀº °ÍÀº ¾Æ´Ï°ÚÁÒ
Áö±Ý ¼ÂÆÃÇÑ ´ë·Î ÇÏ¸é ·¹ÀÌµå º¯È¯ ÀÛ¾÷¿¡ Çϵåµð½ºÅ© »ç¿ë·®À» ¸ðµÎ Â÷ÁöÇÏ°Ô µÇ´Âµ¥,
echo 50000 > /proc/sys/dev/raid/speed_limit_min
¸í·É¾î·Î º¯È¯ ÀÛ¾÷¿¡ ÃÖ´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Â Çϵåµð½ºÅ© ¼Óµµ¸¦ ÁöÁ¤ÇØ ÁÖ¸é µË´Ï´Ù.
50000À¸·Î ÀÔ·ÂÇÑ´Ù¸é 50000K/sec ´Â 50MB/s À̹ǷΠº¯È¯ ÀÛ¾÷¿¡ 50MB/s ÀÌ»óÀº »ç¿ëÇÏÁö ¾Ê°Ô µË´Ï´Ù
Á¦°¡ ¾Ë±â·Î´Â (·¹À̵å5·Î ¹Àº Çϵå¼ö-1) x Çϵå¼Óµµ ·Î ¾Ë°í ÀÖ½À´Ï´Ù
¾²±â´Â Æи®Æ¼¸¦ °è»êÇÏ¿© Çѹø ´õ ½á¾ß ÇϹǷΠÁ» ¶³¾îÁø´Ù°í ¾îµð¼ º»°Í °°¾Æ¼¿ä.
½ÇÁ¦ ½Ã³î·ÎÁö»óÀÇ ¼ÒÇÁÆ®¿þ¾î ·¹À̵忡¼ ¼º´ÉÀÌ ±Ã±ÝÇϳ׿ä.
°¨»çÇÕ´Ï´Ù
DS918+
raid 5 ¿Í SHR (ÇÏµå ¼¼°³ ÁöÁ¤ÇÏ¿© raid 5 ±¸¼º°ú µ¿ÀÏ)
ÇǾ¾¿Í ³ª½º 5gpbs ·£Ä«µå·Î Á÷°á
SMB ·Î 4GB Á¤µµ ÆÄÀÏ ¼¼°³ (12GBÁ¤µµ) Àü¼Û¼Óµµ Å×½ºÆ®
raid 0 ´ëºñ Raid 5 ³ª SHR ¸ðµÎ ¾²±â ¼Óµµ ¶³¾îÁüÀº ¾ø³×¿ä ;)
·£Ä«µå´Â 5±â°¡Áö¸¸ ½ÇÁ¦ ¼Óµµ´Â 3.2±â°¡ (400MB/s) Á¤µµ ³ª¿É´Ï´Ù
raid 0 : Ãʹݿ¡ ij½Ã·Î 400MB/s Á¤µµ ³ª¿À´Ù°¡ ij½Ã ¼ÒÁøÈÄ 350MB/s Á¤µµ·Î Ç϶ô
raid 5, SHR : ¿ª½Ã Ãʹݿ¡ ij½Ã·Î 400MB/s Á¤µµ ³ª¿À´Ù°¡ ij½Ã ¼ÒÁøÈÄ 350MB/s Á¤µµ·Î Ç϶ô
´ÜÀÏÇÏµå ¼Óµµ°¡ ¾à 170~180 MB/s ÀΰÍÀ¸·Î º¸¾Æ
Æи®Æ¼ ¾²±â°¡ Ãß°¡µÇ¾îµµ ¼ÓµµÇ϶ôÀÌ ¾ø´Ù°í º¸¿©Áö³×¿ä
---------------------------------------------------------------------------------------------------------
echo "<before>"
echo "cat /proc/sys/dev/raid/speed_limit_max"
cat /proc/sys/dev/raid/speed_limit_max
echo "cat /proc/sys/dev/raid/speed_limit_min"
cat /proc/sys/dev/raid/speed_limit_min
echo "cat /sys/block/md2/md/stripe_cache_size"
cat /sys/block/md2/md/stripe_cache_size
echo "cat /sys/block/md2/queue/read_ahead_kb"
cat /sys/block/md2/queue/read_ahead_kb
echo " "
echo 1000000 > /proc/sys/dev/raid/speed_limit_max
echo 1000000 > /proc/sys/dev/raid/speed_limit_min
echo 32768 > /sys/block/md2/md/stripe_cache_size
echo 32768 > /sys/block/md2/queue/read_ahead_kb
echo "<after>"
echo "cat /proc/sys/dev/raid/speed_limit_max"
cat /proc/sys/dev/raid/speed_limit_max
echo "cat /proc/sys/dev/raid/speed_limit_min"
cat /proc/sys/dev/raid/speed_limit_min
echo "cat /sys/block/md2/md/stripe_cache_size"
cat /sys/block/md2/md/stripe_cache_size
echo "cat /sys/block/md2/queue/read_ahead_kb"
cat /sys/block/md2/queue/read_ahead_kb
cat /proc/mdstat