반응형

 

 

이 포스팅은 Notion에서 작성되었으며 다음추천인 링크를 통해 가입하시면 $10 Credit을 얻으실 수 있습니다(저에게는 $5 Credit이 쌓입니다) Notion 가입 Link

 

NAS의 속도및 쾌적한 사용을 위해 2Bay NAS중에 하나는 SSD, 하나는 HDD를 사용하고 있습니다. 2Bay이기에 Raid로 묶지않고 독립적인 볼륨으로 각각 사용중에 있습니다. 이렇게 독립 볼륨임에도 불구하고 SSD를 접근하게되면 HDD도 Wake-up하여 동작하게 되어 HDD Sleep 모드에 진입하지 않는 현상을 보였습니다. 그래서 이를 해결하기 위한 방법을 찾아보다 큐냅 포럼에서 다음과 같은 방법을 찾아서 적용해보니 현재 상태(펌웨어 5.0.0.1870)에서 문제없이 동작하고 있어서 관련 설정 공유하기 위해 포스팅합니다.

조건

저는 2Bay이기에 두개다 독립볼륨인 상태이지만, 4Bay 이상에서는 SSD만 독립볼륨, HDD는 Raid등으로 묶여있어도 활용 가능합니다.

*** 데이터 손실의 위험이 있으니 반드시 백업후 진행하시기 바랍니다 ***
저의 경우는 문제가 없었으나 혹시 다른 문제를 발생시킬 수 있습니다.
  • 독립 볼륨의 SSD(시스템 디스크) - 어플리케이션 및 시스템 모두 SSD상에 위치
  • Raid 혹은 다른 볼륨으로 구성되어있는 HDD

현재 드라이브 확인

현재 SSD와 HDD가 어떤 파티션에 할당되어있는지 확인이 필요합니다.

SSH로 QNAP Nas에 접근하여 다음과 같은 명령어를 입력해 줍니다.

parted -l

현재 NAS에 사용중인 SSD및 HDD정보와 디스크 정보가 기록되어있습니다.

저의 경우에는 다음과 같이 할당되어있는것을 알수 있습니다

  • /dev/sdb : SSD 1TB
  • /dev/sda: HDD 4TB

Internal Raid1 Disconnect

SSD및 HDD가 동시에 Wake-Up이 되는 이유중 하나는 내부의 파티션들이 Raid1으로 구성되어 있기 때문입니다. 그래서 위 포럼의 아이디어는 평소에는 Raid1구성연결을 끊어두고 있다가, 하루에 1번씩 스케쥴링하여 복구시켜주고 다시 끊어주고를 반복하는 형태로 진행됩니다.

Internal Raid 1 볼륨 리스트

  • /dev/md9
  • /dev/md13

두 볼륨의 구성을 확인하려면 mdadm을 통해 확인가능합니다

mdadm -D /dev/md9 
mdadm -D /dev/md13

위의 명령어를 통해 확인해보면 다음과 같이 SSD, HDD의 1번파티션들이 묶여있는 것을 알 수 니다.

다음 과 같은 스크립트를 통해 md9, md13에 연결되어있는 HDD의 Parition을 제거하여 줍니다.

disconnect_internal_raid.sh

#!/bin/bash 
echo "Disconnect md9" 
mdadm /dev/md9 --fail /dev/sda1 
echo "Disconnect md13" 
mdadm /dev/md13 --fail /dev/sda4

 

이제 HDD만 독립적으로 Sleep에 들어갈 수 있도록 파티션을 수정하였습니다. 다음과 같은 명령어를 통해 현재 HDD상태를 확인할 수있습니다. hddparm -C /dev/sda

 

주기적으로 Raid1의 복구를 위해 다음과 같이 다시 연결해주는 스크립트를 추가적으로 작성합니다.

rebuild_internal_raid.sh

#!/bin/bash 
echo "Re-adding md9" 
mdadm /dev/md9 --re-add /dev/sda1 
echo "Re-adding md13" 
mdadm /dev/md13 --re-add /dev/sda4

 

위의 스크립트를 통해 Disconnect된 Internal_raid1의 정보를 복구할 수있습니다. 이제 Crontab에 위에서 작성한 스크립트가 정기적으로 수행될 수있도록 추가해 줍니다

vim /etc/config/crontab

저는 4시에 Rebuild 4시 15분에 Disconnect되도록 스케쥴 하였습니다.

 

SWAP Partition 변경

HDD 상에 존재하는 Swap Partion을 SSD에만 위치하게 함으로써 시스템 접근시 HDD사용이 안되도록 하는 방법이라고 생각하시면 됩니다.

cat /proc/swaps 명령어를 통해 현재의 SWAP영역을 확인할 수있습니다.

다음 명령어를 통해 Home 위치에 512MB SWAP을 생성해 줍니다.

dd if=/dev/zero of=/share/homes/admin/swapfile bs=1024 count=524288

그리고 다음 스크립트를 통해 Swap 파일을 새로 생성한 영역으로 변경하여 줍니다. 그리고 부팅시 실행될 수있도록 autorun.sh상에 반영하여 줍니다.

move_swap_to_file.sh

#!/bin/bash 
echo "Turning SWAP off" 
swapoff -a 
echo "Initializing file swap" 
mkswap /share/homes/admin/swapfile 
swapon /share/homes/admin/swapfile

 

위와같이 세팅을 진행하면, 설정→하드웨어→디스크대기모드 시간 세팅을 진행하면, 해당시간이후 HDD만 Sleep으로 빠지는 것을 확인 할 수 있습니다.

 

반응형

'Software > QNAP TS-251' 카테고리의 다른 글

[QNAP] Rclone VFS Mount  (0) 2021.02.25
[QNAP] autorun.sh 설정 방법  (0) 2021.02.25
[QNAP] Komga 설치  (0) 2021.01.27
[QNAP][HA][EW11] EW11 자동 재부팅(Restart) 스크립트  (0) 2020.11.30
[QANP] 부팅시 Autorun QPKG 생성  (0) 2020.11.30

+ Recent posts