Заметки о дешевом NAS-хранилище Thunderbolt с флэш-памятью: подводные камни операционной системы NUC9
Заметки о дешевом NAS-хранилище Thunderbolt с флэш-памятью: подводные камни операционной системы NUC9

В предыдущей статье я поделился своим личным выбором решения для недорогого флэш-накопителя NAS.

В этой статье мы поговорим об аппаратных компонентах и ​​базовой настройке программного обеспечения, а также о подводных камнях Lightning Networking.

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

Устройство, которое я использую, NUC9i5QNX, основные характеристики оборудования этого устройства можно найти по адресу Найти жилье на сайте Intel ARK。существовать Верхний Главастатья《Дешевые из всех флэш-накопителей гром и молния NAS бросают заметки: сетевое решение извыбирать》середина,Я представил преимущества этого оборудования,Если вам интересно, вы можете прочитать это самостоятельно.

Главный герой этой статьи: NUC9
Главный герой этой статьи: NUC9

Проще говоря, NUC 9 поддерживает большое количество полезных интерфейсов и может продолжать расширять возможности накопителей NVMe или сетевых карт через PCIe.

Богатая поддержка портов NUC 9
Богатая поддержка портов NUC 9

если твой NUC9 Я выбрал версию с видеокартой и надеюсь запустить несколько игр с этой видеокартой. AI программа,Вы также можете обратиться к статье, которую я написал ранее об издва Глава.,бросить:《на основе Docker из Deep Learning Environment: Getting Started Глава》、《на основе Docker Среда глубокого обучения: Windows Глава》,Эти двое Главастатьяболталисуществовать Linux и Windows среду, как просто и правильно настроить GPU Docker среда.

тест Использование изстарый жесткий диск
тест Использование изстарый жесткий диск

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

Прежде чем начинать с ним возиться, поскольку данное устройство выпущено относительно рано (20-21 год назад), рекомендуется сначала обновить биос.

Необходимое обновление BIOS

если аппаратная модель твоего устройства также NUC9i5QN、NUC9i7QN、NUC9i9QN тот, который можно найти в Intel Центр загрузки, найти NUC9 из BIOS Программа обновления, загрузка до этого года 5 луна 9 ВыпущеноизНовая версия прошивки биосаЕсли у вас есть другие устройства,Пожалуйста, найдите подходящую обновленную программу BIOS самостоятельно.

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

Мое прибытие на мобильное устройство по умолчанию: BIOS версия OXCFL579.0045.2020.0617.1710,Не нужно заглядывать на официальный сайт,Уже из названия видно, что это версия, отправленная с завода три года назад. Кстати говоря, для чего была построена эта версия Заканчивать время,дасуществоватьс 9 до 5из Intel Инженеры приступили к сборке в нерабочее время. (должно быть КИ, а не пластическая хирургия человеческой плоти, хаха :-D )

Есть много способов установки BIOS. Мой метод:

  1. Копаясь в коробках и шкафах в поисках кусочка жилья U диск, отформатируйте его в операционной системе (FAT Формат).
  2. Будет скачано хорошо QX0072.cap Размещение файлаприжазез U корневой каталог диска, будет U Вставьте диск в слот объединительной панели устройства и перезагрузите устройство.
  3. существуют Нажмите F7 при запуске устройства, Воспользуйтесь средством обновления BIOS.
  4. выбирать U Тарелкаизобновлениедокумент,Убедитесь, что электропитание стабильно,Дождитесь завершения обновления устройства.

Заканчивать BIOS обновлениепосле,NUC9 По умолчанию компьютер выключается, так что терпеливо ждем завершения прошивкаобновления. Затем включаем компьютер и нажимаем. F2 Входить BIOS Вы можете посмотреть приезжать после обновления из BIOS версия.

существовать BIOS Здесь мы можем отключить некоторые устройства и включить более энергосберегающий спящий режим, который по-прежнему необходим для долго работающих устройств.

Мы можем настроить их позже,существуют До установки операционной системы,Сначала мы обзваниваем все объекты недвижимости,Сначала установите систему.

Если вы просто хотите быстро начать работу,Тогда вы можете избежать ловушек,Читать непосредственно «гром и молния NAS Раздел «Выбор операционной системы».

Я считаю, что у наших читателей есть любители различных операционных систем NAS, поэтому здесь мы поговорим о типичных системных подводных камнях.

Проверьте возможности жесткого диска

тест Linux возможности чтения и записи диска, которые мы можем использовать FIO Чтобы продолжить, сначала установите программное обеспечение:

Язык кода:shell
копировать
apt-get install fio 

Приходите первым, тестируйте последовательное чтение и письмо. 10G из файла, тест приводит к чтению и записи больших файлов, а емкость диска для записи составляет всего лишь 500MB/s о:

Язык кода:shell
копировать
# fio -filename=test -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=10G -numjobs=1 -runtime=600 -group_reporting -name=write

write: (g=0): rw=write, bs=(R) 16.0KiB-16.0KiB, (W) 16.0KiB-16.0KiB, (T) 16.0KiB-16.0KiB, ioengine=psync, iodepth=1
fio-3.33
Starting 1 thread
write: Laying out IO file (1 file / 10240MiB)
Jobs: 1 (f=1): [W(1)][100.0%][w=479MiB/s][w=30.7k IOPS][eta 00m:00s]
write: (groupid=0, jobs=1): err= 0: pid=6608: Mon Sep 11 23:57:20 2023
  write: IOPS=30.7k, BW=479MiB/s (503MB/s)(10.0GiB/21360msec); 0 zone resets
    clat (usec): min=23, max=1107, avg=31.85, stdev= 3.71
     lat (usec): min=24, max=1107, avg=32.10, stdev= 3.71
    clat percentiles (nsec):
     |  1.00th=[29824],  5.00th=[30848], 10.00th=[31104], 20.00th=[31360],
     | 30.00th=[31360], 40.00th=[31616], 50.00th=[31616], 60.00th=[31872],
     | 70.00th=[31872], 80.00th=[32128], 90.00th=[32640], 95.00th=[33024],
     | 99.00th=[34048], 99.50th=[35072], 99.90th=[55552], 99.95th=[63744],
     | 99.99th=[85504]
   bw (  KiB/s): min=488192, max=494656, per=100.00%, avg=491089.52, stdev=1067.40, samples=42
   iops        : min=30512, max=30916, avg=30693.10, stdev=66.71, samples=42
  lat (usec)   : 50=99.84%, 100=0.16%, 250=0.01%, 500=0.01%, 1000=0.01%
  lat (msec)   : 2=0.01%
  cpu          : usr=5.29%, sys=31.13%, ctx=655383, majf=0, minf=0
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=0,655360,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
  WRITE: bw=479MiB/s (503MB/s), 479MiB/s-479MiB/s (503MB/s-503MB/s), io=10.0GiB (10.7GB), run=21360-21360msec

Disk stats (read/write):
  nvme1n1: ios=0/648710, merge=0/220, ticks=0/13924, in_queue=13934, util=99.67%

последовательное чтение файлов,Производительность относительно лучше,900MB/s из уровня:

Язык кода:shell
копировать
# fio -filename=test -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=10G -numjobs=1 -runtime=600 -group_reporting -name=read

read: (g=0): rw=read, bs=(R) 16.0KiB-16.0KiB, (W) 16.0KiB-16.0KiB, (T) 16.0KiB-16.0KiB, ioengine=psync, iodepth=1
fio-3.33
Starting 1 thread
Jobs: 1 (f=1): [R(1)][100.0%][r=900MiB/s][r=57.6k IOPS][eta 00m:00s]
read: (groupid=0, jobs=1): err= 0: pid=6642: Mon Sep 11 23:58:29 2023
  read: IOPS=57.5k, BW=898MiB/s (941MB/s)(10.0GiB/11407msec)
    clat (usec): min=15, max=7055, avg=17.13, stdev=10.42
     lat (usec): min=15, max=7056, avg=17.16, stdev=10.42
    clat percentiles (usec):
     |  1.00th=[   17],  5.00th=[   17], 10.00th=[   17], 20.00th=[   17],
     | 30.00th=[   17], 40.00th=[   17], 50.00th=[   17], 60.00th=[   17],
     | 70.00th=[   17], 80.00th=[   18], 90.00th=[   18], 95.00th=[   19],
     | 99.00th=[   21], 99.50th=[   22], 99.90th=[   91], 99.95th=[  149],
     | 99.99th=[  281]
   bw (  KiB/s): min=906208, max=925824, per=100.00%, avg=919847.27, stdev=4588.69, samples=22
   iops        : min=56638, max=57864, avg=57490.45, stdev=286.79, samples=22
  lat (usec)   : 20=96.86%, 50=2.96%, 100=0.08%, 250=0.07%, 500=0.02%
  lat (usec)   : 1000=0.01%
  lat (msec)   : 10=0.01%
  cpu          : usr=4.91%, sys=24.21%, ctx=655367, majf=0, minf=5
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=655360,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
   READ: bw=898MiB/s (941MB/s), 898MiB/s-898MiB/s (941MB/s-941MB/s), io=10.0GiB (10.7GB), run=11407-11407msec

Disk stats (read/write):
  nvme1n1: ios=654643/3, merge=0/1, ticks=8465/4, in_queue=8471, util=99.23%

Затем попробуйте произвольную запись и чтение, и результаты составят 677 МБ/с и 1412 МБ/с соответственно:

Язык кода:shell
копировать
# fio -filename=test -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=10G -numjobs=1 -runtime=600 -group_reporting -name=write

Run status group 0 (all jobs):
  WRITE: bw=677MiB/s (710MB/s), 677MiB/s-677MiB/s (710MB/s-710MB/s), io=10.0GiB (10.7GB), run=15133-15133msec

Disk stats (read/write):
  nvme1n1: ios=0/645072, merge=0/2, ticks=0/10324, in_queue=10327, util=99.39%

# fio -filename=test -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=10G -numjobs=11 -runtime=600 -group_reporting -name=read

Run status group 0 (all jobs):
   READ: bw=1412MiB/s (1481MB/s), 1412MiB/s-1412MiB/s (1481MB/s-1481MB/s), io=110GiB (118GB), run=79766-79766msec

Disk stats (read/write):
  nvme1n1: ios=7207624/15, merge=0/4, ticks=799526/11, in_queue=799540, util=99.90%

Поэтому эта статья громоздкая. и После подключения молнии к сети максимальная скорость записи не должна отклоняться от этой скорости записи из пикового значения: 503. MB/s приезжать 710 MB/s。

Подождите немного позже, после выбора нового жесткого диска, а затем обновите данные.

Подводные камни сети TrueNAS (FreeNAS) «гром и молния»

TrueNAS Это отличный инструмент коммерциализации с открытым исходным кодом. NAS операционная система, от 2005 С момента запуска проекта прошло почти 20 лет. существовать 2019 К 2020 году проект будет FreeNAS из Имя просто изменено для TrueNAS Core как коммерциализация открытого исходного кода NAS из Часть депозитасуществовать。

Тест установки TrueNAS
Тест установки TrueNAS

TrueNAS Установка очень простая, но по умолчанию в системе нет грома. и молнияводить машину,Хотя в сообществе много дискуссий,Но эффективного стабильного решения не существует.,Или исходный код можно скомпилировать самостоятельноводить машину。

таксуществовать В этом планесередина Нетда Очень подходит,Я могу только временно отказаться.

Необнаруженные ловушки сети грома и молнии

Unraid поддерживает Thunderbolt по сравнению с TrueNAS, но не полностью.

существования Без чрезвычайно глубокого вбрасывания из, можно получить ограниченный изгром и поддержка молния, если вы хотите использовать Unraid Чтобы использовать Lightning Network, рекомендуется заблокировать версию системы.

Unraid Хотя поддержка грома и молния, но из-за проблем с драйвером при реальном использовании будет много мелких проблем, в том числе при использовании грома. и Когда молния передается, существует только один CPU существоватьработа,и в основном снижает производительность,Если в будущем официалы смогут принести аппаратводить машину Исходный код общедоступен,Используйте возможности сообщества открытого исходного кода,Возможно, произойдет изменение в поддержке.

Unraid Драйвер сетевой карты BUG
Unraid Драйвер сетевой карты BUG

Учитывая стабильность проживания с использованием сети гром и молния, я отказался от этого решения.

Unraid активирует молниеносную сеть

Хотя у меня нет выбора Unraid как гром и молния NAS операционная система, но хотелось бы приехать возможно Unraid Это потому, что у некоторых студентов есть хорошая идея, поэтому давайте оставим некоторую информацию, чтобы другие не воспользовались ею позже.

Когда мы поддержим гром и молниеиз устройства установлены Unraid После подключения устройства интерфейс системы по умолчанию будет PCI За исключением журнала устройства, изменений нет. Ожидается, что появится дополнительная страница сетевой карты. thunderbolt Сетевая карта, по сути, по умолчанию ничего не делает.

После подключения кабеля для передачи данных Lightning нам нужно сначала использовать lspci -nnk | grep Thunderbolt Чтобы проверить, правильно ли работает драйвер Thunderbolt:

Язык кода:shell
копировать
# lspci -nnk | grep Thunderbolt

03:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
	Subsystem: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:2088]
04:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
	Subsystem: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:2088]
04:01.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
	Subsystem: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:2088]
04:02.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
	Subsystem: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:2088]
04:04.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
	Subsystem: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:2088]
05:00.0 System peripheral [0880]: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] [8086:15eb] (rev 06)
	Subsystem: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] [8086:2088]
39:00.0 USB controller [0c03]: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] [8086:15ec] (rev 06)
	Subsystem: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] [8086:2088]

Из приведенного выше вывода журнала,Нам удалось посмотреть приезжатьпроходитьводить. машинуидентифицироватьприезжатьизгром и молния оборудование из контроллера есть Intel JHL7540,Поддерживатьгром и молнияверсиягром и молния3。

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

есливодить машинубез Есть проблема,гром и Кабель передачи данных «молния» также подключен, и мы сможем использовать следующую команду (Linux Ядро из Диспетчера устройств) доступ и сбор грома и молнияаппаратное обеспечениеинформация:

Язык кода:shell
копировать
udevadm info -a -p /sys/class/net/thunderbolt0

После выполнения команды,Из информации мы можем видеть примерно следующее:,В том числе гром и молния Сетевая картаиз Различные подробные атрибуты、Подключить сеть Оборудование Подробнее、Согласуйте скорость сети и т.д.:

Язык кода:shell
копировать
# udevadm info -a -p /sys/class/net/thunderbolt0

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:00.0/0000:05:00.0/domain0/0-0/0-1/0-1.0/net/thunderbolt0':
    KERNEL=="thunderbolt0"
    SUBSYSTEM=="net"
    DRIVER==""
    ATTR{carrier_changes}=="1"
    ATTR{dev_id}=="0x0"
    ATTR{carrier_down_count}=="1"
    ATTR{proto_down}=="0"
    ATTR{address}=="02:4c:3f:xx:xx:xx"
    ATTR{operstate}=="down"
    ATTR{link_mode}=="0"
    ATTR{mtu}=="1500"
    ATTR{gro_flush_timeout}=="0"
    ATTR{carrier_up_count}=="0"
    ATTR{ifalias}==""
    ATTR{netdev_group}=="0"
    ATTR{napi_defer_hard_irqs}=="0"
    ATTR{ifindex}=="5"
    ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
    ATTR{type}=="1"
    ATTR{dev_port}=="0"
    ATTR{name_assign_type}=="1"
    ATTR{addr_assign_type}=="0"
    ATTR{addr_len}=="6"
    ATTR{threaded}=="0"
    ATTR{tx_queue_len}=="1000"
    ATTR{iflink}=="5"
    ATTR{flags}=="0x1002"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:00.0/0000:05:00.0/domain0/0-0/0-1/0-1.0':
    KERNELS=="0-1.0"
    SUBSYSTEMS=="thunderbolt"
    DRIVERS=="thunderbolt-net"
    ATTRS{prtcstns}=="0x00000003"
    ATTRS{prtcvers}=="1"
    ATTRS{prtcrevs}=="1"
    ATTRS{key}=="network"
    ATTRS{prtcid}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:00.0/0000:05:00.0/domain0/0-0/0-1':
    KERNELS=="0-1"
    SUBSYSTEMS=="thunderbolt"
    DRIVERS==""
    ATTRS{vendor_name}=="Apple Inc."
    ATTRS{maxhopid}=="15"
    ATTRS{vendor}=="0xa27"
    ATTRS{device}=="0xa"
    ATTRS{rx_lanes}=="1"
    ATTRS{rx_speed}=="20.0 Gb/s"
    ATTRS{unique_id}=="c377841e-xxxx-xxxx-xxxx-ed56be6d2548"
    ATTRS{tx_lanes}=="1"
    ATTRS{tx_speed}=="20.0 Gb/s"
    ATTRS{device_name}=="MacBookPro16,1"

... ...

проходить cat /etc/udev/rules.d/70-persistent-net.rules,Мы видим конфигурацию сетевой карты, автоматически сгенерированную в системе проживания:

Язык кода:shell
копировать
# cat /etc/udev/rules.d/70-persistent-net.rules 
# PCI device 0x8086:0x1533 (igb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="f4:6b:8c:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x15bb (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="f4:6b:8c:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Ссылаясь на приведенную выше конфигурацию и вывод диспетчера устройств, мы можем создать новый файл. /etc/udev/rules.d/71-persistent-net.rules

Язык кода:shell
копировать
# Thunderbolt0
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:4c:3f:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="thunderbolt", NAME="eth3"

При создании информации о конфигурации «Заканчивать»,Выполняем следующую команду,Обновите список диспетчера устройств и активируйте новую сетевую карту:

Язык кода:shell
копировать
udevadm control --reload
udevadm trigger --action=add --attr-match=address="02:4c:3f:xx:xx:xx"

когда вышеиз После выполнения команды,Мы используем следующую команду,соответственнодлясетевая карта Ручная настройка IP адрес, маска, MTU, запускаем сетевую карту:

Язык кода:shell
копировать
ip a add 192.168.123.3/255.255.255.0 dev thunderbolt0
ip link set dev thunderbolt0 mtu 1500
ip link set dev thunderbolt0 up
# Или используйте
ifconfig 192.168.123.3 netmask 255.255.255.0 up

В это время подключите молнию NAS Должны быть "некоторые изменения" в сетевой карте устройства. Такие же настройки выставляем и в подключаемом устройстве. MTU, тот же сегмент сети, новый IP Адрес и IP После маскировки устройством можно будет пользоваться через China Unicom.

Активируйте информацию о сетевой карте в интерфейсе

Несмотря на то, что передача настроена выше, мы смогли передать командную строку для подачигром и молния сетевая карта для передачи данных. но Unraid извеб-интерфейссередина,Эта сетевая карта все равно не появится,хочу решить эту проблему,Нам нужна инструкция Выполните следующую команду:

Язык кода:shell
копировать
echo 1 > /sys/bus/pci/rescan

Когда мы запустим повторное сканирование устройства, на веб-странице появится новая сетевая карта с именем Thunderbolt из.

для Убедитесь, что устройство поддерживает горячее подключение,Состояние гром и молния в норме,Лучше написать скрипт здесь,Регулярно выполняйте эту операцию повторного сканирования.

Проблемы с производительностью сети Unraid Lightning

Если мы используем ethtool Чтобы просмотреть общую информацию о сетевой карте, вы сможете увидеть состояние очереди сетевой карты, которое показывает, что сетевая карта поддерживает балансировку нагрузки передачи вывода и вычислительных задач для нескольких CPU середина Процесс,Значительно улучшит пропускную способность данных,èЭффективно снизить нагрузку на всю машину:

Язык кода:shell
копировать
# root@NAS:~# ethtool -l eth0

Channel parameters for eth0:
Pre-set maximums:
RX:		n/a
TX:		n/a
Other:		1
Combined:	4
Current hardware settings:
RX:		n/a
TX:		n/a
Other:		1
Combined:	4

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

Язык кода:shell
копировать
# root@NAS:~# ethtool -l thunderbolt0
netlink error: Operation not supported

# root@NAS:~# ethtool -L thunderbolt0 combined 8
netlink error: Operation not supported

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

Выбор операционной системы Thunderbolt NAS: Ubuntu

Здесь я выбрализ Ubuntu Рабочий стол: для общего оборудования, включая настройки энергосбережения, поддержку драйверов основного дисплея и т. д., это неплохо. Установить Ubuntu изпроцесси В прошлом не было Нетбольшая разница,все ещедаклишеизтри шага:Скачать изображение、Сделать загрузочный диск、Установите систему.

Как сделать образ загрузочного диска,И основной процесс установки,ссылка«Создание экономичной среды обучения Linux на ноутбуке: основы»серединанестиприезжатьиз Только содержание。

В общем, мы выбираем LTS Это избавит вас от беспокойства, но если вы хотите использовать функцию обновления, вы также можете рассмотреть возможность LTS из релизов нечетного года, таких как 23.04、23.10。Ubuntu из Нет LTS Версияобновлениеприезжать LTS Версия На самом деледа Нет常简单из,Если вы хотите обновить версию операционной системы в будущем,Можетссылка Доизстатья《Ранний доступ Ubuntu 22.04 Jammy Jellyfish》действовать。

Тест скорости сети Lightning

После установки системы,По умолчанию Заканчивать автоматически формирует сеть.,Мы используем гром и молния линия связи Mac и NUC9, сначала выполните передачу.

Мы можем использовать метод приезжатьиз, упомянутый в двух статьях Главы в начале года, когда мы боролись с передачей данных:

MacBook и другие устройства из Недорогое и высокопроизводительное решение для передачи данных (1)》、《MacBook и другие устройства из Недорогое и высокопроизводительное решение для передачи данных (2)》。

Использовать для сравнения Unraid ,Ubuntu выгода огромная и После подключения устройства «молния» можно запустить автоматическое подключение к сети, поэтому мы используем В конфигурации по умолчанию сначала выполняется проверка скорости сети, которая по-прежнему выполняется с одного конца. iperf3 -s Запустите службу, выполните команду на другом конце и отправьте фактические данные для определения производительности полосы пропускания. Чтобы производительность диска не влияла на определение пропускной способности, мы используем -Z Параметр (нулевая копия), чтобы избежать чтения и записи на диск:

Язык кода:shell
копировать
iperf3 -c 169.254.123.142 -f GB --omit 3 -Z

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

Язык кода:shell
копировать
Connecting to host 169.254.123.142, port 5201
[  5] local 10.11.12.90 port 56571 connected to 169.254.123.142 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  13.2 MBytes  0.01 GBytes/sec                  (omitted)
[  5]   1.00-2.00   sec  8.77 MBytes  0.01 GBytes/sec                  (omitted)
[  5]   2.00-3.00   sec  41.8 MBytes  0.04 GBytes/sec                  (omitted)
[  5]   0.00-1.00   sec  44.8 MBytes  0.04 GBytes/sec                  
[  5]   1.00-2.00   sec  46.9 MBytes  0.05 GBytes/sec                  
[  5]   2.00-3.00   sec  46.4 MBytes  0.05 GBytes/sec                  
[  5]   3.00-4.00   sec  42.1 MBytes  0.04 GBytes/sec                  
[  5]   4.00-5.00   sec  42.7 MBytes  0.04 GBytes/sec                  
[  5]   5.00-6.00   sec  44.9 MBytes  0.04 GBytes/sec                  
[  5]   6.00-7.00   sec  44.7 MBytes  0.04 GBytes/sec                  
[  5]   7.00-8.00   sec  47.0 MBytes  0.05 GBytes/sec                  
[  5]   8.00-9.00   sec  44.9 MBytes  0.04 GBytes/sec                  
[  5]   9.00-10.00  sec  19.5 MBytes  0.02 GBytes/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec   424 MBytes  0.04 GBytes/sec                  sender
[  5]   0.00-10.13  sec   425 MBytes  0.04 GBytes/sec                  receiver

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

Это сработало на моей стороне“ноутбукизбеспроводнойсетевая карта”приезжать“NUCпроводная сеть”изканал передачи данных。так,когдая буду NUC9 Подключите сетевой кабель и отключите его, чтобы между устройствами был только шум. и молния После подключения,сделай это снова,Было обнаружено, что скорость передачи немного улучшилась.

но,Скорость благоустройства не оправдала ожиданий приезжающих.,Здесь требуется две простые операции: вручную задать IP устройства, маску и MTU (например, установленный на 9000). Когда установлены значения, связанные с устройством «Заканчивать»,сделай это снова,Вы можете видеть, что мы смогли использовать скорость 10 Gigabit для передачи данных:

Язык кода:shell
копировать
Connecting to host 192.199.199.110, port 5201
[  5] local 192.199.199.100 port 63400 connected to 192.199.199.110 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  1.01 GBytes  1.01 GBytes/sec                  (omitted)
[  5]   1.00-2.00   sec  1.13 GBytes  1.13 GBytes/sec                  (omitted)
[  5]   2.00-3.00   sec  1.20 GBytes  1.20 GBytes/sec                  (omitted)
[  5]   0.00-1.00   sec  1.13 GBytes  1.13 GBytes/sec                  
[  5]   1.00-2.00   sec  1.13 GBytes  1.13 GBytes/sec                  
[  5]   2.00-3.00   sec  1.17 GBytes  1.17 GBytes/sec                  
[  5]   3.00-4.00   sec  1.19 GBytes  1.19 GBytes/sec                  
[  5]   4.00-5.00   sec  1.13 GBytes  1.13 GBytes/sec                  
[  5]   5.00-6.00   sec  1.13 GBytes  1.13 GBytes/sec                  
[  5]   6.00-7.00   sec  1.18 GBytes  1.18 GBytes/sec                  
[  5]   7.00-8.00   sec  1.12 GBytes  1.12 GBytes/sec                  
[  5]   8.00-9.00   sec  1.23 GBytes  1.23 GBytes/sec                  
[  5]   9.00-10.00  sec  1.18 GBytes  1.18 GBytes/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  11.6 GBytes  1.16 GBytes/sec                  sender
[  5]   0.00-10.00  sec  11.6 GBytes  1.16 GBytes/sec                  receiver

iperf Done.

Здесь не указано iperf3 Из параметров форматирования скорость передачи может быть более интуитивно понятной:

Язык кода:shell
копировать
# iperf3 -c 192.199.199.110   -Z      
Connecting to host 192.199.199.110, port 5201
[  5] local 192.199.199.100 port 52954 connected to 192.199.199.110 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  1.14 GBytes  9.75 Gbits/sec                  
[  5]   1.00-2.00   sec  1.16 GBytes  9.97 Gbits/sec                  
[  5]   2.00-3.00   sec  1.16 GBytes  10.0 Gbits/sec                  
[  5]   3.00-4.00   sec  1.17 GBytes  10.0 Gbits/sec                  
[  5]   4.00-5.00   sec  1.17 GBytes  10.0 Gbits/sec                  
[  5]   5.00-6.00   sec  1.16 GBytes  10.0 Gbits/sec                  
[  5]   6.00-7.00   sec  1.16 GBytes  10.0 Gbits/sec                  
[  5]   7.00-8.00   sec  1.16 GBytes  9.99 Gbits/sec                  
[  5]   8.00-9.00   sec  1.16 GBytes  9.96 Gbits/sec                  
[  5]   9.00-10.00  sec  1.17 GBytes  10.0 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  11.6 GBytes  9.97 Gbits/sec                  sender
[  5]   0.00-10.00  sec  11.6 GBytes  9.97 Gbits/sec                  receiver

iperf Done.

Эта скорость уже может достигать скорости 10-гигабитного оптоволокна и 10-гигабитного электрического интерфейса.,Теоретически скорость сети можно изучить дополнительно.,Эта работа будет продолжена в последующих статьях.

Установите MTU сетевой карты с помощью командной строки

Проще говоря, МТУ Повлияет на эффективность передачи данных. Выше мы установили MTU для 9000, это значение на самом деле macOS Поддерживатьмаксимальное значение。

Вышеописанная операция,Фактически, мы можем использовать командную строку для Заканчивать.,В сочетании с некоторыми простыми скриптами,может быть реализованогром и После подключения устройства молния работа автоматизируется. Основная команда. networksetup

Язык кода:shell
копировать
# networksetup --help | grep MTU

networksetup -getMTU <hardwareport or device name>
networksetup -setMTU <hardwareport or device name> <value>
networksetup -listvalidMTUrange <hardwareport or device name>

Три приведенные выше команды в настоящее время macOS Поддерживать MTU Команды настройки предназначены для получения сетевой карты и MTU, установите сетевую карту из MTU,и система просмотрааппаратное обеспечение Поддерживать MTU Числовой диапазон.

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

Язык кода:shell
копировать
# networksetup -listnetworkserviceorder

An asterisk (*) denotes that a network service is disabled.

(1) USB ACM
(Hardware Port: USB ACM, Device: usbmodem14401)

(2) AX88179A
(Hardware Port: AX88179A, Device: en9)

(3) USB 10/100/1000 LAN
(Hardware Port: USB 10/100/1000 LAN, Device: en7)

(4) USB 10/100/1G/2.5G LAN
(Hardware Port: USB 10/100/1G/2.5G LAN, Device: en12)

(5) Link2TP
(Hardware Port: USB 10/100/1G/2.5G LAN, Device: en12)

(6) Thunderbolt Bridge
(Hardware Port: Thunderbolt Bridge, Device: bridge0)

(7) Wi-Fi
(Hardware Port: Wi-Fi, Device: en0)

(8) iPhone USB
(Hardware Port: iPhone USB, Device: en6)

гипотезаздесьнам нужно действоватьизсетевая картадля "Thunderbolt Bridge», то мы можем выполнить следующую команду, чтобы сначала проверить эту сетевую карту. MTU информация:

Язык кода:shell
копировать
# networksetup -getMTU bridge0

Active MTU: 9000 (Current Setting: 9000)

И используйте следующую команду, чтобы установить MTU для сетевой карты для 9000:

Язык кода:shell
копировать
networksetup -setMTU bridge0 9000

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

Язык кода:shell
копировать
# networksetup -setMTU bridge0 65530

Error - 65530 is not in the valid MTU range of 1280-9000
** Error: The parameters were not valid.

Фактическое испытание передачи SCP

существуют без каких-либо настроек из корпуса,тест сколько раз,Возможность видеть, куда приезжать, скорость передачи существует. 450~720 MB/s между。В начале статьи упоминалось, что разница в возможностях жестких дисков не слишком велика.

Язык кода:shell
копировать
# scp -c aes128-ctr /Users/soulteary/Downloads/ubuntu-22.04.3-desktop-amd64.iso 192.199.199.110:

ubuntu-22.04.3-desktop-amd64.iso                                                                                                                                 100% 4804MB 451.6MB/s   00:10

ubuntu-22.04.3-desktop-amd64.iso                                                                                   100% 4804MB 541.9MB/s   00:08

ubuntu-22.04.3-desktop-amd64.iso                                                                                   100% 4804MB 720.7MB/s   00:06    

ubuntu-22.04.3-desktop-amd64.iso                                                                                   100% 4804MB 691.8MB/s   00:06

конечно,Помимо возможностей записи самого жесткого диска,,На разницу в скорости здесь также должен влиять доступный кеш твердотельного диска, кеш-памяти и т.д.,конечно,Существует также влияние алгоритма зашифрованной передачи.,такпо сравнению выше тестиз 1GB/s Что касается скорости, то произошло дальнейшее снижение.

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

Другие идеи: проверка поддержки сетей Thunder и Lightning ESXi 8

ESXi Это очень мощная система виртуализации, о которой мы упоминали в предыдущей статье. Но, к сожалению, ESXi Значение по умолчанию недоступно в изгроме. и мол изния, единственный достоверный контент о поездках, найденный в Интернете, был Apple Grom много лет назад и молния Периферияиз Содержание,водить машинуда Зависит отаппаратное обеспечение供应商нести供из。

Конечно, если мы решим передать гром и молнию непосредственно ESXi Невозможно использовать конкретную виртуальную машину, например, приведенную выше. Ubuntu Установка операционной системы существует ESXi из виртуальной машины, а потомгром и сетевая карта молния и соответствующие из SSD Прямой доступ к устройству.

По сравнению с прямой установкой Ubuntu С этой точки зрения преимуществом этого является то, что у него есть дополнительная общая программа мониторинга оборудования, и может быть удобнее переносить или сохранять данные (в конце концов, это NAS,Данные и система в принципе не имеют зависимостей),Создайте копию виртуальной машины операционной системы методом из.,Проверьте версию хост-системы или обновление программного обеспечения.

новая версияиз ESXi Хоть я и выбираю технику, это на самом деле правильно NUC 9 Все еще довольно дружелюбный. Я проверяю NUC 9 Использование из ESXi версия VMware-ESXi-8.0U1c-22088125-depot.zip,если Вы хотитесуществовать NUC9 Установить на ESXi8,Можетссылкаранееизстатья《Стройте быстрои Установить чистоиз ESXi 8 Руководство по зеркальному отображению》Приходите и сделайте чистый и гигиеничныйиз Установить образ。

Настройка NUC9 для использования с ESXi 8

Используйте сначала docker pull soulteary/easy-esxi-builder:2023.01.29 Загрузка команды ESXi Инструменты для сборки контейнеров:

Язык кода:shell
копировать
# docker pull soulteary/easy-esxi-builder:2023.01.29

2023.01.29: Pulling from soulteary/easy-esxi-builder
Digest: sha256:1dbf9eef564c4657a146887603bb38bc079e18bc7144009814bf4b301ff5931a
Status: Image is up to date for soulteary/easy-esxi-builder:2023.01.29
docker.io/soulteary/easy-esxi-builder:2023.01.29

а потом ESXi пакет программного обеспечения VMware-ESXi-8.0U1c-22088125-depot.zip、Достатьясерединанестиприезжатьиз NVMe Драйвер, USB водить машину、Сообщество Драйвер сетевой карты Ждатьсуществоватьполный,Поместить существующий в текущий каталог,Выполните следующую команду,Получите интерактивную среду сборки:

Язык кода:shell
копировать
docker run --rm -it -v `pwd`:/data soulteary/easy-esxi-builder:2023.01.29

соответственно Выполните следующую команду,придетсяприезжатьодин 600MB Установите файл образа слева и справа:

Язык кода:shell
копировать
# Добавить базовый пакет программного обеспечения
Add-EsxSoftwareDepot /data/VMware-ESXi-8.0U1c-22088125-depot.zip
# добавить в NVMe водить машину
Add-EsxSoftwareDepot /data/nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434.zip
# добавить в общественная сетевая карта водить машину
Add-EsxSoftwareDepot /data/Net-Community-Driver_1.2.7.0-1vmw.700.1.0.15843807_19480755.zip
# добавить в USB-сетевая карта водить машину
Add-EsxSoftwareDepot /data/ESXi80U1-VMKUSB-NIC-FLING-64098092-component-21669994.zip

# Создайте новую конфигурацию образа
New-EsxImageProfile -CloneProfile "ESXi-8.0U1c-22088125-standard" -name "ESXi-8.0U1c-22088125-standard-nic" -vendor "soulteary"

# Воляводить машинуновый результатиз Конфигурация зеркаласередина
Add-EsxSoftwarePackage -ImageProfile "ESXi-8.0U1c-22088125-standard-nic" -SoftwarePackage "nvme-community"
Add-EsxSoftwarePackage -ImageProfile "ESXi-8.0U1c-22088125-standard-nic" -SoftwarePackage "net-community"
Add-EsxSoftwarePackage -ImageProfile "ESXi-8.0U1c-22088125-standard-nic" -SoftwarePackage "vmkusb-nic-fling"

# Сохраните новое изображение
Export-EsxImageProfile -ImageProfile "ESXi-8.0U1c-22088125-standard-nic" -ExportToIso -FilePath /data/ESXi-8.0U1c.iso

Другие опасные инструкции

Подводные камни карты расширения Thunderbolt PCIe

После фактической покупки карты расширения мое личное мнение таково, что она в настоящее время доступна на рынке. и молния PCIe Не рекомендуется покупать, прежде всего, лучшее соотношение цены и качества изгром. и молния4 Выберите материнскую плату для карты расширения (материнская плата должна поддерживать и функция молния), с последующим включением соотношение цена/качество не такое уж и высокое изгром и молния3 плата расширения, для PCIe К интерфейсу есть требования.

У меня есть настольный компьютер Lenovo из "Blade". 9000K 2023», хотя эта машина оснащена Чипсет Z790,Но на самом деле есть только один интерфейс PCIe x4, который можно расширить.,И дизайн хоста,Этот интерфейс видеокарты существует в месте воздухозаборника,Если установлено, это может повлиять на рассеивание тепла видеокарты.

так,Текущий мейнстрим крупных брендов в Интернете изгром и молния Карты расширения PCIe,Его нельзя использовать ни в каком сценарии. Включая, помимо прочего, возможность поиска и приобретения карт расширения Lenovo Home.

плата расширения изгром и молния3 производства Lenovo
плата расширения изгром и молния3 производства Lenovo

Но оно хорошо существует, оборудование еще есть. 20G/s из USB интерфейс, возможность подключения 20G/s Коробка для жесткого диска. У меня есть такой короб для жесткого диска, и я рассмотрю возможность использования этой коробки для жесткого диска для сборки настольного компьютера. NAS / DAS из Временного пространства подкачки.

Выбор и использование памяти

NUC9 i7 и i9 Версия с частотой памяти может поддерживать прибытие 3200, но i5 Версия может поддерживать только приезжать 2666。таксуществовать Памятьвыбиратьначальство,Нет необходимости гоняться за современной высокочастотной памятью.,И понизьте высокочастотную память, чтобы использовать,Рекомендуется использовать относительно дешевые из,Достаточно памяти,Не нужно заполнять его полностью,Особенно если вы не используете виртуализацию.

Дотест Использование из Гуанвэй64GПамять
Дотест Использование из Гуанвэй64GПамять

существуют раньше, я использовал два купленных ранее Guangwei. 32G Хотя память стоила довольно дорого, когда я покупал ее раньше, сейчас цена упала до той же цены, что и раньше. 40%。

2021 Год Поддерживать Новые рекорды заказов на отечественную продукцию
2021 Год Поддерживать Новые рекорды заказов на отечественную продукцию

существуют в процессе запуска тестиз,Большой обмен данными из-за существовать,Будет время от времени "падать",существуют После проверки большого количества оборудования,Использование тестовой машины memtest,Обнаружилось, что были некоторые проблемы с памятью.

Обнаружена ошибка памяти
Обнаружена ошибка памяти

Производитель Guangwei по-прежнему очень надежен.,Вероятно, не через неделю после проверки качества и послепродажного процесса.,Две новые карты памяти были быстро отправлены обратно.

Сервисное обслуживание, были заменены сразу две новые части памяти.
Сервисное обслуживание, были заменены сразу две новые части памяти.

Однако, поскольку на этой машине пока не используется интенсивная виртуализация, она сама 4C8T из Количество ядер не слишком большое, поэтому я заменил его на два, купленные по дешевке на вторичном рынке. 16G Память. В настоящее время проходит memtest «Тест на курицу-гриль», проблем не обнаружил, существует в использовании. ESXi Официальная замена системы До,Потому что для не имеет сценариев использования большой памяти.,Память пока менять не буду.

Вопросы рассеивания тепла

Потому что для есть NAS / DAS (расширение прямого подключения) Назначение, Длина кабеля передачи данных ограничена.,Устройство разместит рабочий стол существующего,Так сколько же тепла выделяет устройство?,Физическое ощущение все еще вполне очевидно.

Фактическое положение NUC 9 после подключения кабеля передачи данных
Фактическое положение NUC 9 после подключения кабеля передачи данных

такздесь Не рекомендуется использовать видеокартуиз Версия,Не использует специальное энергопотребление и не выделяет ненужное тепло из-за расширения оборудования.,включать Не ограничено 10 гигабитами.сетевая карта、10 Гигабитили 40G/56G или выше из оптоволоконной сетевой карты и оптического модуля.

Гром и молния линия связиоборудование,Отсутствие дополнительного отопления и слишком высокая стоимость,Разве это не очень вкусно?

Детали установки отсутствуют

для Чтобы избежать ненужных проблем,Перед установкой рекомендуется сохранить,Перейти к BIOS закрытие “Secure Boot”。

наконец

Эта заметка была написана 9 луна 1 день,Но в последнее время я был очень занят.,Итак, когда я разобрался с этим,Прежде чем я это осознал, была уже середина года.

существуют Hopethislunari,Возможность потратить время на полную настройку этого устройства.,Введен в эксплуатацию,Обновление 1, более конкретная реализация и лучшие практики: D

--EOF


В этой статье используется подпись 4.0 интернациональность (CC BY 4.0)» Лицензионное соглашение, его можно перепечатывать, либо повторно изменять и использовать, но с обязательным указанием источника. подпись 4.0 интернациональность (CC BY 4.0)

Автор статьи: Су Ян

Время создания: 2023Год09луна12день

Статистическое количество слов: 22 330 слов.

Время чтения: 45 минут на чтение.

Ссылка на эту статью: https://soulteary.com/2023/09/12/cheap-pure-flash-thunderbolt-nas-tossing-notes-nuc9-operating-system-pitfalls.html

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода