Долго приходилось размещаться на микроскопической машинке с двухядерным процессором и 4-мя Гб оперативной памяти. Отдельное NAS хранилище, вычисления на рабочем компьютере не создавали ощущения целостности и было решено основать действительно удобную среду для размещения всех служб в одном месте.
Необходимо было собрать бесшумный сервер, достаточно мощный для выполнения статистических вычислений, транскодирования видео на лету, хранения файлов и личного web-хостинга.
В итоге сервер был собран в следующей конфигурации:
- MB: ASRock AB350M Pro4
- CPU: AMD Ryzen 1600 (6 ядер, 12 потоков)
- Cooler: Thermalright Macho Rev.B
- RAM 16 Gb: M391A1G43EB1-CPBQ (ECC) X2
- SSD 128Gb: KINGSTON SKC400S
- External USB RAID: WD My Book Duo (raid 10)
- PSU: Corsair RM550x
- Case: Fractal Design: Define C
Machine:
Mobo: ASRock model: AB350M Pro4
Bios: American Megatrends v: P3.30 date: 11/10/2017
CPU: Multi core AMD Ryzen 5 1600 Six-Core (-MCP-) cache: 6144 KB bmips: 76647 clock speeds: min/max: 1550/3200
CPU Flags: 3dnowprefetch abm adx aes aperfmperf apic arat avx avx2 bmi1 bmi2 bpext clflush clflushopt clzero cmov cmp_legacy constant_tsc cr8_legacy cx16 cx8 de decodeassists eagerfpu extapic extd_apicid f16c flushbyasid fma fpu fsgsbase fxsr fxsr_opt ht hw_pstate lahf_lm lbrv lm mca mce misalignsse mmx mmxext monitor movbe msr mtrr mwaitx nonstop_tsc nopl npt nrip_save nx osvw pae pat pausefilter pclmulqdq pdpe1gb perfctr_core perfctr_l2 perfctr_nb pfthreshold pge pni popcnt pse pse36 rdrand rdseed rdtscp rep_good sep sha_ni skinit smap smep sse sse2 sse4_1 sse4_2 sse4a ssse3 svm svm_lock syscall tce topoext tsc tsc_scale vmcb_clean vme vmmcall wdt xgetbv1 xsave xsavec xsaveopt
Memory: Array-1 capacity: 64 GB devices: 4 EC: Multi-bit ECC
Device-2: DIMM 1 size: 8 GB speed: 1067 MHz type: DDR4 (Synchronous Unbuffered (Unregistered)) bus width: 128 bits manufacturer: Samsung part: M391A1G43EB1-CPB
Device-4: DIMM 1 size: 8 GB speed: 1067 MHz type: DDR4 (Synchronous Unbuffered (Unregistered)) bus width: 128 bits manufacturer: Samsung part: M391A1G43EB1-CPB
ID-2: /dev/sdb model: KINGSTON_SKC400S size: 128.0GB
ID-3: USB /dev/sdc model: My_Book_Duo_0A12 size: 3000.6GB
Сервер получился действительно бесшумным. Единственный звук – работа жестких дисков внешнего HDD My Book Duo.
Сервер работает под управлением Ubuntu Server 16.04. (ESXi не взлетел) Если в дальнейшем возникнет необходимость установки PCIe RAID контроллера, то идея использовать ESXi скорее всего вернетя, но сейчас от нее пришлось отказаться.
Связка Ubuntu Server 16.04 + VirtualBox показала себя достаточно надежной при эксплуатации на предыдущей машине (хоть и не надет таких возможностей как ESXi).
Сперва в планах была организация сервера виртуальных машин под управлением ESXi. Никаких проблем с установкой не возникло. Однако, ESXi наотрез отказалась работать с USB 3.0 устройствами на полной скорости. Жесткие диски работали со скоростью не более 30 мб/с. Стабильных способов заставить работать устройства на полной скорости не нашлось. Поэтому пришлось работать со связкой Ubuntu + VirtualBox.
Существуют и другие гипервизоры, но в связи с отсутствием опыта работы с ними было решено идти по известному пути и просто перенести работающие машины на новый сервер.
Процесс установки Ubuntu Server и VirtualBox не описываю, т.к. существует большое количество статей по этим вопросам.
Перенос прошел без осложнений. Сперва виртуальные машины были экспортированы в OVA формат, а затем установлены в новом окружении. Для распределения ресурсов и с точки зрения безопасности были установлены следующие виртуальные машины:
- Медиасервер (Twonky, PLEX), SMB сервер для музыки, фото и видео
- Статистический сервер SAS University Edition
- Web-сервер
- SMB сервер для рабочих файлов
- JVM, TomCat, R Project
Все кроме SAS University Edition управляются Ubuntu Server 16.04.
Для медиасервера выделена отдельная ВМ так как службы вроде Twonky и PLEX не отличаются хорошей безопасностью – спокойней их запускать в собственном окружении. Там же функционирует Samba сервер для некритичных файлов.
SAS University Edition идет самостоятельной виртуальной машиной – тут выбора нет. Кроме того, SAS UE дает доступ к web-интерфейсу без авторизации, а это означает, что имеет смысл органичить доступ к этой машине фаерволом. Но при всех недостатках размещение SAS UE делат возможным доступ к нему с любого домашнего компьютера, доступ из внешней сети разумеется только после подключения по VPN к частной. Такая реализация дает возможность проведения статистических вычислений практически без существенных ограничений и с любой по мощности системы. Разумеется все вычисления должны проводится в целях обучения и для некоммерческого использования (Разъяснения можно посмотртье тут: What are the permitted uses of SAS University Edition?).
Web-сервер для сайта, web-интерфейс для облачного хранения файлов. В том числе планируется реализация web-интерфейса для задач по статистическим вычислениям.
Samba сервер для рабочих файлов внутри домашней сети. Никак не связан с другими сервисами хранения файлов.
JVM, TomCat, R Project – выделенная машина для Java-приложений. Т.к. вычисления могут загрузить 100% ресурсов CPU, то запуск таких задач в собственном окружении надежно решает проблему выделения вычислительных ресурсов, а также защищает от сбоев в реализации.
В итоге на одном физическом сервере функционируют 5 виртуальных маших, каждая из которых решает свой круг задач. Среди особенностей надо отметить удачные находки: материнская плата ASRock AB350M Pro4, которая позволяет работать с ECC оперативной памятью в режиме коррекции ошибок (если при этом установлен процессор AMD Ryzen 1Х00), при этом у нее отличная система управлени скоростью вращения вентиляторов, которая позволяет задать скорость вращения от 0 до 100% (именно от 0, т.е. вентилатор не вращается, а не как на многих других платах, где регулировки доступны только в режиме 20-100%); процессор AMD Ryzen 1600, 12-ти поточный недорогой процессор с тепловыделением 65 Вт, который позволяет сделать систему бесшумной и достаточно гибко распределять вычислительные ресурсы; кулер Thermalright Macho Rev.B в новых поставках содержит набор креплений для AM4, позволяет в пассивном режиме отводить тепло при работе процессора при средней загрузке; блок питания Corsair RM550x 95% времени в бесшумном режиме и включается только при экстремальных нагрузках; корпус Fractal Design Define C удобный для работы и прекрасно вписывается в любой интерьер.