Создайте недорогой домашний сервер хранения: часть 1
Создайте недорогой домашний сервер хранения: часть 1

В этой статье описан процесс настройки резервного сервера.

напиши впереди

В этом году я рассматриваю возможность создания машины специально для резервного копирования данных. Во-первых, на выход в этом году большой спрос. Историческое оборудование используется уже несколько лет, и для «реле» необходимо новое оборудование; Также хочу проверить надежность решения на спектрумовском уровне, решить некоторые потребности производственной среды, с которой я сталкивался, и проблемы моих друзей.

Поскольку я раньше покупал несколько устройств Synology, а «обновление ЦП» новых продуктов Synology этого года очень «умное», я решил построить такое устройство самостоятельно.

конечный продукт

Если не считать обновления жесткого диска и памяти, вся машина с ИБП стоит почти 2000 юаней. Помимо того, что она является файловым сервером, она также может запускать виртуальные машины и контейнеры Docker. По сравнению с Synology соотношение цена/производительность. гораздо выше.

Четкие потребности

Я надеюсь, что это устройство сможет удовлетворить следующие требования:

1. Он должен поддерживать резервное копирование данных (машина времени) системы macOS. Было бы лучше, если бы он поддерживал Windows (которая будет доступна в производственной среде). 2. Существует хотя бы одно надежное решение, обеспечивающее корректность и надежность записи данных. 3. Система стабильна и надежна и не требует дополнительного обслуживания в течение трех-пяти лет. 4. Относительно небольшой размер и отсутствие шума при работе. 5. За исключением устройств хранения данных (жесткий диск, память), стоимость относительно невелика и может обеспечить быструю замену оборудования для решения проблем доступности.

Кроме того, все предоставленные способности являются «дополнительными очками».

Поскольку основная привлекательность на самом деле связана с программным обеспечением, давайте посмотрим на программное решение.

Выбор операционной системы и программного обеспечения

Решение, которое я предпочитаю, — это система Linux, которая может работать непрерывно и стабильно без перезапуска по желанию, или система NAS, инкапсулированная на основе системы Linux. Минимальный предел — это то, что я могу знать версии программ «samba» и «afp (netatalk). ". В будущем Возможность завершить миграцию.

В этой статье мы сначала используем Ubuntu для завершения создания базового сервиса.

Почему я не выбрал «белое» или «черное яблоко»?

До этого я использовал устройства Mac и совместимое с Mac оборудование (включая этот Elite Desk) для запуска macOS, включил общий доступ к файлам и протестировал «Time Machine».

по сравнению с Linux совместимый протоколпрограммное обеспечение с открытым исходным кодом netatalk[1] Действительно, стабильность намного выше. Однако, если вы решите использовать белое яблоко и хотите ограничить затраты, емкость не сможет соответствовать фактическому использованию, если вы выберете черное яблоко, даже если конфигурация оптимизирована для него; 99% Это доступно, я думаю, что это все еще доступно 1% нестабильные факторы, и мы этого не знаем 1% Когда проблема «сработает» и насколько серьезными будут последствия. Более того, весьма вероятно, что неопределенность гораздо больше, чем 1%。

Почему вы не выбрали Windows?

Потому что в последние годы я в основном не пользовался Windows, и моего знакомства с Windows недостаточно. Более того, в ходе недавнего эксперимента я обнаружил, что все еще существуют некоторые проблемы с длительной работой несерверных версий Windows (я приобрел Лицензии профессиональных версий).

В конце ноября я купил компьютер (Dell Optiplex), купил подлинную Windows 11 и запустил программу в системе с низкой нагрузкой. За последние два месяца я столкнулся с межсистемными сбоями «Удаленного рабочего стола», «автоматическими» обновлениями и перезапусками без предупреждения. Возможно, надежность файлового сервера требует дальнейшей проверки.

Выбор аппаратного решения

Исходя из вышеизложенных требований, я заблокировал диапазон выбора оборудования на HP EliteDesk и Dell Optiplex В двух сериях. После сравнения на этот раз мы выбрали не совершенно новую технику, а остановили свой выбор на технике, которая имеется в изобилии на рынке б/у. Elite Рабочий стол. Наконец выбрал один 2021 активировался годами, потому что 2022 Подержанные хосты выведены из эксплуатации из-за «изменений окружающей среды»: EliteDesk 800G6 SFF(Технические характеристики оборудования[2])。

Если не считать вторичного напыления на шасси для маскировки сильных неровностей при транспортировке, а если протереть шасси спиртом, то видно, что распыленная краска быстро испаряется и будет немного захлебываться, недостатков в принципе нет. (Если его не продезинфицировать, это не сработает. Сама машина не имеет запаха)

Я поленился и выбрал машину с i3-10105T. Стоимость составляет около 1600 юаней. Если у вас есть неработающий процессор, вы можете купить базовую систему примерно за 700–800 юаней.

Почему вы не выбрали новую Synology?

Я приобрел подряд первые два поколения продуктов Synology. DS918+ и DS920+, но для DS 923+, это "обновлено до" AMD Ryzen 1600 Товар действительно не интересный.

Относительно дешевые, упомянутые выше. Характеристики процессора i3-10105t[3]Можетсуществовать Intel Судя по официальному сайту, соотношение цена/качество явно намного выше.

Почему Apple Time Capsule не вариант

Яблочная капсула времени

Судя по внешнему виду, Яблочная капсула времени(Технические характеристики[4])все еще Очень приятно. Однако продукт существует 2018 Производство прекращается каждый год. Если есть проблемы с оборудованием, восстановить сервис, купив такое же оборудование, на самом деле немного хлопотно. Кроме того, даже если продукт будет снят с производства, текущая цена все равно будет немного высокой, поэтому его замена будет болезненной.

Что еще более важно, устройство может вместить только один диск, а само устройство имеет очень ограниченную вычислительную мощность.

Почему я не выбрал корпус жесткого диска массива?

Распространенные марки коробок для массивов жестких дисков

Если у нас уже есть устройство и мы не возражаем против обмена данными через кабели передачи данных USB или Thunderbolt, использование внешнего массива жесткого диска не обязательно является хорошим решением. Самое приятное в этом решении то, что на потребительском рынке существует множество вариантов внешнего вида корпусов для жестких дисков.

Однако большинство массивов жестких дисков не могут предоставлять услуги напрямую и должны использовать «хост» для предоставления услуг, не говоря уже о запуске некоторого программного обеспечения, которое мы хотим запустить. Более того, поскольку вы выбираете сборку устройства и можете использовать более надежный кабель SATA, напрямую подключенный к материнской плате, и более надежный источник питания хоста, решение в виде коробки с жестким диском не очень рентабельно. К тому же «наценка» на этот тип оборудования очень высока.

Поскольку Synology получила «отказ» в начале статьи, «Блок расширения» Synology, естественно, не включен в обсуждение. (и еще дороже)

Почему вы не выбрали сетевой жесткий диск?

Будь то «коробка» ARMbian или OpenWRT, если оборудование надежно, стабильность надежна, стоимость, как правило, низкая, а коэффициент энергоэффективности также очень высок.

Основной причиной отказа от этого решения является надежность оборудования, которая включает в себя три части: рассеивание тепла, возможности ввода-вывода и источник питания.

Коробчатое оборудование обычно пассивно рассеивает тепло.,Итак, если жесткий диск находится «в одной комнате»,Трудно обеспечить приемлемую температуру.,Я не хочу, чтобы этот резервный сервер появлялся“Масса Стиль»; продукты коробчатого типа учитывают энергопотребление и стоимость, поэтому CPU Относительно слабый, ИО Естественно, способность относительно слабая и может заполонить жесткий диск. IO Пропускная способность в принципе невозможна;Блок питания коробчатых изделий много нести нельзякусок Жесткий диск,Поэтому необходим независимый источник питания.,или Требуется упомянутая выше комбинация массивов жестких дисков, которая может получать независимое питание.,Ситуация «маленькая лошадка тащит большую телегу» легко.

Готовая коробочка, я тоже купил ее несколько лет назад WD My Cloud Предыдущая версия Synology ARM Продукт, с точки зрения опыта эффективности передачи, личный опыт действительно не очень хороший.

Подготовка

Теория окончена, пришло время практики.

Приобретение аксессуаров

Я приобрел вышеуказанные аппаратные материалы, а именно:

1. Один агрегат оснащен CPU «Barebones» для тестирования готовой тестовой материнской платы после ее приобретения. ПРОЦЕССОР. 2. Новая модель APC UPS。3.4 Гуанвэй, сделано в Китае. 32G DDR4 Память. 4.2 кусок 4T Western Digital Фиолетовый диск,Используется для проверки данных. 5. Домашний жесткий диск, сделанный в Пекине.,Используется для хранения операционных систем,И не позволяйте механическому жесткому диску переходить в спящий режим из-за запущенных программ. 6. Некоторые аксессуары: кабель для передачи данных и винты для жесткого диска.

общая стоимость 5000 Вперед, рабочее энергопотребление 27 Ватт или около того, в целом все еще очень освежает. Конечно, вы также можете сохранить часть памяти и твердотельный накопитель и купить только оборудование. UPS , нужно только 2000 Идите вперед.

Материнская плата с возможностью расширения

Материнская плата обладает хорошей масштабируемостью и поддерживает ее по умолчанию. 3 кусок SATA жесткий диск 2 кусок NVMe жесткий диск, 4 корневая карта памяти и две PCI-e слот. Для получения полной информации о возможностях расширения, пожалуйста, прочтите «Технические характеристики», упомянутые выше.

Обновление биоса

После получения машины рекомендуется сначала сделать две вещи. Во-первых, войти. BIOS , сбросить параметры к параметрам по умолчанию. Во-вторых, подключите интернет-кабель к машине и затем используйте BIOS Инструмент обновления программного обеспечения в Обновление биоса Обновляйте и избегайте программного обеспечения BUG Проблемы совместимости.

Обновление биосапроцесс

Во время процесса следует учитывать только одно: не отключайте питание, чтобы не повредить BIOS.

Вставьте полную память

Учитывая, что я хочу в будущем запускать на сервере какие-то «пространственно-временные» программы и виртуальные машины, я приобрел 4-полосную память по 32 ГБ, уменьшающую ненужную «осторожность» при распределении ресурсов.

Внутренняя память

После подключения введите BIOS , вы видите нормальное распознавание. Однако, если вы хотите подтвердить, что оборудование в порядке, недостаточно просто просмотреть информацию. Вам также необходимо выполнить Тестирование. оборудования。

Идентификационная информация BIOS

Тестирование оборудования

Есть много способов протестировать оборудование, и это избавит вас от многих проблем, если в вашем BIOS есть инструменты тестирования.

Тестирование оборудования

Если вас это беспокоит, вы можете протестировать еще несколько раз и использовать PE или использовать инструмент тестирования для более непрерывного тестирования после завершения установки системы.

Конечно, в дополнение к одноразовому тесту перед использованием необходимо провести некоторые необходимые тесты на стабильность. Перед фактическим использованием я включил устройство и проработал с ним неделю без каких-либо неожиданных отклонений.

Установка и настройка системы

Состояние ожидания системы

О базовой установке и настройке системы,Может Обратитесь к этой статье《существовать Создайте экономичный ноутбук Linux Среда обучения: основы»[5]

После завершения установки системы нам все еще необходимы некоторые дополнительные настройки, чтобы система работала лучше.

Отключить своп

существовать Ubuntu Средняя полная уборка Запрещать Swap Требуется три шага, первый — закрыть Swap Функция:

Язык кода:javascript
копировать
sudo swapoff -a

Далее отредактируйте файл таблицы разделов. /etc/fstab,удалять Swap связанные записи.

Затем, после перезагрузки машины, удалите «остаточные» файлы.

Язык кода:javascript
копировать
rm -rf /swapfile

После того, как вы выполните вышеуказанные действия, мы используем free -g Проверьте системные ресурсы, и вы сможете увидеть Swap Доступная сумма становится равной нулю:

Язык кода:javascript
копировать
# free -g
               total        used        free      shared  buff/cache   available
Mem:             125           1         123           0           1         123
Swap:              0           0           0

Создайте зеркальный массив Raid 1.

Используйте сначала mdadm --examine Чтобы проверить состояние механического жесткого диска, проверьте, имеют ли два целевых жестких диска одинаковую емкость.

Язык кода:javascript
копировать
# sudo mdadm --examine /dev/sda /dev/sdb

/dev/sda:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)

/dev/sdb:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)

Далее используйте sgdisk -R Согласуйте таблицы разделов двух дисков:

Язык кода:javascript
копировать
sudo sgdisk /dev/sda -R /dev/sdb

После копирования таблицы разделов необходимо разбить один из дисков UUID обновить,избегайте операционной системысуществоватьиспользоватьпроблемы возникают, когда。

Язык кода:javascript
копировать
sudo sgdisk /dev/sdb -G

Затем используйте mdadm --create --level=mirror Создайте дополнительный дисковый массив:

Язык кода:javascript
копировать
# sudo mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sda /dev/sdb

mdadm: /dev/sda appears to be part of a raid array:
       level=raid1 devices=2 ctime=Thu Jan  5 20:47:30 2023
mdadm: partition table exists on /dev/sda but will be lost or
       meaningless after creating array
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: partition table exists on /dev/sdb
mdadm: partition table exists on /dev/sdb but will be lost or
       meaningless after creating array
Continue creating array? 
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

создать Дисковый массив нужно подождать некоторое время,Срок выполнения и емкость диска, которой вам хватит на покупку,И протокол передачи данных диска и материнской платы,и ваше устройство CPU Вычислительная мощность – все взаимосвязано.

Мы всегда можем пройти cat /proc/mdstat Чтобы проверить ход построения массива:

Язык кода:javascript
копировать
# cat /proc/mdstat

HP-EliteDesk-800-G6-Small-Form-Factor-PC: Thu Jan  5 21:50:56 2023

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb[1] sda[0]
      3906886464 blocks super 1.2 [2/2] [UU]
      [=>...................]  resync =  9.6% (375538432/3906886464) finish=325.5min speed=180783K/sec
      bitmap: 28/30 pages [112KB], 65536KB chunk

unused devices: <none>

Когда построение массива завершено, проверяем еще раз mdstat Когда вы увидите вывод журнала, аналогичный следующему:

Язык кода:javascript
копировать
# sudo cat /proc/mdstat

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sdb[1] sda[0]
      3906886464 blocks super 1.2 [2/2] [UU]
      bitmap: 0/30 pages [0KB], 65536KB chunk

unused devices: <none>

Мы также можем использовать mdadm --detail Чтобы просмотреть подробную информацию о массиве:

Язык кода:javascript
копировать
# sudo mdadm --detail /dev/md0

/dev/md0:
           Version : 1.2
     Creation Time : Thu Jan  5 21:15:24 2023
        Raid Level : raid1
        Array Size : 3906886464 (3.64 TiB 4.00 TB)
     Used Dev Size : 3906886464 (3.64 TiB 4.00 TB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Fri Jan  6 23:29:38 2023
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : 0
              UUID : bd87e586:257740d3:5fd50282:ccc8b145
            Events : 6144

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       16        1      active sync   /dev/sdb

Прервать процесс создания массива

Если вы существовали во время сборки,по каким-то причинам,Хочу прекратить строительство,Можетиспользовать idle чтобы прервать сборку или использовать frozen Приостановите задачу, когда она придет.

Язык кода:javascript
копировать
echo idle > /sys/block/md0/md/sync_action
echo frozen > /sys/block/md0/md/sync_action

Если вы хотите полностью перестроить массив, вы можете использовать следующую команду, чтобы вернуть массив в предыдущее состояние:

Язык кода:javascript
копировать
sudo mdadm -Esv
sudo mdadm --stop /dev/md*

Использование дисковых массивов в вашей системе

После завершения построения массива,Хотите использовать дисковый массив,Сначала необходимо завершить монтирование диска и его инициализацию (форматирование).

Язык кода:javascript
копировать
# sudo mkfs.ext4 /dev/md0

mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done                            
Creating filesystem with 976721616 4k blocks and 244187136 inodes
Filesystem UUID: f7014dd5-b7b1-466c-ae42-2b49c43cbb57
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
    102400000, 214990848, 512000000, 550731776, 644972544

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done   

Вручную смонтируйте диск в /data Для этого пути мы можем сделать это:

Язык кода:javascript
копировать
sudo mkdir /data
sudo mount /dev/md0 /data

а затем использовать df Чтобы проверить готовность диска:

Язык кода:javascript
копировать
# df -h /data

Filesystem      Size  Used Avail Use% Mounted on
/dev/md0        3.6T   28K  3.4T   1% /data

Когда на самом деле использовать,Например, после того как у нас файл на разделе существует,Диск автоматически выполнит действие по зеркалированию файлов.,Повышение надежности доступа к файлам.

Язык кода:javascript
копировать
# touch /data/test.go
# sudo mdadm --examine /dev/sda /dev/sdb

/dev/sda:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : bd87e586:257740d3:5fd50282:ccc8b145
           Name : 0
  Creation Time : Thu Jan  5 21:15:24 2023
     Raid Level : raid1
   Raid Devices : 2

 Avail Dev Size : 7813772976 sectors (3.64 TiB 4.00 TB)
     Array Size : 3906886464 KiB (3.64 TiB 4.00 TB)
  Used Dev Size : 7813772928 sectors (3.64 TiB 4.00 TB)
    Data Offset : 264192 sectors
   Super Offset : 8 sectors
   Unused Space : before=264112 sectors, after=48 sectors
          State : clean
    Device UUID : da33683e:54478a8b:cd6fd10e:1a19114c

Internal Bitmap : 8 sectors from superblock
    Update Time : Fri Jan  6 23:29:14 2023
  Bad Block Log : 512 entries available at offset 24 sectors
       Checksum : 5ad089e9 - correct
         Events : 6144


   Device Role : Active device 0
   Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdb:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : bd87e586:257740d3:5fd50282:ccc8b145
           Name : 0
  Creation Time : Thu Jan  5 21:15:24 2023
     Raid Level : raid1
   Raid Devices : 2

 Avail Dev Size : 7813772976 sectors (3.64 TiB 4.00 TB)
     Array Size : 3906886464 KiB (3.64 TiB 4.00 TB)
  Used Dev Size : 7813772928 sectors (3.64 TiB 4.00 TB)
    Data Offset : 264192 sectors
   Super Offset : 8 sectors
   Unused Space : before=264112 sectors, after=48 sectors
          State : clean
    Device UUID : 577ef05f:fa66ff02:8e4085c0:03d798ec

Internal Bitmap : 8 sectors from superblock
    Update Time : Fri Jan  6 23:29:14 2023
  Bad Block Log : 512 entries available at offset 24 sectors
       Checksum : 460982b8 - correct
         Events : 6144


   Device Role : Active device 1
   Array State : AA ('A' == active, '.' == missing, 'R' == replacing)

Однако диск, смонтированный вручную выше, будет автоматически освобожден при перезапуске устройства. Нам нужно снова вручную смонтировать устройство.

Для решения этой проблемы нам необходимо настроить fstab контент в , в то время как fstab Нам нужно сначала получить «UUID» массива и обновить его. mdadm Конфигурация:

Язык кода:javascript
копировать
# sudo mdadm --detail --scan --verbose | sudo tee -a /etc/mdadm/mdadm.conf

ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 name=0 UUID=bd87e586:257740d3:5fd50282:ccc8b145
   devices=/dev/sda,/dev/sdb

получать UUID Вам необходимо использовать следующую команду, и вы не можете использовать ее напрямую mdadm Выход ID:

Язык кода:javascript
копировать
# sudo dumpe2fs /dev/md0 |grep UUID

dumpe2fs 1.46.5 (30-Dec-2021)
Filesystem UUID:          f7014dd5-b7b1-466c-ae42-2b49c43cbb57

Затем добавьте следующее в /etc/fstab середина:

Язык кода:javascript
копировать
UUID=f7014dd5-b7b1-466c-ae42-2b49c43cbb57 /dev/md0   /mnt/mirror   ext4   defaults   0   0

После завершения обновите initramfs,Затем перезагрузите устройство,Проверьте, способна ли система существовать при загрузке,Обычно раздел массива монтируется в /data Пути достаточно.

Язык кода:javascript
копировать
# sudo update-initramfs -u

update-initramfs: Generating /boot/initrd.img-5.15.0-57-generic

Установить файловый сервис

Установить файловый Есть много вариантов обслуживания,Например, предыдущие статьи«Частная облачная среда, установленная в ноутбуке: Сетевое хранилище (Часть 2)» [6]упомянул S3 Заменять MinIO или Syncthing、NextCloud。

Однако, чтобы позволить Mac 、Windows Устройство может напрямую использовать службу и выполнять резервное копирование. Мы можем рассмотреть возможность использования. samba или netatalk поставлять smb или afp Возможности протокола по доступу к файлам. Если вы хотите использовать локальный напрямую samba или netatalk программа, используйте напрямую apt install Вот и все:

Язык кода:javascript
копировать
sudo apt-get install samba -y

Если вы считаете, что это недостаточно экологично, используйте docker версия samba или netatalk Это неплохая идея。например,Stanback/alpine-samba[7]

конечно,Управление пользователями (добавление, деактивация, удаление, изменение паролей) может быть обременительным.,Но это, по сути, разовые затраты.,Или, может быть, все в порядке. (Также возможно,Правильнее было бы вынести в отдельную статью)

После того, как мы завершим запуск службы, мы сможем найти этот «сервер хранения» в сети.

Обнаружение сетевых служб

и подключитесь к серверу по протоколу Samba.

Доступ к данным с помощью Samba

Далее, если вы хотите, вы можете напрямую использовать «машину времени», поставляемую в комплекте с системой, для резервного копирования данных вашего устройства.

наконец

Потому что я был занят в последнее время,Эта статья «Длинный фронт» длится уже около двух недель.,В процессе могут быть некоторые упущения,Если у вас есть вопросы или советы,Обратная связь приветствуется.

В следующей статье поговорим о том, как решить неудобную проблему «управления ресурсами».

--EOF

Справочная ссылка

[1] программное обеспечение с открытым исходным кодом netatalk: https://netatalk.sourceforge.io/ [2] Технические характеристики оборудования: https://h20195.www2.hp.com/v2/getpdf.aspx/4aa7-7943enuc.pdf [3] i3-10105t CPU Спецификация: https://www.intel.com/content/www/us/en/products/sku/201890/intel-core-i310105t-processor-6m-cache-up-to-3-90-ghz/specifications.html [4] технология Спецификация: https://support.apple.com/kb/SP679?viewlocale=zh_CN&locale=zh_HK [5] 《существовать Создайте экономичный ноутбук Linux Среда обучения: Основы》: https://soulteary.com/2022/06/21/building-a-cost-effective-linux-learning-environment-on-a-laptop-the-basics.html [6] «Частная облачная среда, установленная в ноутбуке, существует: Сетевое хранилище (Часть 2)»: https://soulteary.com/2021/11/09/private-cloud-environment-installed-in-a-notebook-storage-part-2.html [7] Stanback/alpine-samba: https://github.com/Stanback/alpine-samba

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose