FriendlyElec (NanoPC) CM3588 — это решение на базе RK3588 с памятью LPDDR4x 4/8/16 ГБ и флэш-памятью eMMC объемом 0/64 ГБ. Первоначальная несущая плата, выпущенная вместе с CM3588, оснащена 4 слотами M.2 NVMe SSD (PCIe 3.0 x1 каждый) и портом RJ45 со скоростью 2,5 Гбит/с, что делает ее привлекательным вариантом для маломощного бесшумного NAS по цене 130/145/174 доллара в зависимости от объема оперативной памяти. приобретаемая вами конфигурация.
Я заказал это в ответ на видео LTT. Я видел, как несколько человек изо всех сил пытались их настроить, и решил предложить несколько основных руководств, чтобы помочь тем, кому нужна помощь в настройке и работе своего NAS.
Я буду использовать предварительно скомпилированный установщик Debian 12, который можно найти здесь. ( 01_Официальные изображения > 02_Образы SD-to-eMMC > rk3588-eflasher-debian-bookworm-core-6.1-arm64-xxxxxxxxx.img.gz)
Вики FriendlyElec на самом деле довольно хороша, но она может показаться стеной текста/команд, которую нужно запустить, и может быть ошеломляющей для нового пользователя.
Хотите подключить его через POE+? Я использовал этот адаптер и проверил, что он обеспечивает мощность до 25 Вт и пропускную способность 2,5 Гбит/с.
Типичное энергопотребление с 4 накопителями Micron 2300 NVMe и (2) вентиляторами Noctua NF-A4x10 при 5 В:
В моем тестировании я обнаружил, что передача на линейной скорости (2,5 Гбит/с) использует около 35% ресурсов ЦП и примерно 15–20 Вт.
Я переделал корпус CM3588-NAS от sgofferj, чтобы разместить винты для вентиляторов корпуса (M5.5), которые идут в комплекте с вентиляторами Noctua. Вы можете найти это здесь.
Поскольку я купил модель eMMC с 8 ГБ ОЗУ и 64 ГБ, для этого руководства я буду использовать установочный образ SD to eMMC. Вам понадобится карта MicroSD емкостью 8 ГБ или больше.
По умолчанию есть 2 аккаунта.
В этом руководстве мы будем:
Используйте свой любимый инструмент для подключения к устройству по SSH.
passwd
Введите новый пароль и подтвердите.
Мы собираемся создать собственного пользователя, поэтому он нам не нужен.
deluser pi
В этом примере я использую nas, но вы можете назвать его как хотите, тогда мы добавим его в группу sudoers.
useradd nas
passwd nas
usermod -aG sudo nas
Это сделано в целях безопасности, поскольку имя пользователя всегда root, а права доступа не ограничены.
nano /etc/ssh/sshd_config
Перейдите к строке 33, измените PermitRootLogin yes
на PermitRootLogin no
.
systemctl restart sshd
exit
SSH снова войдете в качестве вновь созданного пользователя.
По умолчанию исходный файл поставляется с зеркалом, расположенным в Китае. Это нормально , но было бы намного быстрее, если бы вы использовали локальные источники Debian apt. Поэтому мы изменим их обратно. Я их пока прокомментировал.
mv /etc/apt/sources.list /etc/apt/sources.list.old
nano /etc/apt/sources.list
# deb https://mirrors.aliyun.com/debian bookworm main non-free contrib
# deb-src https://mirrors.aliyun.com/debian bookworm main non-free contrib
# deb https://mirrors.aliyun.com/debian-security bookworm-security main
# deb-src https://mirrors.aliyun.com/debian-security bookworm-security main
# deb https://mirrors.aliyun.com/debian bookworm-backports main non-free contrib
# deb-src https://mirrors.aliyun.com/debian bookworm-backports main non-free contrib
deb http://deb.debian.org/debian bookworm main non-free-firmware
deb-src http://deb.debian.org/debian bookworm main non-free-firmware
deb http://deb.debian.org/debian-security/ bookworm-security main non-free-firmware
deb-src http://deb.debian.org/debian-security/ bookworm-security main non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates main non-free-firmware
deb http://deb.debian.org/debian bookworm-backports main non-free-firmware
deb-src http://deb.debian.org/debian bookworm-backports main non-free-firmware
Чтобы установить ZFS, нам сначала нужно установить заголовки Linux для нашего ядра, чтобы добавить поддержку DKMS.
К счастью, предварительно скомпилированные заголовки уже можно найти в /opt/archives.
sudo -i
dpkg -i /opt/archives/linux-headers-6.1.57_6.1.57-11_arm64.deb
Теперь, когда у нас есть заголовки Linux, мы можем использовать apt для установки ZFS.
sudo apt install zfs-dkms
sudo apt install zfsutils-linux
Теперь, когда ZFS установлена, мы попытаемся запустить команду, чтобы проверить, действительно ли ZFS и DKMS работают.
zpool status
Если это сработает, он сообщит, что у нас 0 пулов. Если вы получаете сообщение об ошибке: «Модули ZFS не загружены. Попробуйте запустить '/sbin/modprobe zfs' от имени пользователя root, чтобы загрузить их», это означает, что DKMS не работает должным образом, и вы, вероятно, пропустили шаг выше или он не удалось скомпилировать, что должно было привести к ошибке.
Теперь, когда у нас работает ZFS, мы можем создать пул ZFS. У вас есть несколько вариантов, в зависимости от того, какую избыточность или производительность вы хотите. Я бы порекомендовал следующие варианты, хотя есть и еще несколько. Вам придется проверить документацию ZFS на наличие других типов массивов.
RAIDZ1 (РАИД 5)
zpool create mypool raidz nvme0n1 nvme1n1 nvme2n1 nvme3n1
Зеркало (РАИД 1)
zpool create mypool mirror nvme0n1 nvme1n1 nvme2n1 nvme3n1
Полосатое зеркало (RAID 10)
zpool create mypool mirror nvme0n1 nvme1n1 mirror nvme2n1 nvme3n1
Теперь, если мы запустим zpool status
мы должны получить что-то вроде этого:
$zpool status
pool: mypool
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
mypool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
nvme0n1 ONLINE 0 0 0
nvme1n1 ONLINE 0 0 0
nvme2n1 ONLINE 0 0 0
nvme3n1 ONLINE 0 0 0
errors: No known data errors
Массив будет смонтирован в /mypool (или как вы его назвали). Вы можете переместить точку монтирования в другое место:
zfs set mountpoint=/mnt/storage mypool
Поскольку это все SSD-массив, я рекомендую включить автообрезку. Trim отмечает недопустимые данные и сообщает SSD игнорировать их во время процесса сборки мусора, позволяя SSD выполнить некоторую очистку на своей стороне.
zpool set autotrim=on mypool
Как только это будет завершено, вы будете готовы установить все, что захотите.