Motive
- 케이스도 없이 신발장에 누드 상태로 처박아 둔 서버의 건강이 걱정됨.
- 하스웰이라서 노후화. 안정성이 중요한 서버이므로 하드웨어 교체 사이클(약 5년)이라고 생각됨.
- 시놀로지 나스를 별로도 운영중인데, 관리하기도 불편하고 확장성도 떨어져서(2베이) 웹 서버와 파일 서버를 합쳐서 싱글 머신으로 통합 운영을 하고 싶음.
- 이사를 갈 것을 대비해 인테리어로도 손색없는 서버의 외관을 만들고 싶음.
- 이상의 이유로 보드만 ITX 사이즈로 바꾸려 했으나, 하스웰을 지원하는 80, 90시리즈 칩셋 보드의 ITX 사이즈는 중고 시장에서 거의 찾을 수 없었음.
등의 이유로 서버를 새로 꾸몄다.
Spec
요구 스펙은 다음과 같이 잡았다.
- CPU: 4코어 8스레드 이상에 벤치마크 상으로 i5-4690(구 서버의 CPU)을 유의미하게 넘길 것. (욕심같아선 AMD 에픽을 쓰고 싶으나, 나의 가난이 허락지 않았다.)
- RAM: 16GB 이상, XMP 가능. (이상은 수년간 웹 서버와 레이드 서버를 운영해보면서 감으로 얻은 최소 스펙이다.)
- M/B: ITX 중에 제일 싼거. NVMe 지원. (여기에서 중고를 거의 포기하게 되었다. 옛날 보드들은 NVMe가 안되므로.)
- Case: 3.5인치가 4베이 이상이며 ATX 파워를 지원하는 것 중에 가장 작은 것. 색상은 화이트.
Part | Model | Amt | Price | Date | Note |
CPU | Intel i3-10100 | 1 | ₩ 121,430 | 2021-01-25 | 벌크 |
M/B | Asus Prime H410i-plus | 1 | ₩ 106,570 | 2021-01-25 | |
RAM | G.SKILL 8GB 2666MHz | 2 | ₩ 109,980 | 2021-01-25 | CL15-15-15-35 |
SSD | PM981a 512GB | 1 | ₩ 70,000 | 2020-12-28 | 벌크, 미사용 중고 |
SSD | Micron MX200 250GB | 1 | ₩ 5,000 | 2019-08-19 | 중고 |
HDD | HGST Deskstar 4TB | 2 | ₩ 384,120 | 2015-06-20 | |
HDD | WD Ultrastar 4TB | 1 | ₩ 157,500 | 2021-01-25 | |
PSU | SF-650F12MT | 1 | ₩ 85,000 | 2015-07-09 | |
Case | Fractal Design Node 304 White | 1 | ₩ 63,000 | 2020-12-31 | 중고 |
CPU쿨러는 인텔 초코파이 기쿨이 집에 굴러다니길래 그냥 주워다 박았다. 쓰고 있던 NOFAN CR-80EH를 옮겨 박을까 했는데, 지스킬램 방열판 및 후편팬과 간섭이 심하여 사용이 불가했다. 팬 스피드는 바이오스 상에서 가장 느리게 하여 소음을 최소로 하였다. 이래도 풀로드시 60도를 유지한다.
CPU와 RAM은 호갱맞은 느낌이 크다. 각각 최소 만 원은 더 싸야 제값인 느낌이나, 값이 떨어지는 거 기다리기 귀찮아 그냥 구입. 원래는 라이젠 4350G 정도를 고민했으나, 돈이 모자라서… (나같은 가난뱅이는 성능 좋고 비싼 AMD를 못사고 가성비의 인텔을 살 수밖에 없음)
소프트웨어 방식으로 RAID5를 구성하기 위해 NAS에서 쓰던 하드 2개에 더해 하나를 추가로 구매하였다. Ultrastar는 HGST가 WD에 인수되었으나 브랜드가 유지되고 있다. 개인적으로 HGST를 가장 신뢰하므로 좀 비싸더라도 울트라스타를 구입.
CPU, M/B, RAM, WD하드를 제외한 나머지는 중고로 구했거나, 기존의 부품을 재활용.
Software Setup
BIOS
- 바이오스 최신 버전 업데이트.
- 하이퍼쓰레드, 터보 부스트 작동 해제. 24시간 켜놓아야 하므로 전기료를 최대한 줄이기 위해. 따라서 전력 관리 기능은 활성화. 이후 시스템 로드를 모니터링하여 필요시 다시 기능을 활성화할 예정이다.
- 안쓰는 포트(예를 들어 시리얼, 오디오 등)는 싹다 해제.
- 다만 XMP는 활성화.
OS
Ubuntu Server 20.04.1 LTS 설치.
Migration: WordPress, Piwigo
구 서버에서 MySQL DB를
$ mysqldump -u [user_name] -p [db_name] > [file_name].sql
와 같이 백업한다. [user_name]
에는 WordPress가 사용하는 mysql 계정, 혹은 관리자 계정을 넣으면 되고, [db_name]
에는 WordPress가 사용하고 있는 데이터베이스의 이름을 넣는다. 파일 이름은 아무렇게나 해도 무방. 구글에 검색하면 phpMyAdmin으로 DB를 백업하는 방법도 나온다. 어떤 방법이든, 백업만 잘 되면 된다. 이 파일을 새 서버로 복사한다. 이제 새 서버에 db를 복원해주면 된다. 물론 mysql 서버가 설치되어 있다는 가정 하에
$ mysql -u [user_name] -p [db_name] < [file_name].sql
를 실행한다. 단, WordPress가 DB를 사용하기 위한 계정과 DB가 이미 추가되어 있어야 에러가 나지 않을 것이다. 복원 역시 나처럼 쉘에서 명령어를 입력하든 phpMyAdmin으로 하든, 잘 해주기만 하면 된다. 마지막으로, 설치 디렉토리를 통째로 새 서버로 복사하면 끝. WordPress의 경우 PHP 버전이 새 서버로 오면서 7.4로 올라갔는데, 약간의 트러블이 있었으나 수작업으로 디버깅을 해주었다.
Piwigo 역시 동일한 방식으로 하여 별 문제 없이 성공.
Migration: TWiki
CPAN 모듈들을 새 서버에 모두 설치해주고, 설치 디렉토리를 통째로 복사했다. 문제 없이 잘 작동.
Samba
새 서버는 NAS의 역할을 겸용해야 하므로 Samba 필요.
$ apt install samba
로 Samba 패키지를 설치한다. 이제 설정 파일을
$ vi /etc/samaba/samba.conf
와 같이 열어 설정을 적절히 해준다. 나는 프린터 관련 설정은 필요치 않아 모두 코멘트 처리했음. 설정 파일의 가장 하단에
[raid]
comment = raid directory
path = /mnt/raid01
valid users = id1,id2
writeable = yes
read only = no
create mode = 0777
directory mode = 0777
의 내용을 추가하였다. 4TB 하드 3개를 묶은 raid 디렉토리를 공유하는 설정이다. 이제
systemctl restart smbd
로 Samba 데몬을 재시작 해주면 된다.
Etc
- 4TB 하드 3개를 raid5로 묶어줌.
mdadm
으로 소프트웨어 레이드 방식 사용. 하드웨어 레이드 카드까지 돈써서 사고 싶진 않았다. - SSL 인증서 재발행.
- APM 설치. (는 사실 웹 서비스 마이그레이션 이전에 했음.)
- Grafana, Plex 등 추가 어플레케이션 설치.
- NAS 자료 백업.
- 기타 등등.
Conclusion
글은 짧게 적었으나 하루 꼬박 써서 서버 리뉴얼 작업 완료. 미래의 나 자신을 위해 문서화 하기 위해 이 포스트를 적기 시작했으나, 귀차니즘으로 매우 짧은 요약글이 되어버렸다. 나중에 한가할 때 디테일을 기억 나는 대로 이 포스팅에 추가해보자.
0개의 댓글